ランダムな森林分類の前の高次元テキストデータのPCA?


13

ランダムフォレスト分類を実行する前にPCAを行うことは理にかなっていますか?

高次元のテキストデータを扱っており、次元の呪いを回避するために機能の削減を行いたいのですが、ランダムフォレストは既に何らかの次元の削減を行っていませんか?


7
RFアルゴリズムは、mtry各ツリーを構築するためにそれらのランダムなサブセット(いわゆるパラメーター)のみを取得するため、実際には多数の予測子の影響を受けません。また、RFアルゴリズムの上に構築された再帰的特徴除去技術もあります(varSelRF Rパッケージとその中のリファレンスを参照)。ただし、クロス検証プロセスの一部である必要がありますが、初期データ削減スキームを追加することは確かに可能です。質問は次のとおりです。機能の線形結合をRFに入力しますか?
chl

いくつの特徴/次元、F?> 1K?> 10K?特徴は、用語頻度、TFIDF、類似性メトリック、単語ベクトルなど、離散的または連続的ですか?PCAランタイムはFに対して2次です。
smci


回答:


12

レオ・ブリーマンは、「次元は祝福になる可能性がある」と書いています。一般に、ランダムフォレストは大きなデータセットで問題なく実行できます。データの大きさは?さまざまなフィールドは、主題の知識に応じてさまざまな方法で物事を処理します。たとえば、遺伝子発現研究では、非特異的フィルタリングと呼ばれることもあるプロセスで、低分散(結果にピークがない)に基づいて遺伝子が破棄されることがよくあります。これは、ランダムフォレストでの実行時間の短縮に役立ちます。ただし、必須ではありません。

遺伝子発現の例に固執すると、アナリストはPCAスコアを使用して遺伝子発現測定値を表すことがあります。考え方は、同様のプロファイルを、面倒ではない可能性のある1つのスコアに置き換えることです。ランダムフォレストは、元の変数またはPCAスコア(変数の代理)の両方で実行できます。このアプローチでより良い結果を報告した人もいますが、私の知識との良い比較はありません。

要するに、RFを実行する前にPCAを実行する必要はありません。でも君ならできる。解釈はあなたの目標によって変わる可能性があります。予測のみを行う場合、解釈の重要性は低くなります。


回答ありがとうございます。マルチラベルの問題には数千のラベルがあるため、速度が問題になります。このアプリケーションは、特定のイベントに関するtwitterとアナリストの両方の説明から抽出されたテキストデータのコーパスを分類しています。私はtf-idfの重み付けとbag of wordsモデルを使用しています。
マウス

8

既存の答えが不完全だと思ったので、これに2セントを加えたいと思います。

PCAを実行することは、以下の写真に示した特定の理由のために、ランダムフォレスト(またはLightGBM、またはその他の決定木ベースの方法)をトレーニングする前に特に役立ちます。

基本的に、最高の分散を持つ方向に沿ってトレーニングセットを調整することにより、完全な決定境界を見つけるプロセスをはるかに簡単にすることができます。

決定木はデータの回転に敏感です。なぜなら、それらが作成する決定境界は常に垂直/水平(つまり、軸の1つに垂直)であるためです。したがって、データが左の写真のように見える場合、これらの2つのクラスターを分離するのに非常に大きなツリーが必要になります(この場合は8層ツリーです)。しかし、右の写真のように、データをその主要コンポーネントに沿って整列させると、たった1つのレイヤーで完全な分離を達成できます!

もちろん、すべてのデータセットがこのように配布されるわけではないため、PCAが常に役立つとは限りませんが、試してみて、実際に有効かどうかを確認することは依然として有用です。念のため、PCAを実行する前に、データセットを単位分散に正規化することを忘れないでください!

PS:次元の削減に関しては、他のアルゴリズムと同様にランダムフォレストの問題は通常それほど大きくないという点で、他の人々に同意します。それでも、それはあなたのトレーニングを少しスピードアップするのに役立つかもしれません。決定木のトレーニング時間はO(n m log(m))です。ここで、nはトレーニングインスタンスの数、m-次元の数です。また、ランダムフォレストは、トレーニングする各ツリーのディメンションのサブセットをランダムに選択しますが、選択するディメンションの総数の割合が低いほど、パフォーマンスを向上させるためにトレーニングする必要があるツリーが多くなります。

ここに画像の説明を入力してください


1

ランダムフォレストの前のPCAは、次元の削減ではなく、ランダムフォレストのパフォーマンスが向上する形状をデータに提供するのに役立ちます。

一般に、元のデータと同じ次元を保持したままPCAでデータを変換すると、ランダムフォレストでより適切な分類が得られることを確信しています。


PCAランタイムは、多くの機能Fの2次関数であるため、必ずしも安価ではありません。
-smci

性能とは、予測性能を意味します。私は計算時間に言及していませんでした
-Donbeo

2
主張に正当性を追加できますか?PCAは常に結果を改善するとは限りません。たとえば、決定境界が回転(円など)に不変の場合、PCAを実行すると、データ(したがって、円)の再スケーリングと回転だけが行われますが、RFは多くの長方形の分割で楕円境界を近似する必要があります。
シコラックスは、モニカを復活させる
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.