Apache Spark BatchのtLinearRegressionModelプロパティ
これらのプロパティは、Spark Batchジョブのフレームワークで実行されているtLinearRegressionModelを設定するために使われます。
Spark BatchのtLinearRegressionModelコンポーネントは、機械学習ファミリーに属しています。
このコンポーネントは、ビッグデータ対応のTalend製品およびTalend Data Fabricで使用できます。
基本設定
[Schema] (スキーマ)と[Edit schema] (スキーマを編集) |
スキーマとは行の説明のことです。処理して次のコンポーネントに渡すフィールド(カラム)数を定義します。Sparkジョブを作成する場合、フィールドの命名時は予約語のlineを避けます。 スキーマを変更するには[Edit schema] (スキーマを編集)をクリックします。現在のスキーマがリポジトリータイプの場合は、3つのオプションを利用できます。
|
[Label column] (ラベルカラム) |
[Double] (倍数)型のラベル(線形回帰に関する従属変数の値)を提供するために使う入力カラムを選択します。このカラムのレコードは、特定のエレメントが該当する可能性のある潜在的な状況(線形回帰に関する従属変数のバリエーション)として使われます。 |
[Feature column] (機能カラム) |
Vector型の機能(線形回帰に関する独立変数または説明変数の値)を提供するために使う入力カラムを選択します。多くの場合、このカラムはtModelEncoderによって実行された機能エンジニアリング計算の出力です。 |
[Save the model on file system] (モデルをファイルシステムに保存) |
特定のファイルシステムにモデルを保管する場合は、このチェックボックスを選択します。オフの場合、モデルはメモリに保管されます。参照用のボタンはSpark [Local] (ローカル)モードでは機能しません。Spark YarnまたはSpark [Standalone] (スタンドアロン)モードを使用している場合は、同じジョブ内のtHDFSConfigurationなどの設定コンポーネントで接続を適切に設定したことを確認する必要があります。 |
[ElasticNet mixing parameter] (ElasticNetミキシングパラメーター) |
機能選択におけるバイアス/差異のトレードオフを制御するために、正則化計算に使われるElasticNet係数(数値)を入力します。ElasticNetは、L1正則化とL2正則化の組み合わせです。 入力する値は0.0と1.0の間で変化し、ElasticNetの組み合わせにおけるL1正則化とL2正則化の重みを示します。値が0.0の場合、正則化は実際にはL2正則化と同等です。値が1.0の場合はL1正則化と同等です。 ElasticNetをSparkに実装する方法は、ML線形方式をご覧ください。そこでは、入力する値(その式ではα)がElasticNet正則化を計算するためにどう使われるかが、関連する数式によって示されています。 ElasticNetの詳細は、Regularization and variable selection via the elastic netをご覧ください。 |
[Fit an intercept term] (インターセプト期間を合わせる) |
このチェックボックスをオンにすると、tLinearRegressionModelがインターセプト定数を自動的に計算し、それらを回帰計算に含めます。 一般に、インターセプトはモデルの残差の平均がゼロであることを保証するために必要です。 |
[Standardize features before fitting model] (モデルを合わせる前に特徴を標準化) |
このチェックボックスをオンにすると、特徴がスケーリングされ、正規分布になります。 |
[Maximum number of iterations] (最大反復回数) |
ジョブを実行してモデルをトレーニングする反復回数を入力します。 |
[Regularization] (正則化) |
ElasticNetと共に正則化計算に使う正則化係数(数値)を入力します。 このパラメーターをSparkに実装する方法は、ML線形方式をご覧ください。そこでは、入力する値(その式ではλ)が最終的な正則化を計算するためにどう使われるかが、関連する数式によって示されています。 |
[Convergence tolerance] (収束トレランス) |
反復が取得すると予想される収束スコアを入力します。 一般に、値が小さいほど、予測の精度が高くなりますが、反復回数は多くなります。 場合によっては、ジョブに実行させたい反復回数に関係なく、モデルが目的の収束に到達できないことがあります。この収束の失敗は、使う収束スコアが処理中の特徴に対して現実的ではないため、これらの特徴をより高度に処理する必要があることを示している可能性があります。 |
[Solver algorithm] (ソルバーアルゴリズム) |
最適化に使うアルゴリズムを選択します。
|
使用方法
使用ルール |
このコンポーネントは、終了コンポーネントとして使用され、入力リンクを必要とします。 反復の最大数または収束トレランスなどの停止条件を調整することで、トレーニングプロセスの加速が可能になります。ただし、トレーニングの停止が早すぎるとパフォーマンスに影響が生じるおそれがあります。 |
[Model evaluation] (モデル評価) |
設定する必要があるパラメーターは自由パラメーターであるため、値は以前の実験や経験的推測などによって提供される場合があります。すべてのデータセットに適用できる最適値はありません。 したがって、最適な評価結果が得られるまで、さまざまなパラメーター値のセットを使って生成するリレーションシップモデルをトレーニングする必要があります。ただし、モデルをスコアでランク付けするためには自分で評価コードを記述する必要があります。 回帰ベースのリレーションシップモデルの検証に関する一般的な情報は、https://en.wikipedia.org/wiki/Regression_validationをご覧ください。 |
[Spark Connection] (Spark接続) |
[Run] (実行)ビューの[Spark configuration] (Spark設定)タブで、ジョブ全体でのSparkクラスターへの接続を定義します。また、ジョブでは、依存jarファイルを実行することを想定しているため、Sparkがこれらのjarファイルにアクセスできるように、これらのファイルの転送先にするファイルシステム内のディレクトリーを指定する必要があります。
この接続は、ジョブごとに有効になります。 |