kaggle竞赛 泰坦尼克号
流程
- 下载kaggle数据集
- 导入所要使用的包
- 引入kaggle的数据集csv文件
- 查看数据集的大小和长度
- 去除冗余数据
- 建立特征工程
- 导出结果csv文件
1.下载kaggle数据集
2.导入所要使用的包
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
3.引入kaggle的数据集csv文件
train=pd.read_csv('train.csv')
test=pd.read_csv('test.csv')
4.查看数据集大小和长度
train.shape
训练集的长宽(891, 12),891行,12列
查看train集合的前五列
train.head()
5.去除冗余的数据
由于特征中女性存活的概率比较大,所以计算一下女性的存活率
# 取出表格中的两列,性别和存活率构建一个新的数据集women
women = train.loc[train.Sex == 'female']["Survived"]
# 一共有314条女性记录,由于存活的情况是1,所以累加所有存活特征,就能得到存活数量
# 再用存活数量/女性总数得到女性存活率
rate_women = sum(women)/len(women)
print("% of women who survived:", rate_women)
# 获得女性的存活率
233
314
% of women who survived: 0.7420382165605095
获取男性的存活率
men = train.loc[train.Sex == 'male']["Survived"]
rate_men = sum(men)/len(men)
print("% of men who survived:", rate_men)
% of men who survived: 0.18890814558058924
6.建立特征工程
from sklearn.ensemble import RandomForestClassifier
y = train["Survived"]
features = ["Pclass", "Sex", "SibSp", "Parch"]
X = pd.get_dummies(train[features])
X_test = pd.get_dummies(test[features])
model = RandomForestClassifier(n_estimators=100, max_depth=5, random_state=1)
model.fit(X, y)
predictions = model.predict(X_test)
output = pd.DataFrame({'PassengerId': test.PassengerId, 'Survived': predictions})
7.将结果输出到csv文件中
output.to_csv('submission.csv', index=False)
print("Your submission was successfully saved!")