Apache Spark BatchのtGradientBoostedTreeModelプロパティ
これらのプロパティは、Spark Batchジョブのフレームワークで実行されているtGradientBoostedTreeModelを設定するために使われます。
Spark BatchのtGradientBoostedTreeModelコンポーネントは、機械学習ファミリーに属しています。
このコンポーネントは、ビッグデータ対応のTalend Platform製品およびTalend Data Fabricで利用できます。
基本設定
[Schema] (スキーマ)と[Edit schema] (スキーマを編集) |
スキーマとは行の説明のことです。処理して次のコンポーネントに渡すフィールド(カラム)数を定義します。Sparkジョブを作成する場合、フィールドの命名時は予約語のlineを避けます。 スキーマを変更するには[Edit schema] (スキーマを編集)をクリックします。現在のスキーマがリポジトリータイプの場合は、3つのオプションを利用できます。
|
[Label column] (ラベルカラム) |
分類ラベルの提供に使う入力カラムを選択します。このカラムのレコードは、分類されるエレメントのクラス名(分類の対象)として使われます。 このコンポーネントは、バイナリ分類モデルのみをサポートしています。マルチクラスモデルを作成する必要がある場合は、tDecisionTreeModelまたはtRandomForestModelを使用します。 |
[Feature column] (機能カラム) |
機能を提供するために使う入力カラムを選択します。多くの場合、このカラムはtModelEncoderによって実行された機能エンジニアリング計算の出力です。 |
[Save the model on file system] (モデルをファイルシステムに保存) |
特定のファイルシステムにモデルを保管する場合は、このチェックボックスを選択します。オフの場合、モデルはメモリに保管されます。参照用のボタンはSpark [Local] (ローカル)モードでは機能しません。Spark YarnまたはSpark [Standalone] (スタンドアロン)モードを使用している場合は、同じジョブ内のtHDFSConfigurationなどの設定コンポーネントで接続を適切に設定したことを確認する必要があります。 |
[Number of iterations] (反復回数) |
ジョブを実行してモデルをトレーニングする反復回数を入力します。 |
[Subsampling rate] (サブサンプリングレート) |
各反復に使う入力データセットの比率を示す数値を入力します。デフォルト値の1.0dが推奨されています。これはテストの目的でデータセット全体を取得することを意味します。 |
[Gain calculation method] (ゲイン計算メソッド) |
ノードの分割が発生するたびに、情報獲得が予想されます。このドロップダウンリストから、各分割セットからの最良な分割を定義するために使用する単位を選択します。
各測定値の計算方法は、SparkのドキュメンテーションでImpurity measures (英語のみ)をご覧ください。 |
[Maximum number of bins used for descritizing continuous features] (連続機能の離散化に使われるBinの最大数) |
機能の分割に使用されるBinの最大数を示す数値を入力します。 継続的機能は序列化離散機能に自動的に変換されます。 |
[Maximum depth of the tree] (ツリーの最大深度) |
トレーニングが新しいノードの追加を停止するようにしたいデシジョンツリーの深度を入力します。新しいノードは、内部ノードの機能に関する詳細テストと、葉ノードが持つクラスラベルを表します。 深度nのツリーの場合、内部ノードの数は2n - 1です。たとえば、深度1は内部ノード1、プラス葉ノード2を意味します。 一般に、深度の大きいデシジョンツリーはわかりやすく、そのため、より正確な予測ができる可能性があります。ただし、リソース消費量が多く、オーバーフィットの原因になります。 |
[Minimum information gain] (最小の情報ゲイン) |
子ノードが親ノードからの取得を予想できる情報獲得の最小数を入力します。情報獲得の数が最小数を下回ると、ノードの分割は停止します。 情報獲得の最小数は、デフォルト値が0.0です。これは、特定のノードを分割しても、それ以上の情報が得られないことを意味します。その結果、分割が停止する場合があります。 情報獲得の計算方法は、SparkのドキュメンテーションでImpurity and Information gain (英語のみ)をご覧ください。 |
[Minimum number of instances per node] (ノードあたりのインスタンスの最小数) |
分割の継続を有効にするためにノードが持つ必要のあるトレーニングインスタンスの最小数を入力します。 デフォルト値は1です。これは、ノードのトレーニングデータの行数が1しかない場合、分割が停止することを意味します。 |
詳細設定
[Maximum memory] (最大メモリ) |
ツリーのトレーニングに割り当てるメモリの最大量(MB)を入力します。 |
[Checkpoint interval] (チェックポイント間隔) |
チェックポイント頻度を示す数を入力します。反復の実行がこの数値の回数に達するたびに、一時モデルが保存されます。 |
[Define the random seed] (ランダムシードの定義) |
ブートストラップと機能サブセットの選択に使用するランダムシード番号を入力します。 |
使用方法
使用ルール |
このコンポーネントは、終了コンポーネントとして使用され、入力リンクを必要とします。 各デシジョンツリーの最大深度、Bin分割の最大数、または情報獲得の最小数などの停止条件を調節することで、トレーニングプロセスの加速が可能になります。ただし、トレーニングの停止が早すぎるとパフォーマンスに影響が生じるおそれがあります。 |
[Model evaluation] (モデル評価) |
設定する必要があるパラメーターは自由パラメーターであるため、値は以前の実験や経験的推測などによって提供される場合があります。すべてのデータセットに適用できる最適値はありません。 したがって、最適な混同行列が得られるまで、さまざまなパラメーター値のセットを使って生成する分類子モデルをトレーニングする必要があります。ただし、モデルをスコアでランク付けするためには自分で評価コードを記述する必要があります。 分類子モデルのトレーニングに使うアルゴリズムに応じて、使うスコアを選択する必要があります。これにより、最も適切な混同行列を作成できます。 混同行列を分類用のTalendジョブに使う方法の例は、スパムをフィルタリングする分類モデルを作成をご覧ください。 混同行列に関する一般的な説明は、Wikipediaのhttps://en.wikipedia.org/wiki/Confusion_matrix (英語のみ)をご覧ください。 |
[Spark Connection] (Spark接続) |
[Run] (実行)ビューの[Spark configuration] (Spark設定)タブで、ジョブ全体でのSparkクラスターへの接続を定義します。また、ジョブでは、依存jarファイルを実行することを想定しているため、Sparkがこれらのjarファイルにアクセスできるように、これらのファイルの転送先にするファイルシステム内のディレクトリーを指定する必要があります。
この接続は、ジョブごとに有効になります。 |