[问题] 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