Titanic
1. 不要癡迷于使用複雜的模型,有時候使用簡單模型效果更佳。
經過資料預處理和資料清洗之後,使用随機森林和邏輯回歸兩種模型。随機森林模型對象使用網格搜尋進行十折驗證進行調參。
兩個模型對象的準确率:
logr | rf_grid | |
訓練集 | 84.11% | 89.09% |
驗證集 | 79.85% | 78.36% |
測試集 | 78.47% | 77.03% |
注:此處訓練集和驗證集是對train.csv資料使用train_test_split方法取得的。本質上都是訓練集的資料。測試集的準确率是在Kaggle上送出預測之後傳回的結果。
可以看到随機森林模型對象對訓練集資料有更高的預測準确率,而在驗證集和測試集上表現反倒不如邏輯回歸模型對象好。
2. 不要把所有訓練集的資料(包括訓練集和驗證集)喂給模型對象,否則容易出現過拟合現象。
我在嘗試這樣做後,測試集的準确率反而下降了一個百分點。
3. 訓練集的資料規模不大的時候,資料清洗和模型對象的調參對最後準确率會有非常大的影響。
沒有一種萬能的公式去使用。唯一能夠起到作用的是資料清洗和模型調優之前,真正做到對問題和資料有深刻的了解。