7

不均衡なデータ(90%、5%、5%)で3つのクラスの問題が発生しています。次に、LIBSVMを使用して分類器をトレーニングしたいと思います。

問題は、LIBSVMがパラメーターガンマとコストを最適化して最適な精度を実現することです。つまり、例の100%がクラス1に分類されますが、これはもちろん私が望んでいることではありません。

重みパラメータ-wを変更しようとしましたが、あまり成功しませんでした。

だから私が欲しいのは、全体的な精度ではなく、クラスごとに分けられた精度と再現率のためにコストとガンマを最適化するようにgrid.pyを変更することです。それを行う方法はありますか?または、このようなことを実行できる他のスクリプトはありますか?

4

4 に答える 4

8

-w パラメーターは、不均衡なデータに必要なものです。これまでに何を試しましたか?

クラスが次の場合:

  • クラス 0: 90%
  • クラス 1: 5%
  • クラス 2: 5%

次のパラメーターを svm に渡す必要があります。

-w0 5 -w1 90 -w2 90
于 2012-07-10T15:08:21.190 に答える
4

別の方法を試したい場合は、svmlightファミリのプログラムの1つであるhttp://www.cs.cornell.edu/people/tj/svm_light/svm_rank.htmlを使用して、ROC曲線の下の領域を直接最小化します。

AUCを最小化すると、トレーニング例を再重み付けするよりも良い結果が得られる可能性があります。

于 2012-07-14T13:09:50.583 に答える