此博客仅为我业余记录文章所用发布到此,仅供网友阅读参考如有侵权,请通知我我会删掉。
最近学习了 预测泰坦尼克号存活率是一个烂大街的项目了,它是kaggle科學竞赛网站上一个入门的数据分析案例
下图引用于kaggle-泰坦尼克号存活率预测项目。
考虑到文章篇幅的原因这里就不去预测哪些人更可能存活下来,将写另外一篇文章去做它
决策树建模(至于什么是决策树,)
数据从数据科学竞赛平台kaggle获取
如下图所示,点击下载即可
两个文档的数据概览如下:
可以看到数据整体上都一样,唯一不同的地方在于 train.csv多了Survived这一列(即存活)
那文档中各个字段代表的是什么意思呢?
Age可以用平均值填充;
Cabin缺失太多,不好补充遂填充为unknown,意为未知的;
Embarked缺失2个可选择删除对应行或者填充处出现次数最高的值。
填充缺失之后可以看到已经没有空值了。
该项目的主要目的是预测乘客存活率所以这一步需要从数据集中选择特征,作为预测存活率的关键
除了画框的这一列(存活率),还有剩余11个特征
根据我不成熟的思考后判断得出:
最后剩下 Pclass、Sex、Age、SibSp、Parch 和 FareEmbarked 7个特征,他们可能和乘客的存活率的分类有关泹具体是什么关系,这个交给机器学习去头疼吧!
(1)将上面说的可去掉的特征删除:
这时候的数据是这样的
特征值里有一些不是excel数值格式怎么修改类型,为方便后续的运算这里需要将他转换为excel数值格式怎么修改类型
Sex 字段,的男和女用 0 或 1 来表示。
(2)将’Age’改成excel数值格式怎么修改类型
(3)将’Embarked’改成excel数值格式怎么修改类型。
到这一步只需要将特征矩阵和标签塞到决策树模型里面就完事了。
特征矩陣是不包括存活率的所以这里要删除Survived这一行。
分类标识也就是Survived这一列
简单来说,K折交叉验证可以提高决策树的准确度
cross_val_score 函数中的参数 cv 玳表对原始数据划分成多少份,也就是K值这里使用cv=10
然后接下来还可以使用GridSearchCV 调参,它存在的意义就是自动调参只要把参数输进去,就能給出最优化的结果和参数感兴趣的可以从网上学习。
因为这个不熟悉不敢误人子弟。遂直接采用别人的答案!
这里也可以明显看到准确度是有所提高的。
对测试集进行数据清洗
如上,因为学习的不够深入所以分享出来嘚也很菜。
文章多有不通之处还请各位不吝赐教。
本次分享到此结束纯当个人笔记,不可做为系统学习以及学习参考!!!
广工的同学们快来下载吧!师兄来帮你们,保证你通过期末大关