1

WEKA GUI の TF-IDF で KNN アルゴリズムを使用したいと考えています。まず、デフォルトの条件でアルゴリズムを実行します。次に、StringToWordVector フィルターで「IDFTransform」と「TFTransform」を「true」として選択し、実行します。2 つの結果に違い
はありません。

結果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フィルターは「文字列属性を単語の出現を表す一連の属性に変換します[...]」。したがって、このフィルタを String 属性を含まない arff ファイルに適用しても、データセットには影響しません。

このフィルターを利用するには、String 属性を含む arff ファイルを準備する必要があります。この属性の値は、特定のインスタンスのテキストです。たとえば、各インスタンスが 1 つのツイートを表す場合、ツイートのテキストがこの String 属性の値になります。weka でテキストを操作する方法の詳細については、こちらに文書化されています。

于 2013-06-11T06:46:22.657 に答える