エラスティック ネット 線形回帰

エラスティック ネット 線形回帰オペレーターは、エラスティック ネット 線形回帰アルゴリズムを入力データセットに適用します。このオペレーターは、elastic-net 正則化線形回帰アルゴリズムのオープンソース実装をサポートします。

情報一覧

ノート: このオペレーターは、TIBCO® Data Virtualization および Apache Spark 3.2 以降でのみ使用できます。

パラメーター

説明
カテゴリー モデル
データ ソース タイプ TIBCO® Data Virtualization
出力を他のオペレーターに送信 はい
データ処理ツール TIBCO® DV, Apache Spark 3.2 以降

アルゴリズム

エラスティック ネット 線形回帰オペレーターは、データ値 (従属変数) の 1 つが他の因果関係のあるデータ値または変数 (独立変数) の値に線形依存する観測データセットに傾向線を当てはめます。このオペレーターは、Spark MLlib で エラスティック ネット 線形回帰を実装します。

モデルがオーバー フィッティングする可能性を防ぐために、ペナルティ パラメーター (ラムダ) と弾性パラメーター (アルファ) が適用されます。このオペレーターを使用すると、交差検証方法でアルファとラムダの最適な組み合わせを最適化できます。このオペレーターは、クラスター リソースと Spark データ フレーム サイズによって制限されます。高カーディナリティのカテゴリー カラムのワンホット エンコーディングは、Spark クラスターのサイズによって制限されます。

入力

入力は単一の表形式のデータセットです。

不正な値または欠落している値
Null 値は許されず、エラーとなります 。

構成

次の表に、エラスティック ネット 線形回帰オペレーターの構成の詳細を示します。

パラメーター 説明
ノート このオペレーターのパラメーター設定に関するメモまたは役立つ情報。 [ノート] フィールドに内容を入力すると、オペレーターに黄色のアスタリスクが表示されます。
従属変数 カテゴリー データカラムを依存カラムとして指定します。これは数値である必要があり、ラベルやクラスを値とすることはできません。
利用可能なすべてのカラムを予測子として使用する [はい] に設定すると、オペレーターは使用可能なすべてのカラムを予測子として使用し、連続予測子パラメーターとカテゴリカル予測子パラメーターを無視します。 [いいえ] に設定すると、ユーザーは連続予測変数またはカテゴリー予測変数の少なくとも 1 つを選択する必要があります。
連続予測子 数値データカラムを独立したカラムとして指定します。数値列である必要があります。 [カラムの選択] をクリックして、必要なカラムを選択します。
ノート: カテゴリー予測子 パラメーターで選択されたカラムは使用できません。
カテゴリー予測子 カテゴリー データカラムを独立列として指定します。
ノート: 連続予測子 パラメーターで選択されたカラムは使用できません。
数値特徴の正規化 Z 変換を使用して数値特徴を正規化するかどうかを指定します。

デフォルト: [はい]

評価指標 MAEMSER2RMSE などの回帰モデルを評価するための指標を指定します。

デフォルト: RMSE

反復 パラメーターのグリッドごとに最大反復回数を指定します。

デフォルト: 100

許容値 収束許容値を指定します。

デフォルト: 0.01

ペナルティ パラメーター (λ) ラッソ回帰の λ パラメーター グリッド。詳細については、Apache Spark ドキュメントの「分類と回帰」を参照してください。

次の値が有効です。

  • 単一の値。

  • カンマで区切られた一連の値(V1V2V3 など)。

  • start:end:count(n) のパターンに従った間隔表記。

λ の値は、異なる桁にまたがる必要があります。start: end: count(n) の場合、Team Studio は、start から end まで n λの値の指数格子を作成します。

  • start > end の場合、「無効です。start の λ の値が end 値より大きいです。」」が返されます。

  • count が整数でない場合は、「無効です。count は整数である必要があります。」が返されます。

  • count < 2 の場合、「無効です。count は少なくとも 2 である必要があります。」が返されます。

デフォルト: 0.0、0.5、2

