【Kaggle】Titanic

数据处理

列数有这些:

看看不同特征与结果的相关性

1.性别(Sex):0.74的女性活下来了

2.舱位(PClass):一等舱0.62,二等舱0.47,三等舱0.24

3.一起登船的家人数量(SibSp):0人0.35,1人0.53,2人0.46,3人0.25,4人0.16,5人0

4.老人孩子数量(Parch):0人0.34,1人0.55,2人0.5,3人0.6,4人0,5人0.2

5.登船位置(Embarked)

想法

明显,这几个变量都有关系,但并不是正相关,不适合线性回归模型

基本思路

1.用Sex、Pclass、SibSp做个模型,我觉得这是个概率模型

然后用随机森林试了一下,正确率0.77

逻辑回归正确率0.772

2.换了SVM,核心为rbf

性能提高了一些。正确率0.775

3.逻辑回归问题应该把类别变量做One-Hot映射,而非直接作为数值型表示,否则会被模型理解为连续性数值变量而非类别变量

性能又提高了一些,正确率0.777

反思

1.其他特征

实际上,船员名称也有价值,不同称谓的死亡概率是不同的。实际上,Mr和Officer前缀的死亡率高达0.8,而Dr的死亡率只有0.5

同时,也没有把FamilySize单独做出来一个新特征

2.缺失值处理

缺失值只用了平均值和中位数填充,实际上应该使用随机森林填充缺失值

总结

1.逻辑回归和线性回归问题用的模型不一样

2.做题的时候要多试几个模型,SVM、随机森林、LR都要试一试,用accuracy_score函数预测性能,把最好的交上去评测

3.类别变量要做One-Hot处理

4.做题要自己做一些特征,只用给的特征很难拿高分。难处理的特征反而要考虑一下。

posted @ 2023-10-10 17:10  byxiaobai  阅读(7)  评论(0编辑  收藏  举报