Python 多标签文本分类的分类报告?

Python 多标签文本分类的分类报告?,python,machine-learning,scikit-learn,classification,multilabel-classification,Python,Machine Learning,Scikit Learn,Classification,Multilabel Classification,我正在研究多标签文本分类。 我试图打印机器学习的分类报告,但它只打印每个类。 我怎样才能得到所有班级的分类报告? 这部分代码 此代码用于标签 categories = list(data_raw.columns.values) categories = categories[1:] 评价: def modelEvaluation(predictions, y_test_set): print("\nAccuracy on validation set: {:.4f}"

我正在研究多标签文本分类。 我试图打印机器学习的分类报告,但它只打印每个类。 我怎样才能得到所有班级的分类报告? 这部分代码

此代码用于标签

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))
这是给ML的

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))

不使用
测试[category]
而使用,并提供包含为其构建模型的所有类的整个测试集

print("\nClassification report : \n", metrics.classification_report(y_test, predictions))
其中
y\u测试
是测试集
X\u测试
的地面真值标签(真输出)


您通过的是该测试集的测试集(
X\u测试
),而不是标签(
y\u测试
)。

请检查问题的修改,以查看类标签是如何确定的。顺便说一句,我试过你的解决方案,但不起作用,给了我一个错误
TypeError:“您应该对解决方案是否有效进行回复,以便我们知道问题出在哪里。对于您给出的
TypeError
。请添加完整的TracePack错误以了解哪一行有问题。再次,要获取所有类的分类报告,您需要使用所有这些类而不仅仅是单个类/类别的测试集。
ValueError Traceback(最近一次调用)in 2 test=test.drop(labels=['story'],axis=1)3-->4打印(“\n分类报告:\n”,metrics.classification\u report(test,prediction))5打印(test)~\Anaconda3\lib\site packages\sklearn\utils\validation.py在内部文件中(*args,**kwargs)71 FutureWarning)
@Anurag Dhadse
y\u type,y\u true,y\u pred=\u检查目标(y\u true,y\u pred)1930 1931 labels_given=True~\Anaconda3\lib\site packages\sklearn\metrics\\u classification.py in_check_targets(y_True,y_pred)89如果len(y_type)>1:90提升值错误(“分类度量无法处理{0}-->91”和{1}目标的混合。格式(type_True,type_pred))92 93#y#type=>上不能有多个值集合不再需要值错误:分类指标无法处理多标签指标和二进制目标的混合
如果有帮助,请选择并向上投票回答。