ランダムフォレストアルゴリズム:いつ使用するか、どのように使用するか? 【長所と短所あり】
公開: 2020-12-24データサイエンスには、分類に関連する問題を解決できる幅広いアルゴリズムが含まれます。 ランダムフォレストは通常、分類階層の最上位にあります。 その他のアルゴリズムには、サポートベクターマシン、ナイーブバイアス分類器、および決定木が含まれます。
ランダムフォレストアルゴリズムについて学習する前に、まず決定木の基本的な動作と、それらを組み合わせてランダムフォレストを形成する方法を理解しましょう。
目次
デシジョンツリー
デシジョンツリーアルゴリズムは、教師あり学習アルゴリズムのカテゴリに分類されます。 デシジョンツリーの目的は、トレーニングプロセス中に作成されたルールに基づいて、ターゲット変数のクラスまたは値を予測することです。 ツリーのルートから始めて、ルート属性の値を分類したいデータポイントと比較し、比較に基づいて次のノードにジャンプします。
次に、決定木を扱う際の重要な用語とその重要性について説明します。
- ルートノード:ツリーの最上位ノードであり、そこから分割が行われ、より均質なノードが形成されます。
- データポイントの分割:データポイントは、分割後の標準偏差を減らす方法で分割されます。
- 情報ゲイン:情報ゲインは、分割後に達成したい標準偏差の減少です。 より標準偏差の減少は、より均質なノードを意味します。
- エントロピー:エントロピーは、分割が行われた後にノードに存在する不規則性です。 ノードの均一性が高いほど、エントロピーが少なくなります。
読む:ディシジョンツリーインタビューの質問
ランダムフォレストアルゴリズムの必要性
デシジョンツリーアルゴリズムは、過剰適合、つまりトレーニングデータの精度が高く、テストデータのパフォーマンスが低い傾向があります。 データの過剰適合を防ぐ2つの一般的な方法は、剪定とランダムフォレストです。 剪定とは、木の全体的な精度に影響を与えることなく、木のサイズを縮小することを指します。

次に、ランダムフォレストアルゴリズムについて説明します。
ランダムフォレストの主な利点の1つは、分類と回帰問題の両方で使用できることです。
その名前が示すように、森はいくつかの木を組み合わせることによって形成されます。 同様に、ランダムフォレストアルゴリズムは、いくつかの機械学習アルゴリズム(決定木)を組み合わせて、より高い精度を実現します。 これは、アンサンブル学習とも呼ばれます。 ここで、モデル間の相関が低いと、個々の予測よりも高い精度を生成するのに役立ちます。 一部のツリーが誤った予測を生成したとしても、それらの大部分は真の予測を生成するため、モデルの全体的な精度が向上します。
ランダムフォレストアルゴリズムは、他の機械学習アルゴリズムと同様に、PythonとRの両方で実装できます。
ランダムフォレストをいつ使用し、他のモデルをいつ使用するのですか?
まず、問題が線形か非線形かを判断する必要があります。 次に、問題が線形である場合、単一の特徴のみが存在する場合は単純線形回帰を使用する必要があり、複数の特徴がある場合は、多重線形回帰を使用する必要があります。 ただし、問題が非線形である場合は、多項式回帰、SVR、決定木、またはランダムである必要があります。
森。 次に、k-Fold Cross-Validation、Grid Search、XGBoostなど、モデルのパフォーマンスを評価する非常に関連性の高い手法を使用して、問題を解決する適切なモデルを結論付けることができます。
何本の木を使うべきかをどうやって知ることができますか?
初心者の方は、実験で必要な木の数を決めることをお勧めします。 通常、モデルを微調整して調整することで最良の値を見つけるために実際に手法を使用するよりも時間がかかりません。 ツリーの数など、ハイパーパラメータのいくつかの値を試してみます。 それでも、cover k-FoldCross-ValidationやGridSearchなどの手法を使用できます。これらは、ここでは木の数など、ハイパーパラメーターの最適値を決定するための強力な方法です。

