【发布时间】:2021-08-17 10:09:57
【问题描述】:
我正在研究多标签文本分类。 我试图打印机器学习的分类报告,但它只打印每个类。 我怎样才能把所有班级的分类报告放在一起? 这部分代码
标签代码
categories = list(data_raw.columns.values)
categories = categories[1:]
评价:
def modelEvaluation(predictions, y_test_set):
print("\nAccuracy on validation set: {:.4f}".format(accuracy_score(y_test_set, predictions)))
print("\nClassification report : \n", metrics.classification_report(y_test_set, predictions))
print("\nConfusion Matrix : \n", multilabel_confusion_matrix(y_test_set, predictions))
这适用于机器学习
from sklearn.svm import LinearSVC
SVC_pipeline = Pipeline([
('clf', OneVsRestClassifier(LinearSVC(), n_jobs=1)),
])
for category in categories:
printmd('**Processing {} comments...**'.format(category))
# Training logistic regression model on train data
SVC_pipeline.fit(x_train, train[category])
# calculating test accuracy
prediction = SVC_pipeline.predict(x_test)
print('Test accuracy is {}'.format(accuracy_score(test[category], prediction)))
print("\n")
modelEvaluation(prediction, test[category])
如果我尝试像下面的代码一样单独打印分类报告,它会给我最后一课的结果
from sklearn.metrics import classification_report
print("\nClassification report : \n", metrics.classification_report(test[category], prediction))
【问题讨论】:
-
如果有帮助,请选择答案并点赞。
标签: python machine-learning scikit-learn classification multilabel-classification