[問題] XGBoost 繪製 ROC Curve

作者: ctr1 (【積π】)   2020-05-27 09:18:56
使用sklearn的xgboost繪製
ROC Curve沒問題
#XGBoost
xgb = xgb.fit(X_train,y_train)
#預測分類的概率
y_pred_xgb = xgb.predict_proba(X_test)[:, 1]
fpr_xgb, tpr_xgb, _ = roc_curve(y_test, y_pred_gbdt)
想請問若是使用
import xgboost as xgb
訓練是用bst = xgb.train(param, dtrain, num_round)
這種的xgboost要怎麼計算出他每個分類的概率
而不是預測出的結果
才可以繪製ROC Curve
感謝了
作者: tsoahans (ㄎㄎ)   2020-05-27 12:39:00
不是一樣嗎? 多類別就改成predict_proba(X_test)[:,i]
作者: ctr1 (【積π】)   2020-05-27 14:00:00
'Booster' object has no attribute 'predict_proba'原生的xgboost非sklearn下的
作者: mirror0227 (鏡子)   2020-05-27 14:21:00
就用 sklearn API 不就好了
作者: tsoahans (ㄎㄎ)   2020-05-27 14:57:00
那直接呼叫predict就是機率了
作者: cspy (Perfect Stranger)   2020-05-28 07:29:00
建模用的輸入x去預測y 在跟實際y結果比對就可以算機率
作者: aidansky0989 (alta)   2020-05-28 07:58:00
跟畫pr一樣,tp, fp,sns
作者: Starcraft2 (來自星海的你)   2020-05-30 10:00:00

Links booklink

Contact Us: admin [ a t ] ucptt.com