1. 程式人生 > >機器學習之模型評估(還是沒搞定...)

機器學習之模型評估(還是沒搞定...)

任務介紹
1.任務:預測貸款使用者是否會逾期
2.status是標籤:0表示未逾期,1表示逾期

【任務四:模型評估】記錄五個模型關於precision,rescore,f1,auc,roc的評分表格,畫出auc和roc曲線圖。

模型
Precesion
Recall
F1-score
AUC
ACC
邏輯迴歸 0.4500 0.0244 0.0463 0.5070 0.7400
SVM 0.500 0.0081 0.0160 0.5026 0.7414
決策樹 0.3056 0.3388 0.3213 0.5352 0.6300
XGBoost 0.3707

0.5000

0.4258 0.5000 0.7414
lightgbm       0.5981  

這個任務持續做了兩天也沒有搞定,一開始還以為挺簡單,沒想到一直搞不出來。兩個大的問題:

1.繪製ROC曲線的圖一直為空白,這是5個模型都存在的問題。

2.lightgbm模型在評估上一直報錯:ValueError: Classification metrics can't handle a mix of binary and continuous targets

模型的預測輸出確實有問題,不是標籤1 和0,而是概率,這個確實是問題,但查了好久也沒解決。

3.XGBoost模型那是一直有個警告:UndefinedMetricWarning: F-score is ill-defined and being set to 0.0 in labels with no predicted samples.

已解決的問題:

1.邏輯迴歸模型那裡本來也是出現lightgbm同樣的報錯,經過查詢發現是 預測那一步呼叫的函式有問題,應該呼叫predict就沒問題了,我一開始是用predict_proba函式,這兩者的區別為:

predict_proba返回的是一個n行k列的陣列,第i行第j列上的數值是模型預測第i個預測樣本的標籤為j的概率。此時每一行的和應該等於1。
predict返回的是一個大小為n的一維陣列,一維陣列中的第i個值為模型預測第i個預測樣本的標籤;

總結:自己獨立解決問題的能力還是不行,有個能討論的團隊還是好很多,這樣的學習模式確實挺好,如果每次任務完成能給出正確程式碼就好了,問題也能對照解決。