xgboost 的 Precesion Recall F1 AUC ACC 混淆矩阵 计算

#省略……

from sklearn.model_selection import train_test_split

train_x, test_x, train_y, test_y = train_test_split(feature_matrix, labels, random_state=0)

import xgboost as xgb
dtrain=xgb.DMatrix(train_x,label=train_y)
dtest=xgb.DMatrix(test_x)

params={'booster':'gbtree',
    'objective': 'binary:logistic',
    'eval_metric': 'auc',
    'max_depth':4,
    'lambda':10,
    'subsample':0.75,
    'colsample_bytree':0.75,
    'min_child_weight':2,
    'eta': 0.025,
    'seed':0,
    'nthread':8,
     'silent':1}

watchlist = [(dtrain,'train')]

bst=xgb.train(params,dtrain,num_boost_round=100,evals=watchlist)

y_pred=bst.predict(dtest)

y_pred_binary = (ypred >= 0.5)*1

from sklearn import metrics
print 'AUC: %.4f' % metrics.roc_auc_score(test_y,y_pred)
print 'ACC: %.4f' % metrics.accuracy_score(test_y,y_pred_binary)
print 'Recall: %.4f' % metrics.recall_score(test_y,y_pred_binary)
print 'F1-score: %.4f' %metrics.f1_score(test_y,y_pred_binary)
print 'Precesion: %.4f' %metrics.precision_score(test_y,y_pred_binary)
metrics.confusion_matrix(test_y,y_pred_binary)

猜你喜欢

转载自blog.csdn.net/guotong1988/article/details/80498000