ランダムフォレストにp値を使用できますか?
ここで、ランダムフォレストの場合、p値は非線形モデルであるため、重要ではありません。
バギング
デシジョンツリーは、トレーニングされたデータに非常に敏感であるため、過剰適合する傾向があります。 ただし、ランダムフォレストはこの問題を利用しており、各ツリーがデータセットからランダムにサンプリングして、さまざまなツリー構造を取得できるようにします。 このプロセスはバギングとして知られています。
バギングは、トレーニングデータのサブセットを作成することを意味するものではありません。 これは単に、トレーニングデータをツリーにフィードしているが、サイズNを使用していることを意味します。元のデータの代わりに、サイズN(Nデータポイント)のサンプルを置き換えて取得します。
機能の重要性
ランダムフォレストアルゴリズムを使用すると、特定の機能の重要性とその予測への影響を判断できます。 トレーニング後に各機能のスコアを計算し、それらを合計すると1になるようにスケーリングします。 これにより、予測プロセス全体に影響を与えないため、どの機能を削除するかがわかります。 機能が少ないほど、モデルが過剰適合の餌食になる可能性は低くなります。
ハイパーパラメータ
ハイパーパラメータを使用すると、モデルの予測機能が向上するか、モデルが高速になります。
まず、 n_estimatorパラメーターは、平均予測を行う前にアルゴリズムが構築するツリーの数です。 n_estimatorの値が高いということは、高い予測でパフォーマンスが向上することを意味します。 ただし、その値が高いと、モデルの計算時間も短縮されます。
もう1つのハイパーパラメータはmax_featuresです。これは、後続のノードに分割する前にモデルが考慮する機能の総数です。

さらに、 min_sample_leafは、内部ノードを分割するために必要なリーフの最小数です。
最後に、 random_stateは、同じハイパーパラメーターとトレーニングデータとともにrandom_stateの明確な値が選択された場合に、固定出力を生成するために使用されます。
ランダムフォレストアルゴリズムの長所と短所
- ランダムフォレストは、分類タスクと回帰タスクの両方を解決できる非常に用途の広いアルゴリズムです。
- また、関連するハイパーパラメータは理解しやすく、通常、それらのデフォルト値は適切な予測をもたらします。
- ランダムフォレストは、決定木で発生する過剰適合の問題を解決します。
- ランダムフォレストの制限の1つは、ツリーが多すぎるとアルゴリズムの処理が遅くなり、リアルタイムデータの予測に効果がなくなる可能性があることです。
また読む:分類アルゴリズムの種類
結論
ランダムフォレストアルゴリズムは、高精度の非常に強力なアルゴリズムです。 投資銀行、株式市場、eコマースWebサイトの分野での実際のアプリケーションにより、非常に強力なアルゴリズムを使用できます。 ただし、ニューラルネットワークアルゴリズムを使用するとパフォーマンスを向上させることができますが、これらのアルゴリズムは複雑になり、開発に時間がかかる場合があります。
デシジョンツリー、機械学習について詳しく知りたい場合は、IIIT-BとupGradの機械学習とAIのPGディプロマをご覧ください。これは、働く専門家向けに設計されており、450時間以上の厳格なトレーニング、30以上のケーススタディを提供しています。課題、IIIT-B卒業生のステータス、5つ以上の実践的なキャップストーンプロジェクト、トップ企業との仕事の支援。
ランダムフォレストアルゴリズムを使用することの短所は何ですか?
ランダムフォレストは、洗練された機械学習アルゴリズムです。 結果を見つけるために多くのツリーを生成するため、多くの処理リソースを必要とします。 さらに、決定木法などの他のアルゴリズムと比較して、この手法は多くのトレーニング時間を要します。 提供されたデータが線形である場合、ランダムフォレスト回帰はうまく機能しません。
ランダムフォレストアルゴリズムはどのように機能しますか?
ランダムフォレストは、フォレストが多数の木で構成されているのと同様に、多くの異なる決定木で構成されています。 ランダムフォレスト法の結果は、実際には決定木の予測によって決定されます。 ランダムフォレスト法は、データが過剰適合する可能性も減らします。 ランダムフォレスト分類では、アンサンブル戦略を使用して目的の結果を取得します。 トレーニングデータを使用して、さまざまな決定木がトレーニングされます。 このデータセットは、ノードが分割された後にランダムに選択される観測値と特性で構成されます。
デシジョンツリーはランダムフォレストとどう違うのですか?
ランダムフォレストは決定木のコレクションにすぎず、理解するのが複雑になります。 ランダムフォレストは、決定木よりも読みにくいです。 決定木と比較すると、ランダムフォレストはより長いトレーニング時間を必要とします。 ただし、巨大なデータセットを処理する場合は、ランダムフォレストが推奨されます。 過剰適合は、決定木でより一般的です。 ランダムフォレストは多数の木を使用するため、過剰適合の可能性は低くなります。