美文网首页
Kaggle_01_Titanic

Kaggle_01_Titanic

作者: kelseyh | 来源:发表于2017-07-03 10:55 被阅读41次

    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

    相关文章

      网友评论

          本文标题:Kaggle_01_Titanic

          本文链接:https://www.haomeiwen.com/subject/breacxtx.html