簡體   English   中英

如何在 FastText 中打印分類報告?

[英]How to print classification report in FastText?

我正在使用 FastText 並評估我的分類結果(二元分類),我想打印分類分數。 實際上,作為 output,我有精確度和召回率。 這是我的代碼:


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("N\t" + 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的循環,但在這種情況下,我必須使用哪些參數?

所需的 output:

            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

謝謝,

你為什么不處理來自scikit-learnmetrics庫,也許是一個更好的選擇。

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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM