Weka GUI - TF-IDF未计算 - 请帮助我的学术工作

时间:2013-06-05 13:07:35

标签: weka knn tf-idf

我想在WEKA GUI中使用带有TF-IDF的KNN算法。首先,我在默认条件下运行算法。其次我在StringToWordVector过滤器中选择“IDFTransform”和“TFTransform”为“true”并运行。
两个结果中存在无差异

结果1:

Correctly Classified Instances        1346               91.3781 %

结果2:

Correctly Classified Instances        1346               91.3781 %

我的“.arff”文件如下:

@relation et9

@attribute 'alis' real
@attribute 'banka' real
...
@attribute 'urun' real
@attribute 'class' {yes, no}

@data
70,0,0,0,3,0,40,0,3,1,0,0,20,0,717,2,4,0,0,0,2,5,0,0,0,717,0,1,0,30,yes
22,0,0,63,158,0,1,0,7,0,10,0,4,0,57,0,0,0,0,204,0,0,2,2,0,530,0,0,6,0,yes
0,0,1,0,0,0,0,0,2,1,3,0,0,0,0,0,5,0,0,0,0,0,2,1,0,0,0,0,0,0,no
...


我知道StringToWordVector用于字符串。但我想为这个“.arff”文件计算TF-IDF。 如何使用我当前的“.arff”文件并使用TF-IDF获得KNN算法结果?

(这是我的学术工作。请帮忙......)

1 个答案:

答案 0 :(得分:2)

根据Weka的文档,StringToWordVector过滤器“将字符串属性转换为表示单词出现的一组属性 [...]”。因此,将此筛选器应用于不包含任何String属性的arff文件将不会对数据集产生任何影响。

为了使用此过滤器,您需要准备一个包含String属性的arff文件,其中此属性的值是给定实例的文本。例如,如果每个实例代表一条推文,则推文中的文本将是此String属性的值。有关在weka中处理文本的更多信息,请记录here