我正在尝试将一些模型分类为二元分类。我想根据分数和 f2 分数对模型进行分类。
对于“分数”,我使用了代码
for name, clf in zip(models, classifiers):
clf.fit(X_train, y_train)
score = clf.score(X_test, y_test)
scores.append(score)
给出了所有模型的分数,但我无法找到所有模型的 f2 分数。任何人都可以建议代码应该是什么?
答案 0 :(得分:1)
您可以使用 fbeta_score 来实现此目的,只需将 β 设置为 2。
from sklearn.metrics import fbeta_score
scores = []
f2_score = []
for name, clf in zip(models, classifiers):
clf.fit(X_train, y_train)
y_pred = clf.predict(X_test)
f2 = beta_score(y_test, y_pred, beta=2, average='binary')
score = clf.score(X_test, y_test)
scores.append(score)
f2_score.append(f2)