2012-04-09 101 views
1

我有一個未標記的數據集,我想用我的新訓練分類器在Weka中使用NaiveBayes分類進行分類。所以實際上,當我在Weka的Classify模式下,如果我給出Supplied Test set選項,那麼它只有在它被標記並評估並給出準確性時才接受測試集。 但我想要的是使用train.csv或train.arff文件進行訓練,然後給它一個新的看不見的和未標記的test.csv或test.arff文件,並對它進行分類並根據訓練文件中的類給它添加標籤。但是,如果我提供了一個未標記的文件作爲測試文件wweka它給:我的訓練和測試文件如何使用Weka中新近訓練的NaiveBayes分類器對未標記的數據集進行分類

ERROR: Train and Test set not compatible

樣本格式是如下:

 
Train.csv file: 
article story .......hockey class 
1  0  ...... 0  politics 
0  0  .......1  sports 
. 
. 
. 
. 
.       sports 

和Test.csv文件:

 
article story .......hockey class 
0  1  ...... 0  
1  0  .......1  
. 
. 
. 
. 
. 

那麼如何使用NaiveBayes分類器對Weka中的未標記數據集進行分類?

+0

如果我的答案幫助您澄清了想法,可以通過右鍵單擊答案旁邊的「檢查」標記來接受我的答案。謝謝。 – 2012-04-20 14:44:32

回答

0

即使您的測試裝置已貼上標籤,Weka也不會在第一階段看到它。它將使用您用訓練數據開發的分類器,然後將分類器應用於您提供的測試集。分類器然後預測每個實例類,然後Weka跟蹤正確或不正確的分類。所以,你在這裏做什麼正是你想要實現的。錯誤是說訓練和測試集不兼容,因爲我相信你已經從測試集中刪除了「類」標籤。別擔心。保持原樣,並且從Weka獲得的準確性是分類器的實際性能。希望有所幫助。

+1

你是對的類標籤,但其餘的是錯的。當Weka只有預測的類別時,Weka如何計算性能,而不是實際的類別? – Sentry 2013-05-08 10:03:24

1

看來你缺少類標籤。 Weka要求訓練和測試集具有相同順序的完全相同的屬性。現在有兩種情況:

你知道你的測試類設置

計算性能的實際類標籤與預測發生的比較。您需要像在訓練集中那樣在測試集中提供類標籤。

你不知道你的測試類設置

要計算性能,Weka的需要預測類與實際比較的類。如果您沒有實際的課程,則無法計算性能。你只能預測課程。 如果您只是想預測,您必須爲您的測試實例添加缺少值的class標籤。

0

你不能離開這一切空,你需要設置至少一個在類字段中的每個類別標籤(如某種「線索」爲WEKA的)

  • 文章故事..... ..hockey類
  • 0 1 ...... 0政治
  • 1 0 1 .......運動
  • 1 1 1 .......?
  • 1 1 ....... 1?

兩個第一行將爲weka提供一個預測類的例子。然後,您可以使用您的訓練有素的模型,預測與沒有課程的實例(?)

相關問題