Kaggle_01_Titanic

1. 数据处理

简单分为三种:缺失数据处理、新特征生成和数据归一化

1.1 缺失数据处理:

(1) 直接丢掉 - 原数据量较大,缺失数据量较小,丢掉几条数据一般无妨

(2) 用平均数 - 用其他特征基本与本条差不多的数据的平均数,适合连续数据

(3) 用中位数 - 用其他数据的中位数,适合连续数据

(4) 用众数 - 用其他数据的众数,适合离散分类型数据

(5) 模型预测 - 当该数据对最终结果的预测印象比较大的时候,需要更加准确的数据。

(6) 用没有出现过的值整体取代缺失值 - 这个不知道什么时候试用......但是在这个实验中来看,对Deck缺失值的补充,用这个方法好于用众数。

2.2 新特征的生成

用已有的数据去生成一个关联特征,一方面减少现有特征的数量(可以理解为降维,如实验中的family特征的提取 [Family = Parch + SibSp + 1]),另一方面可以从现有的数据中提取出更具代表性的数据(如实验中的Deck就是从cabin中提取出来的)。

2.3 数据归一化

scale不在同一数量级上的特征,可能最后影响分类器的性能,如实验中的age和fare。

2. 分类器选择

分类器实验了Linear Regression, Radom Forest, Decision Tree和XGBoost。

结果如下:

No1. Linear Regression - 0.78947

No2. Radom Forest - 0.77512

No3. XGBoost - 0.74641

No4. Decision Tree - 0.67464

我的实验kernel在这里:https://www.kaggle.com/shenglei/first-try-in-titanic/

欢迎指导,不知道数据处理上还有没有可以提升的地方。

3. 集成学习--stacking

Ensemble的kernel在这里:https://www.kaggle.com/shenglei/second-try-in-titanic-with-ensemble-stacking/

4. 总结

同样的特征处理方法,不同的训练模型,集成学习的确有提升效果。

No1. Stacking - 0.79426

No2. Linear Regression - 0.78947

No3. Radom Forest - 0.77512

No4. XGBoost - 0.74641

No5. Decision Tree - 0.67464

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容