弾性パラメーター (α) エラスティック ネット パラメーターを制御するパラメーター。
  • α = 0 の場合、ペナルティは L2 ペナルティです。

  • α = 1 の場合、ペナルティは L1 ペナルティです。

詳細については、「線形メソッド - RDD ベースの API」を参照してください。

有効な値は次のとおりです。

  • 単一の値。

  • V1V2V3 などの、カンマで区切られた一連の値。

  • パターン start: end: step に従った間隔表記。

start > end の場合、「無効です。アルファの開始値が終了値より大きい」が返されます。

ステップ > (終了 - 開始) の場合、「無効です。ステップ値を確認してください」が返されます。

デフォルト: 0.0、0.5、0.1

交差検証フォールドの数 交差検証サンプルの数を指定します。

デフォルト: 3

ランダム シード 擬似ランダム行抽出に使用するシードを指定します。

デフォルト: 1

出力

ビジュアル出力
  • パラメーターサマリー情報: 入力パラメーターとその現在の設定のリストが表示されます。

  • 係数: モデルの係数を表示します。

  • トレーニングのサマリー: テストされたハイパーパラメーターの組み合わせごとに行を含む表が表示されます。ハイパーパラメーターごとに、選択したメトリックが表示され、最適なモデルがマークされます。

  • 目的履歴: 最適化中の目的関数値の推移を示す表を表示します。目的関数は、選択されたアルファとラムダを使用した線形回帰のエラスティック ネット目的関数です。

    選択したアルファとラムダを使用した線形回帰の elastic-net 目的関数

    Spark ML エラスティック ネット線形回帰の場合、デフォルトの最適化メソッドは L-BFGS (数値最適化アルゴリズム) です。トレーニング プロセスは、連続する 2 つの反復間の差がユーザー指定の許容値よりも小さくなると停止します。

    目的関数の正確な解が得られる場合、最適化手法は正規方程式法となります。たとえば、ラムダ の値が 0 の場合、目的関数には正則化が適用されません。この場合、エラスティック ネット線形回帰は通常の線形回帰と同等です。正確な解は正規方程式法によって得られます。別のケースでは、アルファが 0 の場合、正確な解を導出できます。このシナリオでは、弾性ネット損失は Ridge 損失に相当します。Ridge 損失は、一意の解が存在する凸関数です。この場合には正規方程式法が適用される。

    詳細については、線形法の最適化を参照してください。

後続のオペレーターへの出力
予測器 オペレーターとともに使用できる回帰モデル オブジェクト。 予測器 オペレーターで 1 つのカラムが生成されます。
  • PRED_LR: 回帰モデルによって予測された値。

回帰評価 オペレーターとも使用できる回帰モデル オブジェクト。

次の例は、エラスティック ネット 線形回帰オペレーターを示しています。

エラスティック ネット 線形回帰ワークフロー
データ
golf: このデータセットには次の情報が含まれています。
  • 複数のカラム、ここでは、天気概況、気温、風、湿度、プレー。
  • 複数行 (14 行)。
パラメーター設定
golf データセットのパラメーター設定は次のとおりです。
  • 従属変数: 温度

  • 使用可能なすべてのカラムを予測子として使用する: いいえ

  • 連続予測変数: 湿度

  • カテゴリー予測変数: 天気概況、プレー

  • 数値特徴の正規化: はい

  • 評価指標: RMSE

  • 反復: 100

  • 許容値: 0.01

  • ペナルティ パラメーター (λ): 0.0、0.5、2

  • 弾性パラメーター (α): 0.0、0.5、0.1

  • 交差検証フォールドの数: 3
  • ランダム シード: 1
結果
次の図は、golf データセットのパラメーター設定の結果を示しています。
パラメーター サマリー情報
Elastic_Net_Linear_Regression_parameter のサマリー情報
係数
Elastic_Net_Linear_Regression_Coefficient の結果
トレーニング サマリー
Elastic_Net_Linear_Regression_Training のサマリー結果
オブジェクティブ ヒストリー
Elastic_Net_Linear_Regression_Objective 履歴結果