2

最初に言っておきますが、私は WEKA の初心者です。

インスタンスのはい/いいえの答えを得るために特定のメトリックが使用されているバイナリ分類の問題にWEKAを使用しています。

この問題を例証するために、BayesNet を使用して 190 個の「はい」と 98 個の「いいえ」の値を持つ 288 個のインスタンスを持つセットについて得た混同行列を次に示します。

  a   b   <-- classified as
190   0 |   a = yes
 98   0 |   b = no

この絶対的な分離は、他の分類器にも当てはまりますが、すべての分類器に当てはまるわけではありません。とはいえ、分類子がそのような程度に二極化された値を持っていなくても、優勢なクラスに対して明確な偏りがあります。たとえば、RandomForest での結果は次のとおりです。

  a   b   <-- classified as
164  34 |   a = yes
 62  28 |   b = no

非常に明白な何かが欠けていると確信しています。

4

1 に答える 1

1

もともと、BayesNet が問題だと思っていました。でも今はあなたのデータだと思います。

コメントですでに指摘されているように、問題は不均衡なクラスにあると思いました。ほとんどの分類器は精度を最適化します。これは、あなたの場合(190 + 0) / 288 = 0.66、BayesNet と RandomForest の場合です(164 + 28) / 288 = 0.67

ご覧のとおり、違いはそれほど大きくありませんが、RandomForest によって検出されたソリューションはわずかに優れています。すべてを同じクラスに入れるわけではないため、「より良い」ように見えますが、統計的に有意であるとは思えません。

Lars Kotthoff が述べたように、言うのは難しいです。また、分離を改善するには機能が十分ではないと思います。

他の分類子を試すことに加えて、パフォーマンス測定を再検討する必要があります。精度は、各クラスのインスタンス数がほぼ同じ場合にのみ良好です。それ以外の場合は、MCCまたはAUCが適しています (ただし、実装に互換性がないため、AUC は WEKA の LibSVM では機能しません)。

あなたの例のMCCは、BayesNetの場合は0で、

  ((164*28) - (62*34)) / sqrt((164+62)*(34+28)*(164+34)*(62+28))
= (4592 - 2108) / sqrt(226 * 62 * 198 * 90)
= 2484 / sqrt(249693840)
= 0,15719823927071640929

ランダムフォレスト用。そのため、RandomForest はわずかに優れた結果を示していますが、それほど優れているわけではありません。

データを見ないとわかりませんが、おそらくうまく分離できません。

于 2013-03-19T10:56:08.897 に答える