Как распечатать отчет о классификации в FastText?

#python #scikit-learn #fasttext

#python #scikit-learn #fasttext

Вопрос:

Я использую FastText и для оценки результатов моей классификации (двоичная классификация), и я хотел бы распечатать оценку классификации. На самом деле в качестве вывода у меня есть точность и отзыв. Вот мой код:

 
train_file = 'train.csv'

test_file = 'test.csv' 


print("training model...")
  
    
model = fasttext.train_supervised(input=train_file,
                                lr=1.0, epoch=100,
                                wordNgrams=2, 
                                bucket=200000, 
                                dim=50, 
                                loss='hs')

def print_results(N, p, r):
    print("Nt"   str(N))
    print("P@{}t{:.3f}".format(1, p))
    print("R@{}t{:.3f}".format(1, r))
    

result = model.test(test_file)
print_results(*result)

 

Я читал документацию здесь и проверял также некоторые учебные пособия, но я еще не понял, как определить отчет о классификации. Я думаю, что цикл через test_file должен быть определен, но в этом случае, какие параметры я должен использовать?

Желаемый результат:

             precision    recall  f1-score   support

           0      0.832     0.824     0.828      9093
           1      0.861     0.867     0.864     11399

    accuracy                          0.848     20492
   macro avg      0.846     0.846     0.846     20492
weighted avg      0.848     0.848     0.848     20492

 

Спасибо,

Комментарии:

1. Что вы собираетесь делать для оценки классификации? Как обычно, вопрос должен быть дополнен примером желаемого результата.

Ответ №1:

Почему бы вам не разобраться с metrics библиотекой из scikit-learn , может быть, это лучший выбор.

Пример кода F1:

 f1_score('your_test', 'your_predict', average='macro')
 

В вашем случае, я думаю, должно быть:

 f1_score(test_file, result, average='macro')
 

Теперь вы можете создать таблицу со всеми оценками, которые вы хотите.

Вам просто нужно импортировать их, например:

 from sklearn.metrics import  f1_score, precision_score, recall_score, accuracy_score
 

И вы даже можете добавить больше вещей, например, «матрицу путаницы»:

 from sklearn.metrics import confusion_matrix
 

Пример кода:

 confusion_matrix(test_file, result)