摘要:
一、下载渠道相关问题1. Kaggle注册失败无法下载数据集解决方案:可以在阿里云天池搜索到并下载数据,链接为 = 111507。二、数据处理相关问题1. 缺失值处理数值类型缺失值...
一、下载渠道相关问题

1. Kaggle注册失败无法下载数据集
解决方案:可以在阿里云天池搜索到并下载数据,链接为 = 111507。
二、数据处理相关问题
1. 缺失值处理
数值类型缺失值:一般使用平均值替代,例如年龄(Age)和船票价格(Fare)等数值类型的缺失值。
字符串类型缺失值:
Cabin(船舱号):缺失值数量较多(缺失率 = 77.5%),用“U”替代,表示未知。
Embarked(登船港口):缺失值数量很少,用该列的众数替代,例如该列最多的值是“S”,则用“S”替换缺失值。
2. 特征工程
特征处理:
建立家庭类别:根据Parch(同代直系亲属)和SibSp(不同代直系亲属)得到家庭人数,再分为大、中、小家庭,并且进行One
hot编码。
性别(Sex):将性别的值映射为数值,男(male)对应数值1,女(female)对应数值0,由于性别只有两个值,不需进行One
hot编码。
登船港口(Embarked):登船港口分为S、C、Q,使用get_dummies进行One
hot编码,同时可指定参数prefix = 'Embarked',然后添加编码产生的虚拟变量到原数据集,并删除登船港口(Embarked)列。
客舱等级(Pclass):客舱等级的值包括1、2、3,分别表示一等舱、二等舱、三等舱,使用get_dummies进行One
hot编码,并指定虚拟变量列名的前缀,添加编码产生的虚拟变量到原数据集,并删除客舱等级(Pclass)列。
乘客姓名(Name):提取出每位乘客的称谓,然后根据称谓进行分类,得到一个新的数据特征,先定义函数从乘客姓名中获取称谓,汇总统计所有称谓的数量,将称谓重新归为6大类(Officer:官员;Royalty:王室(皇室);Mr:已婚男士;Mrs:已婚妇女;Miss:年轻未婚女子;Master:有技能的人/教师),建立姓名中称谓与6大类的映射关系,并用map函数完成转换,转换完成后,继续使用get_dummies进行One
hot编码,最后添加编码产生的虚拟变量到原数据集,并删除乘客姓名(Name)列。
客舱号(Cabin):客舱号的首字母就是客舱的类别,获取客舱号的首字母,得到客舱类别,然后添加One
hot编码产生的虚拟变量到原数据集,并删除客舱号(Cabin)列。
特征选择:通过corr方法获取所有元素之间的相关系数,提取“Survived”与各个元素的相关系数,并按降序排列,选取相关性较大的数据特征,如称谓(titleDf)、客舱等级(pclassDf)、家庭类别(familyDf)、船票价格(Fare)、船舱号(cabinDf)、登船港口(embarkedDf)、性别(Sex)等,将选取的特征放到数据集full_X。
三、模型构建与评估相关问题
1. 划分数据集
划分原始数据集和预测数据集:原始数据集有891行,预测数据集有418行,且合并文件后原始数据集在前面,根据行数进行分割,并分别提取特征和标签。
划分训练数据集和测试数据集:从原始数据集(source)中拆分出训练数据集(train)、测试数据集(test),分别用于模型训练和模型评估。
2. 选择机器学习算法:根据要解决的问题(涉及是否幸存的二元问题),选择逻辑回归算法,导入逻辑回归算法,创建逻辑回归算法模型,训练模型。
3. 评估模型:用模型model的score方法,可以查看模型的正确率,即该模型预测的test_y与预留的test_y对比后,正确的比例是多少,例如模型的正确率是83%,表明拟合得很好,可以用来预测。
4. 实施方案:
使用模型得到预测结果。
按照指定格式输出结果:生成的预测值是浮点数,但是Kaggle要求提交的结果是整数型,所以对数据类型进行转换,然后根据要求输出两列数据,分别是乘客id和预测值,最后将结果保存为csv文件。
泰坦尼克号下载软件推荐
1. 阿里云天池:提供泰坦尼克号乘客生存预测数据集,数据集已分为训练集和测试集,可以根据训练集训练出合适的模型并预测测试集中的存活状况。
2. Titanic (My heart will go on) Theme:一款不错的免费程序,仅适用于Windows,属于桌面定制软件,带有子类别主题(更具体地说是电影和电视),并已由Execulink发布。