PCAとランダムフォレスト


12

最近のKaggleコンテストでは、トレーニングセット用に10の追加機能を手動で定義しました。これらの機能は、ランダムフォレスト分類器のトレーニングに使用されます。新しい機能を備えたデータセットに対してPCAを実行し、それらが互いにどのように比較されているかを確認することにしました。分散の〜98%が最初の成分(最初の固有ベクトル)によって運ばれることがわかりました。次に、分類器を複数回トレーニングし、一度に1つの機能を追加し、交差検証とRMSエラーを使用して分類の品質を比較しました。機能を追加するごとに分類が改善され、最終結果(10個の新しい機能すべてを含む)が(たとえば)2個の機能を使用した最初の実行よりもはるかに優れていることがわかりました。

  • PCAが分散の〜98%がデータセットの最初のコンポーネントにあると主張したのに、なぜ分類の品質はそれほど向上したのですか?

  • これは他の分類器にも当てはまりますか?RFは複数のコアにまたがるので、トレーニングは(たとえば)SVMよりもはるかに高速です。

  • データセットを「PCA」空間に変換し、変換した空間で分類器を実行した場合はどうなりますか。結果はどのように変わりますか?


2
PCAを実行する前にデータを正規化しましたか?私は推測していた場合、私はあなたの特徴のひとつが他よりもはるかに大きな規模...上だったと思うだろう
マルク・震え

1
PCA関数は、計算を行うときにすべてを自動的に正規化します。
ヴィシャル

1
多分それは私だけかもしれませんが、次のことを明確にできますか?最初のステップは、10の(未加工の)機能を一度に1つずつ追加することでしたか、またはPCAコンポーネントを直接操作しましたか?前述のとおり、これは最初のケースであり、PCAの結果を直接操作できるかどうか疑問に思います。どちらの場合でも、新しい機能を含むすべての変数にPCAを適用しましたか、それとも後の変数にのみ適用しましたか?
-chl

10個の追加機能を備えた元のマトリックスにPCAを適用しました。次に、一度に1つの機能を追加することで分類器をトレーニングしたので、各機能の追加によってもたらされる漸進的な改善を測定できました。私はPCA空間に(10個の新機能と)データセットを変換した後、PCA空間でのデータセットに直接分類器を実行した場合私の質問は何だった
ヴィシャル

回答:


7

予測モデリングを行うとき、特徴の変化ではなく、応答の変化を説明しようとしています。機能のバリエーションの多くを単一の新しい機能に詰め込むことで、機能全体の予測力を大量に取得できると考える理由はありません。

これは、部分最小二乗ではなく主成分回帰の違いとしてよく説明されます。


「多くの機能バリエーションを1つの新しい機能に詰め込むことで、機能全体の予測力の大部分を獲得できると信じる理由はありません。」それは決してポイントではなく、これを行うと非常に混乱した分類器になります!目標は、一般化エラーを減らすことを目的として、データセットのさまざまな側面をすべて示す一連の機能を持つことでした。PCAを取得するポイントは、機能の違いを確認することでした。そして、私の投稿のポイントは、私の機能はそれほど変わらなかったが、それでもRFの結果は改善されたということでした。
ヴィシャル

1
同じロジックを引き続き適用できます。新しい機能は、以前の機能を備えた非常にコリニアに近く、さらに予測力を高めることができます。特にrandomForestの場合:ほぼ重複する機能が一般的に重要である場合、1つのバージョンまたは別のバージョンが分割候補として選択される可能性が高くなります。
シアパークス

これはフォローアップの質問です。実際に分類子を実行せずに、ランダムフォレスト分類子の機能を事前に選択して分類を改善するにはどうすればよいですか。審査プロセスはありますか?どうやってやるの?:)
ヴィシャル

有用なアプリオリ選択方法は知りません。のようないくつかのRパッケージを介して、重要性と選択性の多くのネストされたループを実行できますBoruta。私もそれらが有用であることがわかりませんでした。特定の機能が効果を発揮しないと考えるのは理不尽です。他の機能よりも特定の機能を強調することは有用であると信じることができますが、基本のrandomForestアルゴリズムは既にこれをかなりうまく行っています。モデリングに深く興味があり、より高いパフォーマンスが必要な場合は、他のアルゴリズム(一部はブーストされたツリーなど)をrandomForestとスタックすることをお勧めします。
シアパークス

1
特徴(Jeffries-Matusita距離、発散など)に基づいて、クラスの分離可能性の指標を事前に計算できます。これにより、どの機能がクラスを区別するのに役立つかを一般的に理解するのに役立ちますが、RFの動作のために、どの機能が分類に最適なセットを提供するかをここから選択するのは容易ではありません。ここでの明確な障害の1つは、RFがそれ自体でさまざまな相互作用を見つけることです。
JEquihua

6

最初の主成分は、すべての機能の線形結合です。ほぼすべての変動性を説明するという事実は、第1主成分の変数の係数のほとんどが重要であることを意味します。

これで、生成する分類ツリーも少し異なる動物になりました。これらは、分類したいカテゴリを最適に分離する連続変数でバイナリ分割を行います。これは、最大の分散の方向を与える連続変数の直交線形結合を見つけることとまったく同じではありません。実際、PCAをクラスター分析に使用したCVに関する論文を最近議論しましたが、著者は、最初のいくつかの主成分ではなく、最後の主成分に最良の分離が見られる状況があることを発見しました。


3
「実際、最近、PCAでCVに関する論文を議論しました」これへのリンクはありますか?私は非常に興味があります:)
user603

議論を探します。
マイケルR.チャーニック

あなたは見てとることがとても親切になり、関連する質問を
ナディア
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.