在上一篇文章中我们初步使用xgboost模型预测存活,达到了75.1%的准确率。本文中我们将尝试一些优化工作,将预测准确率提升到80.4%。
参数调优
简单使用max_depth=4, learning_rate=0.1, n_estimates=200,准确率可以提升到76.5%。另外可以使用GridSearch的方法迭代测试每个超参数的最优值。 1
model = xgb.XGBClassifier(max_depth=4, sub_sample=0.7, colsample_btree=0.1, learning_rate=0.1, n_estimators=200);
增加familysize特征:提升1%的准确度
1 | combined_data["fimalysize"] = combined_data["SibSp"] + combined_data["Parch"] + 1 |
优化Cabin特征:提升2%的准确度
1 | def getCabin(cabin): |
挑选比较重要的feature进行训练,抛弃不重要的:提升2%的准确度
1 | features = ["Pclass", "Sex1", "child", "fimalysize", "Fare", "Embarked1", "Cabin"] |
总结
最后提交到kaggle达到80.4%的准确率。