Kaggle入门 (Titanic XGBoost)
生活随笔
收集整理的這篇文章主要介紹了
Kaggle入门 (Titanic XGBoost)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
本文接前文Kaggle入門,主要的區(qū)別是更換了分類器XGBoost。
# -*- coding: utf-8 -*-import pandas as pd import xgboost as xgb# 讀訓(xùn)練數(shù)據(jù) data = pd.read_csv('data/train.csv')#數(shù)據(jù)預(yù)處理 data['Sex'] = data['Sex'].apply(lambda s: 1 if s == 'male' else 0) #把性別從字符串類型轉(zhuǎn)換為0或1數(shù)值型數(shù)據(jù) data = data.fillna(0) #缺失字段填0 # 選取特征 X_train = data[['Sex', 'Age', 'Pclass', 'SibSp', 'Parch', 'Fare']].as_matrix() #字段說明:性別,年齡,客艙等級,兄弟姐妹和配偶在船數(shù)量,父母孩子在船的數(shù)量,船票價格# 建立標簽數(shù)據(jù)集 y_train = data['Survived']#訓(xùn)練模型 model = xgb.XGBClassifier(max_depth=10, n_estimators=300, learning_rate=0.01).fit(X_train, y_train)# 讀測試數(shù)據(jù) testdata = pd.read_csv('data/test.csv')#數(shù)據(jù)清洗, 數(shù)據(jù)預(yù)處理 testdata = testdata.fillna(0) testdata['Sex'] = testdata['Sex'].apply(lambda s: 1 if s == 'male' else 0)#特征選擇 X_test = testdata[['Sex', 'Age', 'Pclass', 'SibSp', 'Parch', 'Fare']].as_matrix()#評估模型 predictions = model.predict(X_test)# 保存預(yù)測結(jié)果 submission = pd.DataFrame({ 'PassengerId': testdata['PassengerId'],'Survived': predictions }) submission.to_csv("titanic_xgboost_submission.csv", index=False)總結(jié)
以上是生活随笔為你收集整理的Kaggle入门 (Titanic XGBoost)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Kaggle入门 (Titanic Te
- 下一篇: ES2016 ES2017