KNeighborsClassifier 的输出加权 f1 分数
Output weighted f1-score for KNeighborsClassifier
我试图在 KNeighborsClassifier 中仅输出测试数据的加权 f1 分数。
我能做到:
neigh = KNeighborsClassifier(n_neighbors=10)
neigh.fit(X_train, y_train)
result = neigh.predict(X_test)
print(classification_report(test_tags, result))
返回:
precision recall f1-score support
0 1.00 0.40 0.57 5
2 0.00 0.00 0.00 1
3 0.20 1.00 0.33 1
avg / total 0.74 0.43 0.46 7
我还知道:
sklearn.metrics.f1_score
.
并理解 http://scikit-learn.org/stable/modules/generated/sklearn.metrics.f1_score.html 上的示例
.
from sklearn.metrics import f1_score
y_true = [0, 1, 2, 0, 1, 2]
y_pred = [0, 2, 1, 0, 0, 1]
f1_score(y_true, y_pred, average='weighted')
但是我如何将它应用到我上面的 KNeighborsClassifier 代码中呢?
用下面的方法解决。
from sklearn.metrics import precision_recall_fscore_support
neigh = KNeighborsClassifier(n_neighbors=10)
neigh.fit(X_train, y_train)
result = neigh.predict(X_test)
precision_recall_fscore_support(test_tags, result, average='weighted')[2]
其中test_tags
为真实值,result
为预测值。
我试图在 KNeighborsClassifier 中仅输出测试数据的加权 f1 分数。
我能做到:
neigh = KNeighborsClassifier(n_neighbors=10)
neigh.fit(X_train, y_train)
result = neigh.predict(X_test)
print(classification_report(test_tags, result))
返回:
precision recall f1-score support
0 1.00 0.40 0.57 5
2 0.00 0.00 0.00 1
3 0.20 1.00 0.33 1
avg / total 0.74 0.43 0.46 7
我还知道:
sklearn.metrics.f1_score
.
并理解 http://scikit-learn.org/stable/modules/generated/sklearn.metrics.f1_score.html 上的示例 .
from sklearn.metrics import f1_score
y_true = [0, 1, 2, 0, 1, 2]
y_pred = [0, 2, 1, 0, 0, 1]
f1_score(y_true, y_pred, average='weighted')
但是我如何将它应用到我上面的 KNeighborsClassifier 代码中呢?
用下面的方法解决。
from sklearn.metrics import precision_recall_fscore_support
neigh = KNeighborsClassifier(n_neighbors=10)
neigh.fit(X_train, y_train)
result = neigh.predict(X_test)
precision_recall_fscore_support(test_tags, result, average='weighted')[2]
其中test_tags
为真实值,result
为预测值。