Apache Spark BatchのtLogisticRegressionModelプロパティ
これらのプロパティは、Spark Batchジョブのフレームワークで実行されているtLogisticRegressionModelを設定するために使われます。
Spark Batchの tLogisticRegressionModelコンポーネントは、機械学習ファミリーに属しています。
このコンポーネントは、ビッグデータ対応のTalend Platform製品およびTalend Data Fabricで利用できます。
基本設定
[Schema] (スキーマ)と[Edit schema] (スキーマを編集) |
スキーマとは行の説明のことです。処理して次のコンポーネントに渡すフィールド(カラム)数を定義します。Sparkジョブを作成する場合、フィールドの命名時は予約語のlineを避けます。 スキーマを変更するには[Edit schema] (スキーマを編集)をクリックします。現在のスキーマがリポジトリータイプの場合は、3つのオプションを利用できます。
|
[Label column] (ラベルカラム) |
分類ラベルの提供に使う入力カラムを選択します。このカラムのレコードは、分類されるエレメントのクラス名(分類の対象)として使われます。 |
[Feature column] (機能カラム) |
機能を提供するために使う入力カラムを選択します。多くの場合、このカラムは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] (インターセプト期間を合わせる) |
このチェックボックスをオンにすると、tLogisticRegressionModelがインターセプト定数を自動的に計算し、それらを回帰計算に含めます。 一般に、インターセプトはモデルの残差の平均がゼロであることの保証を提示します。 |
[Maximum number of iterations] (最大反復回数) |
ジョブを実行してモデルをトレーニングする反復回数を入力します。 |
[Regularization] (正則化) |
ElasticNetと共に正則化計算に使う正則化係数(数値)を入力します。 このパラメーターをSparkに実装する方法は、ML線形方式をご覧ください。そこでは、入力する値(その式ではλ)が最終的な正則化を計算するためにどう使われるかが、関連する数式によって示されています。 |
[Threshold] (しきい値) |
ポジティブ予測とネガティブ予測を区別するために使うしきい値(数値で0.0〜1.0の範囲)を入力します。予測スコア(ケースである確率)がこのしきい値以上であるエレメントは正と識別され、それ以外の場合は負と識別されます。 デフォルトのしきい値は0.5です。 |
[Convergence tolerance] (収束トレランス) |
反復が取得すると予想される収束スコアを入力します。 一般に、値が小さいほど、予測の精度が高くなりますが、反復回数は多くなります。 ただし、場合によっては、ジョブに実行させたい反復回数に関係なく、モデルが目的の収束に到達できないことがあります。この収束の失敗は、使う収束スコアが処理中の特徴に対して現実的ではないため、これらの特徴をより高度に処理する必要があることを示している可能性があります。 |
使用方法
使用ルール |
このコンポーネントは、終了コンポーネントとして使用され、入力リンクを必要とします。 反復の最大数、しきい値、または収束トレランスなどの停止条件を調整することで、トレーニングプロセスの加速が可能になります。ただし、トレーニングの停止が早すぎるとパフォーマンスに影響が生じるおそれがあります。 |
[Model evaluation] (モデル評価) |
設定する必要があるパラメーターは自由パラメーターであるため、値は以前の実験や経験的推測などによって提供される場合があります。すべてのデータセットに適用できる最適値はありません。 したがって、最適な混同行列が得られるまで、さまざまなパラメーター値のセットを使って生成する分類子モデルをトレーニングする必要があります。ただし、モデルをスコアでランク付けするためには自分で評価コードを記述する必要があります。 分類子モデルのトレーニングに使うアルゴリズムに応じて、使うスコアを選択する必要があります。これにより、最も適切な混同行列を作成できます。 混同行列を分類用のTalendジョブに使う方法の例は、スパムをフィルタリングする分類モデルを作成をご覧ください。 混同行列に関する一般的な説明は、Wikipediaのhttps://en.wikipedia.org/wiki/Confusion_matrixをご覧ください。 |
[Spark Connection] (Spark接続) |
[Run] (実行)ビューの[Spark configuration] (Spark設定)タブで、ジョブ全体でのSparkクラスターへの接続を定義します。また、ジョブでは、依存jarファイルを実行することを想定しているため、Sparkがこれらのjarファイルにアクセスできるように、これらのファイルの転送先にするファイルシステム内のディレクトリーを指定する必要があります。
この接続は、ジョブごとに有効になります。 |