2013-01-05 132 views
1

我正在使用weka來對二進制數據進行聚類。請注意,我通過API或源代碼直接使用weka。如何使weka將空字符串視爲0

我的數據輸入例如

attrib1, attrib2, atrib3 
0,1,0 
1,0,1 
0,0,1 

但爲了減少該.csv大小的數據提供者(我沒有對數據集的直接訪問)一個巨大的.csv文件忽略零和上面的片段被writtern作爲

attrib1, attrib2, atrib3 
    ,1, 
    1,,1 
    ,,1 

所以我想通了WEKA作爲一個「缺失值」(這是在代碼庫中使用的術語),我不喜歡把兩個逗號之間的值。

我一直在試圖直接通過源代碼做出來。

特別是CSVLoader.getDataSet()CSVLoader.getInstance()以及ConverterUtils.getToken()似乎是負責這個東西。

我已經嘗試了很多更改代碼,使秧雞對待這個空值(因爲這是秧雞認爲他們是)爲零,但我不能找到解決方案。

有人可以提供一個更好的解決方案?

+0

參數見我更新的答案,認爲如APRIORI可以選擇將缺失值視爲0.其他人可能會將其替換爲模式。 –

回答

1

你有沒有使用arff格式的考慮?

的ARFF格式的主要優點是,它有一個稀疏的變體。

而且我想你能以某種方式添加自定義分析器。那麼你是否考慮過爲你的個人CSV版本修改CSV解析器?它不應該太難做。

一些算法(例如APRIORI)具有允許治療缺失值爲0

相關問題