機械学習ツールWekaの使用に関する質問
-
05-07-2019 - |
質問
分類にWekaのエクスプローラー機能を使用しています。
つまり、NUMERIC値の2つの機能を持つ.arffファイルがあり、クラスはバイナリの0または1(たとえば{0,1})です。
サンプル:
@RELATION summary
@ATTRIBUTE feature1 NUMERIC
@ATTRIBUTE feature2 NUMERIC
@ATTRIBUTE class {1,0}
@DATA
23,11,0
20,100,1
2,36,0
98,8,1
.....
この.arffファイルを読み込み、10倍の交差検証(テストファイルなし)を使用し、NaiveBayesを選択してからデータを分類すると、5つのラベルが正しく、100のラベルが正しく表示されます。これまでのところとても良い。
今、.arffファイルを大幅に変更します(フィーチャ属性に完全にランダムな値を与えます)。そして、上記を繰り返し、分類するときに正確な同じ統計を取得します。
.arffファイルにさまざまな分類アルゴリズムを追加してこれを試しました。それでも、.arffファイルにどの値を指定しても、(同じアルゴリズム内で)まったく同じ統計情報です。
ここで何か間違ったことをしていますか?
解決
これ以上の情報なしで伝えるのは難しいですが、2つの提案があります:
-
2つのクラスの相対的な割合は? 5対100ですか?非常に歪んだクラスラベル分布では、多くのアルゴリズムがうまく機能しません。
-
ちょっと考えますが、クラスラベルを数字から文字列に変更してみてください(例: 'class1'および 'class2')。 Wekaはこれらの「公称」属性を呼び出すため、数字の使用は許可されない可能性があります。
他のヒント
また:(他のデータで折りたたまれる前に)元のツリーのみを表示するため、クロス検証はUIではかなり恐ろしいことを覚えておいてください。最終的なツリーを生成するには、プログラムAPIが必要です。分割トレーニング/テストデータセットを使用することをお勧めします。
変更しようとしましたか
@ATTRIBUTE class {1,0}
with
@ATTRIBUTE class {yes,no}