Kaggle入门 (Titanic XGBoost)

本文接前文Kaggle入门,主要的区别是更换了分类器XGBoost。

# -*- coding: utf-8 -*-


import pandas as pd
import xgboost as xgb



# 读训练数据
data = pd.read_csv('data/train.csv')

#数据预处理
data['Sex'] = data['Sex'].apply(lambda s: 1 if s == 'male' else 0) #把性别从字符串类型转换为0或1数值型数据
data = data.fillna(0) #缺失字段填0
# 选取特征
X_train = data[['Sex', 'Age', 'Pclass', 'SibSp', 'Parch', 'Fare']].as_matrix()
#字段说明:性别,年龄,客舱等级,兄弟姐妹和配偶在船数量,父母孩子在船的数量,船票价格

# 建立标签数据集
y_train = data['Survived']

#训练模型
model = xgb.XGBClassifier(max_depth=10, n_estimators=300, learning_rate=0.01).fit(X_train, y_train)



# 读测试数据
testdata = pd.read_csv('data/test.csv')
    
#数据清洗, 数据预处理
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)

# 保存预测结果
submission = pd.DataFrame({ 'PassengerId': testdata['PassengerId'],
                            'Survived': predictions })
submission.to_csv("titanic_xgboost_submission.csv", index=False)



  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值