【发布时间】:2018-12-03 08:15:19
【问题描述】:
总的来说,我是机器学习的新手。
我正在尝试进行多标签文本分类。我将这些文档的原始标签以及分类结果(使用 mlknn 分类器)表示为一个热编码(19000 个文档 x 200 个标签)。现在我正在尝试使用 f1_score 微观和宏观评估分类,但我收到此错误(在第 3 行)ValueError: Classification metrics can't handle a mix of multiclass-multioutput and multilabel-indicator targets,我不知道如何解决它。这是我的代码:
1. y_true = np.loadtxt("target_matrix.txt")
2. y_pred = np.loadtxt("classification_results.txt")
3. print (f1_score(y_true, y_pred, average='macro'))
4. print (f1_score(y_true, y_pred, average='micro'))
我还尝试使用cross_val_score 进行分类以立即获得评估,但遇到了另一个错误(来自cross_val_score 行):
File "_csparsetools.pyx", line 20, in scipy.sparse._csparsetools.lil_get1
File "_csparsetools.pyx", line 48, in scipy.sparse._csparsetools.lil_get1
IndexError: column index (11) out of bounds
这是我的代码:
X = np.loadtxt("docvecs.txt", delimiter=",")
y = np.loadtxt("target_matrix.txt", dtype='int')
cv_scores = []
mlknn = MLkNN(k=10)
scores = cross_val_score(mlknn, X, y, cv=5, scoring='f1_micro')
cv_scores.append(scores)
非常感谢任何一个错误的帮助,谢谢。
【问题讨论】:
标签: python cross-validation multilabel-classification