最初に試す上位5つの分類子


25

のような明らかな分類器の特徴に加えて

  • 計算コスト
  • 機能/ラベルの期待されるデータタイプと
  • データセットの特定のサイズと次元への適合性、

まだあまり知られていない新しいデータセット(たとえば、セマンティクスと個々の機能の相関)で最初に試す上位5(または10、20?)分類子何ですか?通常、Naive Bayes、Nearest Neighbor、Decision Tree、SVMを試します。ただし、この選択を行う理由はありません。

最も重要な一般的な分類アプローチをカバーする分類器を選択する必要があると思います。その基準に従って、またはその他の理由で、どの選択をお勧めしますか?


更新:この質問の別の定式化は、「分類に対する一般的なアプローチが存在し、最も重要/人気のある/有望な方法をカバーする特定の方法はどれですか?」です。


これは(stats.stackexchange.com/questions/3458/…)の複製だと思います。ここでの質問の唯一の追加の価値は、「分類子を選択するための基準」である可能性があります(これにより、質問は非常に一般的なものになります)。重複している場合は、クローズに投票し、そうでない場合はcwに投票してください;)
steffen

@steffen:参照された質問は役に立ちますが、重複していないと思います。実際、私の質問はかなり一般的です。特定の問題の解決策を探しているわけではありませんが、一般的な理由でどの学習者を使用するのかを考えています。それに応じて質問を更新します。
オーベンゾンネ

回答:


21

ランダムフォレスト

ほとんどの場合、調整する必要はなく、高速で、堅牢で、優れた精度は、正規化を必要とせず、共線性に影響されず、トレーニングの副作用として非常に優れたエラー近似と有用な重要度ランキングを生成します。

欠点:kNNやNBなどの自明な方法よりも遅く、同等のクラスで最適に動作し、カーネルトリックを必死に必要とする問題に対してSVMよりも精度が悪く、ハードブラックボックスであり、コーヒーを入れません。


1
@mbq(+1)クラスの不均衡については、バギング中に層別サンプリングに依拠できます。
-chl

3
@mbq、コーヒーをmakeれませんか?それはまさに契約を破る者です。
枢機

Random Forestsへのヒントをありがとう。しかし、それらだけを試してみますか?結果に満足できない場合はどうしますか?他にどの分類器を試してみますか?または、誰かが「他の方法を試しなかったのはなぜですか」と尋ねたら、あなたは何に答えますか?
オーベンゾンネ

@Obenまあ、あなたは一種の答えごとに分類子を作っていると理解しています。

@mbq:そうではありませんが、そのようなプールであることがわかりました。おそらく、私は質問で自分自身を十分に明確にしなかったでしょう。実際に、さまざまな一般的な分類方法(さまざまな長所と短所)をカバーするために、最初に試すべき分類器のセットを知りたいと思いました。私はいつももっと分類器を試してはいけないかと自問します。私が試したものがすでに最も典型的/有望なアプローチを表していることを知ることは、ここで役立つでしょう。しかし、そのためには、どの分類器のセットについてこれが正しいかを知る必要があります。(私は統計の専門家には程遠いので、ここで私の心が少しひねられているかどうかを教えてください)
オーベンゾンネ

7

ガウス過程分類器(ラプラス近似を使用しない)、できればハイパーパラメーターの最適化ではなく周辺化を使用してください。どうして?

  1. 確率的分類を与えるため
  2. カーネル関数を使用して、非ベクトルデータを直接操作したり、専門知識を組み込んだりできます。
  3. それらはモデルを適切に適合させる際の不確実性を処理し、その不確実性を意思決定プロセスに伝播できます。
  4. 一般的に非常に良好な予測パフォーマンス。

欠点

  1. スロー
  2. 多くのメモリが必要です
  3. 大規模な問題には実用的ではありません。

ただし、最初の選択肢は、正規化されたロジスティック回帰またはリッジ回帰です(機能選択なし)-ほとんどの問題では、非常に単純なアルゴリズムがかなりうまく機能し、誤解しにくくなります(実際、アルゴリズム間のパフォーマンスの差はパフォーマンスの差よりも小さいです)それらを運転するオペレーター間)。


1

自分で新しいデータセットに近づいているときは、問題全体を監視し始める必要があります。まず、カテゴリ特徴の分布と、各連続特徴の平均および標準偏差を取得します。次に:

  • X%を超える欠損値を持つフィーチャを削除します。
  • 特定の値が相対頻度の90〜95%を超えた場合、カテゴリフィーチャを削除します。
  • CV = std / mean <0.1の連続フィーチャを削除します。
  • パラメーターのランキングを取得します。たとえば、連続のANOVAやカテゴリカルのカイ2乗。
  • 機能の重要なサブセットを取得します。

次に、通常、分類手法を2つのセットに分割します。ホワイトボックス手法とブラックボックス手法です。「分類子の仕組み」を知る必要がある場合は、最初のセットで選択する必要があります。たとえば、決定木やルールベースの分類子です。

モデルを構築せずに新しいレコードを分類する必要がある場合は、KNNなどの熱心な学習者を確認する必要があります。

その後、精度と速度の間にしきい値を設ける方が良いと思います。ニューラルネットワークはSVMよりも少し遅いです。

これは私のトップ5の分類手法です。

  1. 決定木;
  2. ルールベースの分類子。
  3. SMO(SVM);
  4. Naive Bayes;
  5. ニューラルネットワーク。

4
-1大きいp小さいnの絶対的に誤ったワークフロー、FSオーバーフィットが保証されます。

1
kNNは、熱心な学習者ではなく、怠learnな学習者ではありません(分類するパターンが登場するまで本当に必要になるまで、実際には何もしません)。分類子を適用する前に行う前処理は、分類子の違いよりもパフォーマンスに大きな影響を及ぼす可能性があります。機能の選択は特に難しく(簡単にオーバーフィッティングにつながる)、正則化を伴うSVMのような方法は、通常、機能を選択しなくてもパフォーマンスが向上します。潜在的な落とし穴が多すぎるため、ニューラルネットワークはお勧めできません。
ディクランマースピアル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.