バイナリ分類アルゴリズムを選択します
-
16-10-2019 - |
質問
バイナリ分類の問題があります:
- トレーニングセットの約1000のサンプル
- バイナリ、数値、およびカテゴリーを含む10の属性
このタイプの問題に最良の選択はどのアルゴリズムですか?
デフォルトでは、SVM(バイナリ機能に変換された名目属性値がある予備的なもの)から始めます。
解決
データセットについてもう少し知ることなく、およびデータセットが機能ベクトルに基づいて分離可能であることを言うのは難しいですが、サンプルセットが比較的小さいため、標準のランダムフォレストで極端なランダムフォレストを使用することをお勧めします。
極端なランダムフォレストは、木に分割を最適化する代わりに、極端なランダムフォレストがランダムに分割を行うという1つの例外を備えた標準的なランダムフォレストにかなり似ています。当初、これはネガティブのように見えますが、一般的に、トレーニングセットのAUCは少し悪化する可能性が高いですが、一般的には一般化と速度が大幅に優れていることを意味します。
ロジスティック回帰は、これらの種類のタスクにとってもかなり堅実な賭けですが、あなたの比較的低い次元と小さなサンプルサイズでは、過剰適合を心配するでしょう。 K-Nearest Neighborsを使用してチェックアウトすることをお勧めします。これは、低次元で非常に意志を実行することが多いため、通常はカテゴリ変数をうまく処理しないためです。
問題についてこれ以上知らずに1つを選択しなければならなかった場合、この種のデータセットに適切な一般化を提供する可能性が非常に高いため、極端なランダムフォレストに賭けます。他のほとんどの方法よりも。
他のヒント
低いパラメーターの場合、かなり限られたサンプルサイズ、およびバイナリ分類器ロジスティック回帰は、十分に強力でなければなりません。より高度なアルゴリズムを使用できますが、おそらく過剰になります。
カテゴリ変数がミックス内にある場合、1-of-Nエンコード変換なしでカテゴリ変数を直接処理するため、ランダムな決定森林に到達します。これにより、情報が少なくなります。
線形SVMは良い出発点でなければなりません。を見てみましょう これ 適切な推定器を選択するガイド。
最初に複雑な方法の使用をお勧めしません。最初はより高速な単純なアプローチ(KNN、NBCなど)を使用してから、線形回帰、ロジスティック回帰、LDA、CART(RF)、KREG、および最小二乗SVM、勾配上昇SVM、ANNS、およびメタヘウラスティクス(Greedyyガス、群れの知能、アリのコロニーの最適化などでヒューリスティックヒルクライミング