機械翻訳について

3.2.3 モデルの構築

トレーニング・データ・セットを使用してモデルを構築します。 oml.rf関数を使用して、モデルを構築し、モデル設定を指定します。

分類などの教師あり学習の場合は、モデルを作成する前にデータをトレーニング・データとテスト・データに分割します。 データ・セット全体を使用してモデルを構築することはできますが、使用可能な新しいデータ・セットがないかぎり、モデルの検証は困難です。 したがって、モデルを評価し、同じデータに対するモデルのパフォーマンスを正確に査定するには、通常、データをトレーニング・データとテスト・データに分割(分離)します。 トレーニング・データ・セットを使用してモデルをトレーニングした後、テスト・データ・セットを使用して予測問合せを実行し、モデルの精度をテストします。 テスト・データ・セットには、予測する属性の既知の値がすでに含まれています。 したがって、モデルの予測が正しいかどうかを簡単に判断できます。

アルゴリズムの選択

モデルを構築する前に、適切なアルゴリズムを選択します。 次のアルゴリズムのいずれかを選択して、分類の問題を解決できます。

  • デシジョン・ツリー
  • 一般化線形モデル
  • Naive Bayes
  • ニューラル・ネットワーク
  • ランダム・フォレスト
  • サポート・ベクター・マシン

ここでは、解釈性が大きな問題ではないため、ランダム・フォレスト・アルゴリズムを使用します。 ランダム・フォレスト・アルゴリズムは、分類に使用されるアンサンブル・メソッドの一種です。 ランダム・フォレストは、多数の独立したデシジョン・ツリーを構築し、複数のデシジョン・ツリーの出力を組み合せて予測を行います。 これらの各デシジョン・ツリーは、入力からランダムなサンプルを使用して構築され、各ツリーは機能のランダムなサブセットを使用します。 これにより、精度を高めながらオーバー・フィットの問題を回避できます。 教師あり学習アルゴリズム(ランダム・フォレスト・モデル)を使用してモデルを構築するには、まずデータをトレーニング・データおよびテスト・データに分割する必要があります。 データを分割した後、トレイン・データを使用してモデルを構築し、モデルを構築したら、モデルを使用してテスト・データをスコアリングします。

  1. CUSTOMER_DATAデータは、トレイン・データ・セットのレコードの60%、テスト・データ・セットの40%で分割します。 seedパラメータはランダム分割に使用されます。 splitメソッドは、DataFrameプロキシ・オブジェクトCUSTOMER_DATAによって参照されるデータを、2つの新しいDataFrameプロキシ・オブジェクト・トレーニングとテストに分割します。 次のスクリプトを実行します。
    TRAIN, TEST = CUSTOMER_DATA.split(ratio = (0.6,0.4),seed=1)
    TRAIN_X = TRAIN.drop('HOME_THEATER_PACKAGE')
    TRAIN_Y = TRAIN['HOME_THEATER_PACKAGE']
    TEST_X = TEST
    TEST_Y = TEST['HOME_THEATER_PACKAGE']
  2. 次の文を実行して、テスト・データセットの数行を表示します。
    z.show(TRAIN)
  3. HOME_THEATER_PACKAGE属性を予測するためのモデル設定を指定し、ランダム・フォレスト・モデル・オブジェクトを作成するには、次のスクリプトを実行します。 設定は、キーと値のペアまたはディクショナリのペアとして指定され、パラメータの名前と値の設定がそれぞれ参照されます。 ここでは、PREP_AUTOおよびRFOR_NUM_TREESの設定の一部を示します。 ランダム・フォレストでは、デシジョン・ツリー設定を使用して個々のツリーの構成を構成します。 fit関数は、トレーニング・データおよびパラメータ設定に従ってrfモデルを構築します。
    try:
        oml.drop(model = 'MODEL_RF')
    except:
        pass
     
    settings = {'PREP_AUTO': 'ON',
                'ALGO_NAME': 'ALGO_RANDOM_FOREST',
                'RFOR_NUM_TREES': '25'}
     
    rf_mod = oml.rf(**settings)
    rf_mod.fit(TRAIN_X, TRAIN_Y, case_id = 'CUST_ID', model_name = 'MODEL_RF')

    モデル設定パラメータ:

    • RFOR_NUM_TREES: ランダム・フォレストが持つツリーの数を示します。
    • PREP_AUTO: 完全に自動化された、またはユーザー指向の一般的なデータ準備を指定するために使用します。 デフォルトでは、定数値'PREP_AUTO': PREP_AUTO_ONで有効になっています。 または、'PREP_AUTO': 'ON'として指定することもできます。

      ノート:

      指定されていないパラメータまたは設定は、システムによって決定されるか、デフォルト値が使用されます。