2012-09-03 32 views
5

我最近開始使用weka,我試圖使用樸素貝葉斯將推文分爲正面或負面。因此,我有一套訓練集,其中包含我爲該標籤提供的推文,以及一組測試集,其中包含所有標籤均爲「正面」的推文。當我跑樸素貝葉斯,我得到如下結果:正確分類實例的含義weka

正確分類情況:69 92% 錯誤分類情況:6 8%

然後,如果我改變了微博的標籤在測試設置爲「負」跑又樸素貝葉斯,結果被反轉:

正確分類情況:6 8% 錯誤分類情況:69 92%

我認爲正確分類實例表明樸素貝葉斯和精度它應該是一樣的沒有與測試集中推文的標籤有關。我的數據有什麼問題,或者我不正確地理解正確分類的實例的含義?

非常感謝您的時間,

Nantia

回答

5

在測試集上的標籤都應該是實際的正確分類。性能是通過要求分類器對測試集中每個實例的分類給出最佳猜測來計算的。然後將預測分類與實際分類進行比較以確定準確性。因此,如果您翻轉了您提供的「正確」值,結果也會翻轉。

+0

非常感謝@Junnux&Antimony的快速解答!測試集是這樣創建的:我給我的程序一個搜索詞,twitter api返回包含這個詞的推文,這些推文組成我的測試集,然後運行樸素貝葉斯。所以我無法爲測試集添加正確的標籤。如果我理解得很好,在這種情況下,我將能夠得到分類器對測試集標籤的答案,但我無法評估準確性。我是否正確? – nadia

+0

你是對的,假設你至少有訓練集的標籤。如果你甚至沒有,那麼你採取了錯誤的做法。樸素貝葉斯是監督學習的一種算法。如果你沒有標籤,那麼你正在尋找的是__unsupervised__學習,這需要一套不同的算法,並且通常會導致更糟糕的結果。我建議要麼找到一種方法來標記您的數據或谷歌無監督學習。 – Antimony

+0

是的,我的目的是監督學習,所以我爲我的培訓班設置了標籤。再次感謝!你真的幫我解決了一些問題。 :) – nadia

1

根據您的訓練集,69.92%的實例被分類爲正面。如果測試集的標籤,即正確答案,表明它們都是正數,那麼正確率爲69.92%。如果測試集(以及分類)相同,但切換正確的答案,那麼當然,正確的百分比也將是相反的。

請記住,爲了評估分類器,您需要測試集的真實標籤。否則,您無法將分類器的答案與真實答案進行比較。在我看來,你可能誤解了這一點。如果這是您想要的,您可以獲取未看到的數據的標籤,但在這種情況下,您無法評估分類器的準確性。