ランダムフォレストアルゴリズムの最適化について知っておくべきことすべて
公開: 2020-12-22機械学習プログラムを作成し、それをトレーニングするためにランダムフォレストモデルを使用したとします。 ただし、プログラムの出力/結果は、期待したほど正確ではありません。 それで、あなたは何をしますか?
機械学習プログラムの出力を改善するために機械学習モデルを改善するには、次の3つの方法があります。
- 入力データの品質と特徴工学を改善する
- アルゴリズムのハイパーパラメータ調整
- さまざまなアルゴリズムを使用する
しかし、利用可能なすべてのデータソースをすでに使用している場合はどうでしょうか。 次の論理的なステップは、ハイパーパラメータの調整です。 したがって、ランダムフォレストモデルを使用して機械学習プログラムを作成し、最適なデータソースを使用し、プログラムの出力をさらに改善したい場合は、ランダムフォレストのハイパーパラメータ調整を選択する必要があります。
ランダムフォレストのハイパーパラメータ調整について詳しく説明する前に、まずハイパーパラメータと一般的なハイパーパラメータ調整について見てみましょう。
目次
ハイパーパラメータとは何ですか?
機械学習のコンテキストでは、ハイパーパラメーターは、モデルの学習プロセスを制御するために値が使用されるパラメーターです。 これらはモデルの外部にあり、データから値を推定することはできません。
ランダムフォレストのハイパーパラメータ調整の場合、ハイパーパラメータには、決定木の数と、ノード分割中に各ツリーによって考慮される特徴の数が含まれます。

ハイパーパラメータチューニングとは何ですか?
ハイパーパラメータ調整は、機械学習の問題に対する理想的なハイパーパラメータのセットを検索するプロセスです。
ハイパーパラメータとハイパーパラメータの調整について説明したので、ランダムフォレストのハイパーパラメータとランダムフォレストのハイパーパラメータの調整を見てみましょう。
読む:ディシジョンツリーインタビューの質問
ランダムフォレストのハイパーパラメータ調整とは何ですか?
ランダムフォレストのハイパーパラメータ調整とは何かを理解するために、5つのハイパーパラメータとそれぞれのハイパーパラメータ調整について見ていきます。
ハイパーパラメータ1:max_depth
max_depthは、ランダムフォレストアルゴリズムのツリー内のルートノードとリーフノードの間の最長パスです。 このハイパーパラメータを調整することにより、ランダムフォレストアルゴリズムでツリーを成長させる深さを制限できます。 このハイパーパラメータは、マクロレベルで作業することにより、決定木の成長を抑制します。
ハイパーパラメータ2:max_terminal_nodes
このハイパーパラメータは、ツリー内のノードの分割に条件を設定することにより、ランダムフォレスト内の決定木の成長を制限します。 ノードの分割は停止し、分割後に指定された数よりも多くのターミナルノードがある場合、ツリーの成長は停止します。
たとえば、ツリーにノードが1つあり、ターミナルノードの最大数が4に設定されているとします。 ノードは1つしかないため、そもそもノードが分割され、ツリーがさらに成長します。 分割が最大制限の4に達した後、分割が終了するため、決定木はそれ以上成長しません。 max_terminal_nodesハイパーパラメータ調整を使用すると、過剰適合を防ぐのに役立ちます。 ただし、チューニングの値が非常に小さい場合、フォレストは不十分になる可能性があります。
関連記事:ディシジョンツリー分類
ハイパーパラメータ3:n_estimators
データサイエンティストは、考慮すべき決定木の数というジレンマに常に直面しています。 より多くの木を選ぶことが道であると言う人もいるかもしれません。 これは当てはまるかもしれませんが、ランダムフォレストアルゴリズムの時間計算量も増加します。

