29 ランダム・フォレスト

分類アルゴリズムとしてランダム・フォレストを使用する方法を学習します。

29.1 ランダム・フォレストについて

ランダム・フォレストは、ツリーのアンサンブル(フォレストとも呼ばれる)を構築する分類アルゴリズムです。

このアルゴリズムは、複数のデシジョン・ツリー・モデルを構築し、アンサンブルを使用して予測します。それぞれのデシジョン・ツリーは、入力としてトレーニング・データ・セットからランダム・サンプルを選択することで構築されます。ツリーの各ノードでは、分岐ポイントの計算のために予測子のランダム・サンプルが選択されます。これにより、異なるツリーで使用されるデータにばらつきが生じます。パラメータのRFOR_SAMPLING_RATIORFOR_MTRYは、各ノードで選択されるサンプル・サイズと予測子の数を指定するために使用されます。ユーザーは、アルゴリズムの実行前にODMS_RANDOM_SEEDを使用してランダム・シード値を設定できます。

29.2 ランダム・フォレストの構築

ランダム・フォレストは、Oracle Machine Learning for SQLの既存のインフラストラクチャとアプリケーション・プログラミング・インタフェース(API)に基づいて構築されます。

ランダム・フォレスト・モデルは、予測子の属性評価ランキングを提供します。モデルは、既存のAPIにパラメータを指定することで構築します。スコアリングは既存の分類アルゴリズムと同じSQL問合せとAPIを使用して実行されます。OML4SQLは、古典的なランダム・フォレスト・アルゴリズムの変種を実装します。この実装では、ビッグ・データのセットがサポートされます。アルゴリズムの実装は、次の点で異なります。

  • OML4SQLでは、バギングはサポートされませんが、かわりに非復元サンプリングが用意されています

  • ユーザーはツリーの深度を指定できます。ツリーは最大深度までは構築されません。

ノート:

hyperparameterという用語は、モデル設定でも同じ意味で使用されます。

29.3 ランダム・フォレストによるスコアリング

ランダム・フォレスト・アルゴリズムを使用したスコアリングを学習します。

ランダム・フォレストによるスコアリングは、その他の分類アルゴリズムと同じです。サポートされている関数は、PREDICTIONPREDICTION_PROBABILITYPREDICTION_COSTPREDICTION_SETおよびPREDICTION_DETAILSです。