【Kaggle】Titanic 生存预测模型

这篇博客介绍了如何利用Python的Numpy, Pandas和Scikit-learn库来预测Titanic数据集中乘客的生存率。通过数据预处理,包括填充缺失值和特征编码,然后尝试了线性回归、逻辑回归和随机森林模型。结果显示,随机森林模型在预测生存率方面表现最佳,且探讨了随机森林的参数设置。" 70229871,5662329,GamePlay 3D游戏引擎环境配置与新项目创建教程,"['游戏开发', 'Unity3D', 'C++', '移动开发', '3D图形']
摘要由CSDN通过智能技术生成
数据集可以在这里下载:

https://www.kaggle.com/c/titanic


在此项目中,我们会用到以下Python库:
  • Numpy - python科学计算库(矩阵运算)
  • Pandas - python数据分析处理库
  • Scikit-learn - python机器学习库(机器学习算法)

一、首先查看一下数据

import pandas as pd
titanic = pd.read_csv(r"S:\数据分析\kaggle_Titanic\train.csv")
titanic.head() # 默认前五行

在这里插入图片描述
我们可以看看 Titanic数据中有哪些特征,并分析一下哪些特征对生存几率的影响比较大。


二、接下来进行数据预处理

print(titanic.describe()) # 按列统计特征

通过对列的特征统计,我们发现Age值存在缺失的情况,于是下面进行缺失值处理:

import pandas as pd
titanic['Age'] = titanic['Age'].fillna(titanic['Age'].mean()) # 使用均值填充缺失值
print(titanic.describe())

于是,Age数据就填充完毕了。

然后对 Sex特征进行独热编码:
print(titanic['Sex'].unique()) # 查看Sex特征有哪些值
>>> ['male' 'female']

# loc定位到目标行,对Sex特征进行独热编码
titanic.loc[titanic['Sex'] == 'male', 'Sex'] = 0 # 令Sex等于male那行的Sex值为1
titanic.loc[titanic['Sex'] == 'female', 'Sex'] = 1 # 令Sex等于female那行的Sex值为0
再对 Embarked特征进行缺失值处理和独热编码:
print(titanic['Embarked'].unique())
>>> ['S' 'C' 'Q' nan] # 存在缺失值

titanic['Embarked'] = titanic['Embarked'].fillna('S') # S数量多,可以用S补充缺失值
titanic.loc[titanic['Embarked'] == 'S', "Embarked"] = 0
titanic.loc[titanic['Embarked'] == 'C', "Embarked"] = 1
titanic.loc[titanic['Embarked'] == 'Q', "Embarked"] = 2

三、使用线性回归模型预测生存几率

from sklearn.linear_model import LinearRegression # 导入线性回归的类,采用二分类进行分类预测
from sklearn.model_selection import KFold # K折交叉验证,取平均,调参

predictors = ["Pclass", "Sex", "Age"
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值