Я новичок в машинном обучении в целом.
Я пытаюсь провести многолабильную классификацию текста.У меня есть оригинальные ярлыки для этих документов, а также результат классификации (используется классификатор mlknn), представленный в виде одного горячего кодирования (19000 документов x 200 ярлыков).Сейчас я пытаюсь оценить классификацию с помощью f1_score micro и macro, но я получаю эту ошибку (в строке 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)
любая помощь с любой из ошибок очень ценится, спасибо.