1. 程式人生 > 其它 >機器學習模型進行predict預測時,預測全為1

機器學習模型進行predict預測時,預測全為1

最近在維護xgboost二分類運算元,經過現場客戶反饋的問題,模型在評估推理的時候,結果很不理想,實際測試確實模型預測全為1

一開始以為是資料不均勻導致的預測效果差,也嘗試了分佈均衡的資料以及網格搜尋模型引數調參,結果還是同樣的效果,問題沒出現在這裡

 

接著經過debug後,發現

模型在fit的時候,特徵列經過一些列操作,變成了倒序的

傳入的順序是這樣的
--features_col=c_user_id,c_column_1,c_column_2,c_column_3,c_column_4,c_column_5,c_column_6,c_column_7,c_column_8,c_column_9,c_column_10,c_column_11,c_column_12,c_column_13,c_column_14,c_column_15,c_column_16,c_column_17,c_column_18,c_column_19,c_column_20,c_column_21,c_column_22,c_column_23,c_column_24,c_column_25,c_column_26,c_column_27,c_column_28,c_column_29,c_column_30

經過一頓操作變成了這樣

也就是說model在fit的資料是上面的資料,而在預測predict的時候特徵列完全相反,經過嘗試,這樣會導致預測全為1或全為0,導致模型泛化效果差