0

因此,我們在一組15k推文上運行多項式樸素貝葉斯分類算法。我們首先根據Weka的StringToWordVector函數將每條推文分解爲一個詞特徵向量。然後我們將結果保存到一個新的arff文件中作爲我們的訓練集。我們用另一組5k推文重複此過程,並使用從我們的訓練集中派生出的相同模型重新評估測試集。如何從Weka文本分類中輸出生成的文檔

我們想要做的是輸出weka分類在測試集中的每個句子及其分類......我們可以看到一般信息(精確度,召回率,f分數)的性能和準確性該算法,但我們無法看到weka分類的單個句子,基於我們的分類器...是否有反正這樣做?

另一個問題是,最終我們的教授會給我們20K多的推文,並期望我們對這個新文檔進行分類。我們不知道如何做到這一點,但作爲:

All of the data we have been working with has been classified manually, both the training and test sets... 
however the data we will be getting from the professor will be UNclassified... How can we 
reevaluate our model on the unclassified data if Weka requires that the attribute information must 
be the same as the set used to form the model and the test set we are evaluating against? 

感謝您的任何幫助!

回答

1

完成這些任務的最簡單方法是使用FilteredClassifier。這種分類器集成了一個Filter和一個Classifier,所以你可以連接一個StringToWordVector過濾器與你喜歡的分類器(J48,NaiveBayes,無論),你將永遠保持原始訓練集(未處理的文本),並應用分類器通過使用由StringToWordVector過濾器派生的詞彙表來發送到新的推文(未處理)。

您可以在「Command Line Functions for Text Mining in WEKA」的命令行中通過「A Simple Text Classifier in Java with WEKA」中的程序查看如何執行此操作。

+0

謝謝,我會試試這個! – Gthoma2