n_estimatorsハイパーパラメータ調整を使用すると、ランダムフォレストモデル内のツリーの数を決定できます。 n_estimatorsパラメーターのデフォルト値は10です。 これは、デフォルトで10個の異なる決定木が構築されることを意味します。 このハイパーパラメータを調整することで、構築されるツリーの数を変更できます。
ハイパーパラメータ4:max_features
このハイパーパラメータの調整により、フォレスト内の各ツリーに提供する機能の数を決定できます。 一般に、最大機能の値を6に設定すると、モデルの全体的なパフォーマンスが最も高くなります。 ただし、最大機能パラメータ値をデフォルトに設定することもできます。これは、データセットに存在する機能の数の平方根です。
ハイパーパラメータ5:min_samples_split
このハイパーパラメータ調整により、内部リーフノードを分割するために必要なサンプルの最小数が決定されます。 デフォルトでは、このパラメーターの値は2です。 これは、内部ノードを分割するには、少なくとも2つのサンプルが存在する必要があることを意味します。
ランダムフォレストのハイパーパラメータ調整を行う方法は?
モデルを作成する関数を呼び出して、ランダムフォレストのハイパーパラメータ調整を手動で実行する必要があります。 ランダムフォレストのハイパーパラメータ調整は、理論的なアプローチというよりも実験的なアプローチです。 したがって、ハイパーパラメータチューニングのさまざまな組み合わせを試して、それぞれのパフォーマンスを評価してから決定する必要がある場合があります。
たとえば、ランダムフォレストアルゴリズムで推定量の数とツリーの最小分割を調整する必要があるとします。 したがって、次のコマンドを使用してハイパーパラメータ調整を実行できます。

forest = RandomForestClassifier(random_state = 1、n_estimators = 20、min_samples_split = 2)
上記の例では、推定量の数がデフォルト値の10から20に変更されています。 したがって、10個の決定木の代わりに、アルゴリズムはランダムフォレストに20個のツリーを作成します。 同様に、内部リーフノードは、少なくとも2つのサンプルがある場合にのみ分割されます。
結論
このブログが、ランダムフォレストのハイパーパラメータ調整を理解するのに役立つことを願っています。 機械学習プログラムの出力を改善するために調整できるハイパーパラメータは他にもたくさんあります。 ほとんどの場合、機械学習プログラムの出力を改善するには、ハイパーパラメータの調整で十分です。
ただし、まれに、ランダムフォレストのハイパーパラメータ調整でさえ役に立たない場合があります。 このような状況では、線形回帰またはロジスティック回帰、KNN、または適切と思われるその他のアルゴリズムなど、別の機械学習アルゴリズムを検討する必要があります。
意思決定ツリー、機械学習について詳しく知りたい場合は、IIIT-BとupGradの機械学習とAIのPGディプロマをご覧ください。これは、働く専門家向けに設計されており、450時間以上の厳格なトレーニング、30以上のケーススタディと課題を提供します。 、IIIT-B卒業生のステータス、5つ以上の実践的なキャップストーンプロジェクト、トップ企業との雇用支援。
なぜランダムフォレストアルゴリズムを使用するのですか?
ランダムフォレストアルゴリズムは、機械学習の教師あり学習アルゴリズムのカテゴリで最も広く使用されているモデルの1つです。 ランダムフォレストアルゴリズムは、機械学習における分類と回帰の両方の問題を解決できます。 これは、アンサンブル学習に焦点を当てています。これは、モデルの全体的な機能と結果を改善できるように、複雑な問題を解決するためにいくつかの分類子を組み合わせた概念です。 ランダムフォレストアルゴリズムは、他の多くのアルゴリズムと比較してトレーニングにかかる時間がはるかに短いため、人気があります。 また、データの一部が欠落している場合でも、大量のデータセットに対して非常に正確な予測を提供できます。
デシジョンツリーとランダムフォレストの違いは何ですか?
決定木アルゴリズムは、特定の結果につながる一連の後続の決定を構成する単一のツリーをモデル化する、機械学習の教師あり学習手法です。 デシジョンツリーは、解釈と理解が簡単です。 しかし、より複雑な問題を解決するには不十分なことがよくあります。 ここでランダムフォレストアルゴリズムが役立ちます。特定の問題を解決するためにいくつかの決定木を活用します。 つまり、ランダムフォレストアルゴリズムは、複数の決定木をランダムに生成し、それらの結果を組み合わせて最終的な結果を生成します。 ランダムフォレストは決定木よりも解釈が困難ですが、大量のデータが含まれる場合は正確な結果が得られます。
ランダムフォレストアルゴリズムを使用する利点は何ですか?
ランダムフォレストアルゴリズムを使用する最大の利点は、その柔軟性にあります。 この手法は、分類タスクと回帰タスクの両方に使用できます。 その汎用性は別として、このアルゴリズムは非常に便利です。使用するデフォルトのパラメーターは、予測で高精度を生成するのに十分効率的です。 さらに、機械学習分類モデルは、過剰適合などの問題でよく知られています。 ランダムフォレストアルゴリズムに十分な数のツリーがある場合、分類における過剰適合の問題は簡単に克服できます。