2015-09-18 52 views
0

請不要阻止我這個問題,我試圖找到答案約一個月,我找不到它,你是我最後的希望(如果你想要首先回答我並報告,謝謝)。 我在MATLAB中編寫了一個混合文本分類代碼,我做了它正確,但現在我不知道如何評估結果。我對路透社21578的訓練集和考試一無所知,我無法理解。 我的代碼在文本中找到關鍵字,並在混合KNN算法的幫助下將文本置於準確的類中,但問題是我不知道這些候選類是什麼,應該讓它們還是它們準備好? 如果Reuters-21578中的每個.sgm文件都是一個類,那麼我怎樣才能將它們用作候選類,我的意思是它們充滿了單詞,所以我應該先將它們分類並選擇其他文檔可以按類別分類的類給他們?Reuters-21578數據集的文本分類方法評估

回答

1

每篇文章/新聞的標籤可以被視爲類標籤。您可以將包含主題的故事分成一個訓練集和一個測試集以評估您的分類器。有沒有任何主題的路透社21578有故事,你可以使用你的分類器分配類標籤。

注:有許多故事與多個主題。

0

我也一樣。如果路透數據集的版本對您無關緊要,則路透社數據集也可以在nltk.corpus中使用,您可以從中輕鬆訪問測試文檔,培訓文檔及其各自的類別。您不必擔心從.sgm文件中提取它們。

你可以這樣做:

from nltk.corpus import reuters 
    #This gives all files 
    documents = reuters.fileids() 
    #to get only the training and testing documents 
    train_docs = filter(lambda doc: doc.startswith("train"),documents); 
    test_docs = filter(lambda doc: doc.startswith("test"),documents); 
    #To get the raw data of a document 
    data = reuters.raw(documents[0]) 
    #to get the categories/class in your case 
    category = reuters.categories(documents[0]) 

現在,你可以使用這些訓練和測試。在一個簡單的堅果殼中,test_docs和train_docs包含具有原始內容的文檔及其各自的類別,可以通過上述方法獲取它們。