2016-10-13 45 views
1

因此,我一直在使用本教程https://weka.wikispaces.com/Text+categorization+with+WEKA中的示例「TextCategorizationTest.java」。實例中沒有一個類的ARFF

我有一個目錄有兩個文件夾:「neg」和「pos」。這兩個文件夾代表應該在我的ARRF中的類。問題是,當嘗試創建ARFF文件時,實例不包含「pos」的屬性類,但它們包含屬性類「neg」。

這是我的ARFF文件:http://pastebin.com/6nGWEyMq

正如你所看到的, 「POS」 實例介紹了這種格式: @data {1 1,3 1,24 1,27 1,29 1 ,37 ...} 「neg」實例出現在這種格式中: {0 neg,1 1,2 1,3 1,6 1 ...}

我該如何解決這個ARFF問題?我會接受來自weka代碼或weka GUI的解決方案。

回答

1

你的ARFF文件完全正常,沒有必要改變它。

您的ARFF文件採用稀疏格式,這意味着值爲0的屬性將被省略。對於您期望許多屬性爲0的場景,例如字數,這種格式更加緊湊。

格式爲:

{index value,index value,index value, ...} 

但正如我所說,屬性值爲0將被省略,所以纔有了指數不屬於0這裏列出的屬性。

使用它們的值索引(不要與屬性索引相混淆)存儲名義屬性,並且類屬性定義(具有索引0的第一個屬性)以{pos,neg}的順序包含它們,所以「pos」的值索引爲0而「neg」的價值指數爲「1」。這樣所有「pos」條目都會丟失,因爲「pos」(索引爲0)是默認值。

數據的一些行的第一列是稀疏的格式(如你的貼吧):

@data 
{1 1,3 1,24 1,27 1, ...} 
{1 1,4 1,5 1,8 1,17 1,24 1,26 1,29 1, ...} 
... 
{0 neg,17 1, ...} 

這相當於在茂密的格式如下:

@data 
{0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0, ...} 
{0,1,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,1, ...} 
... 
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0, ...} 
+0

首先你說「pos」索引爲1,之後你說pos的索引爲0.標稱屬性使用它們的索引存儲,所以「neg」索引爲0,「pos」索引爲「1」。這樣所有「pos」條目都會丟失,因爲「pos」(索引爲0)是默認值。 –

+0

你說得對,當我把它寫下來並混合起來的時候,我毫不在意。我修好了它。 pos = 0和neg = 1。我也剛剛意識到我使用「索引」上下文相關。我希望我也能澄清一下。 – Sentry

+0

謝謝你的回答! –

相關問題