stochasticLogisticRegression
stochasticLogisticRegression
導入: v20.1
この関数は確率的ロジスティック回帰を実装しています。
二値分類問題に使用でき、stochasticLinearRegressionと同じカスタムパラメータをサポートし、同様に動作します。
使用法
この関数は2段階で使用します:
- 学習
フィッティングには、次のようなクエリを使用できます:
ここでは、train_dataテーブルにデータを挿入する必要もあります。
パラメータの数は固定されておらず、logisticRegressionStateに渡される引数の数のみに依存します。
すべて数値である必要があります。
目的変数(予測対象の値)を含むカラムは、最初の引数として挿入されることに注意してください。
予測ラベルは [-1, 1] の範囲内でなければなりません。
- 予測
保存された状態を使用することで、オブジェクトがラベル 1 を持つ確率を予測できます。
クエリは確率のカラムを返します。
evalMLMethodの第1引数はAggregateFunctionStateオブジェクトで、その後に特徴量のカラムが続きます。
確率の閾値を設定することで、要素を異なるラベルに割り当てることもできます。
その結果はラベルとなります。
test_dataはtrain_dataと同様のテーブルですが、目的変数を含まない場合があります。
構文
引数
learning_rate— 勾配降下ステップを実行する際のステップ長にかかる係数です。学習率が大きすぎると、モデルの重みが発散してしまう可能性があります。デフォルトは0.00001です。Float64l2_regularization_coef— 過学習の防止に役立つ場合がある L2 正則化係数です。デフォルトは0.1。Float64mini_batch_size— 勾配降下の1ステップを実行するために、勾配を計算して合計する要素数を設定します。純粋な確率的勾配降下法では1要素のみを使用しますが、小さなバッチ(約10要素)を使用すると、勾配ステップがより安定します。デフォルト値は15です。UInt64method— 重みを更新するためのメソッド: デフォルトはAdamで、他にSGD、Momentum、Nesterovを指定できます。MomentumとNesterovは計算量とメモリ使用量がやや増加しますが、確率的勾配法における収束速度と安定性の面で有用な場合があります。Stringtarget— 目的変数となる二値分類ラベル。範囲は [-1, 1] でなければなりません。Floatx1, x2, ...— 特徴量(独立変数)の値。すべて数値型である必要があります。Float
返り値
学習済みロジスティック回帰モデルの重みを返します。予測にはevalMLMethodを使用します。これはオブジェクトがラベル1を持つ確率を返します。Array(Float64)
例
モデルの学習
予測の実行
閾値による分類
関連項目