1

我想在 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 算法结果?

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

4

1 回答 1

2

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

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

于 2013-06-11T06:46:22.657 回答