私はWEKAで10倍CVを使ってクラシファイアの性能を評価しようとしています。私は、3つの異なるクラス、 "po"、 "ng"、 "ne"で32,000レコードを分割しています。 po:〜950 ng:〜1200 ne:〜30000WEKAクラシファイア評価
CVを実行するためにデータセットを分割する必要がありますか? CVのために、各クラスのレコード数はおおよそ同じでなければならないと仮定しているので、 "ne"クラスに不公平な重み付けをしないようにしていますか?
私はWEKAで10倍CVを使ってクラシファイアの性能を評価しようとしています。私は、3つの異なるクラス、 "po"、 "ng"、 "ne"で32,000レコードを分割しています。 po:〜950 ng:〜1200 ne:〜30000WEKAクラシファイア評価
CVを実行するためにデータセットを分割する必要がありますか? CVのために、各クラスのレコード数はおおよそ同じでなければならないと仮定しているので、 "ne"クラスに不公平な重み付けをしないようにしていますか?
第1に、あなたは同等の番号を持つ必要はありません。あなたのクラスの症例のすべてのデータセットがバランスしているわけではありません。はい、それは非現実的な答えを与えるかもしれません。データセットの不均衡は、一般的な現象であるが、IT-を処理するために、いくつかの戦術があります
1)の追加Oversampling-過半数クラス
のレコードを削除Undersampling-データセット
をリサンプリング少数派のレコード
あなたはそれを行うためにSMOTEアルゴリズムを使用することができます。
2)パフォーマンス・メトリック
カッパ(またはCohenのカッパのようないくつかの測定基準)は、データのクラスの不均衡によって正規化された分類精度に大きな作業することができます。
3)コストに敏感な分類子 ウェカは、任意の分類器をラップし、ミスの分類のためのカスタムペナルティマトリックスを適用することができCostSensitiveClassifierを持っています。 しかし、ここでの課題は、コストがドメインに依存し、データに依存しないためにコストを決定する方法です。
クロスバリデーションの場合、私はこのリンクが有用であることを発見しました。 http://www.marcoaltini.com/blog/dealing-with-imbalanced-data-undersampling-oversampling-and-proper-cross-validation
希望します。