我想使用Weka進行文本分類。 爲此,使用稀疏ARFF數據文件格式是有意義的。 使用Weka的3.7.2,我想:Weka字符串屬性稀疏ARFF文件
- 轉化文本目錄的實例對象使用 TextDirectoryLoader。
- 使用StringToWordVector將前一級產生的字符串轉換爲數字。
第一階段工作正常。第二階段產生的問題,在 Weka's ARFF file format specification這樣描述:
警告:有一個已知問題,從具有字符串屬性數據集節能SparseInstance對象。在Weka中,字符串和標稱數據值存儲爲數字;這些數字充當可能屬性值數組中的索引(這非常有效)。但是,第一個字符串值被分配爲索引0:這意味着在內部將該值存儲爲0.當寫入SparseInstance時,不會輸出內部值爲0的字符串實例,因此它們的字符串值將丟失將再次讀取arff文件,默認值0是不同字符串值的索引,因此屬性值似乎會更改)。
的ARFF格式表明該解決方案:
爲了解決這個問題,在索引0添加一個虛擬的字符串值,每當您聲明可能在SparseInstance使用字符串屬性從未使用對象並保存爲稀疏ARFF文件。
我想這樣做 - 添加一個虛擬字符串。我沒有做到這一點手動(通過編輯ARFF文件)。任何已經完成這項工作的人都可以發表一個例子 - 這樣做的程序片段,正確修改的ARFF文件或者其他方式來做到這一點?
謝謝。
[Weka printing sparse arff file]可能的重複(http://stackoverflow.com/questions/9839986/weka-printing-sparse-arff-file) – 2012-05-30 09:43:37