kaggle泰坦尼克号之灾-小白极简版

2020-03-15  本文已影响0人  XiWeidong
例子描述:

比赛地址:https://www.kaggle.com/c/titanic
使用乘客数据(即姓名,年龄,性别,社会经济舱等),建立一个预测模型来回答以下问题:“什么样的人更有可能生存?” 。这是一个只适合小白的极简版本,不求排名,只求入门。

所需环境:Anaconda3

下载并安装:Anaconda3-2020.02-Windows-x86_64.exe
下载页面:https://www.anaconda.com/distribution/
下载地址:https://repo.anaconda.com/archive/Anaconda3-2020.02-Windows-x86_64.exe

3个步骤:
  1. 阅读比赛介绍,下载数据集
  2. 导入数据集
  3. 选择特征作为训练数据
  4. 构建模型
  5. 预测测试数据生成gender_submission.csv文件,用于提交到kaggle
  6. 上传gender_submission.csv文件到kaggle

1. 阅读比赛介绍,下载数据集

比赛介绍:https://www.kaggle.com/c/titanic/overview

下载数据集:https://www.kaggle.com/c/titanic/data

image.png

2. 导入数据集

打开Anaconda3并启动Jupyter Notebook


image.png image.png 新建Python文件编写代码

编写代码:

#导入相关模块
import numpy as np 
import pandas as pd
#导入数据
train_data = pd.read_csv("D:/Anaconda3/notebook/kaggle/Titanic/data/train.csv") #你下载的数据集文件路径,不要用中文
train_data.head() #查看前5行数据

3. 选择特征作为训练数据

  1. PassengerID(ID)
  2. Survived(存活与否)
  3. Pclass(客舱等级,较为重要)
  4. Name(姓名,可提取出更多信息)
  5. Sex(性别,较为重要)
  6. Age(年龄,较为重要)
  7. Parch(直系亲友)
  8. SibSp(旁系)
  9. Ticket(票编号)
  10. Fare(票价)
  11. Cabin(客舱编号)
  12. Embarked(上船的港口编号)
features = ["Pclass", "Sex", "SibSp", "Parch"]  #四个特征
X = pd.get_dummies(train_data[features])  #构造训练样本数据
y = train_data["Survived"]  #构造训练标签数据

为了简单,这里只选择4个特征用于模型训练

4. 构建模型

from sklearn.ensemble import RandomForestClassifier #使用随机森林
model = RandomForestClassifier(n_estimators=100, max_depth=5, random_state=1) #构造模型
model.fit(X, y) #训练模型

5. 预测测试数据生成gender_submission.csv文件,用于提交到kaggle

X_test = pd.get_dummies(test_data[features]) #选择特征,构造测试样本数据
predictions = model.predict(X_test)  #对测试数据继续预测
output = pd.DataFrame({'PassengerId': test_data.PassengerId, 'Survived': predictions})
output.to_csv('D:/Anaconda3/notebook/kaggle/Titanic/data/gender_submission.csv', index=False) #保存预测结果
print("预测结果gender_submission.csv文件保存成功,可以提交到kaggle了")

6. 上传gender_submission.csv文件到kaggle

提交文件 选择文件然后提交

这里有个错误,是因为提交文件需要翻墙

翻墙后成功

翻墙后再次提交成功

上一篇下一篇

猜你喜欢

热点阅读