def get_scores(clf, X_t_train, y_train, X_t_test, y_test):
clf.fit(X_t_train, y_train)
y_score = clf.predict_proba(X_t_test)
app = dict()
score = fbeta_score(y_test, clf.predict(X_t_test), beta=2, average=None)
#auc_score = roc_auc_score(y_test, clf.predict(X_t_test), average='samples')
avg_sample_score = fbeta_score(y_test, clf.predict(X_t_test), beta=2, average='samples')
prec_score = precision_score(y_test, clf.predict(X_t_test), average='micro')
rec_score = recall_score(y_test, clf.predict(X_t_test), average='micro')
avg_prec = average_precision_score(y_test, clf.predict(X_t_test))
metrics = [score, avg_sample_score, roc_auc_score(y_test, clf.predict_proba(X_t_test))]
#app['Classwise Scores'] = ([(mlb.classes_[l], score[l]) for l in score.argsort()[::-1]])
fpr = dict()
tpr = dict()
roc_auc = dict()
for i in range(len(list(enumerate(mlb.classes_)))):
fpr[i], tpr[i], _ = roc_curve(y_test[:, i], y_score[:, i])
roc_auc[mlb.classes_[i]] = auc(fpr[i], tpr[i])
app['F2 Score'] = avg_sample_score
app['ROC_AUC'] = roc_auc_score(y_test, clf.predict_proba(X_t_test))
app['Classwise F2 Scores'] = ([(mlb.classes_[l], score[l]) for l in score.argsort()[::-1]])
app['P_AUPR'] = avg_prec
app['Precision'] = prec_score
app['Recall'] = rec_score
app['ROC_AUC_samples'] = roc_auc
return app
评论列表
文章目录