Regression¶
Configuration¶
設定は単体の JSON で与えられる。 JSON の各フィールドは以下のとおりである。
-
method
回帰に使用するアルゴリズムを指定する。 以下のアルゴリズムを指定できる。
設定値 手法 回帰方法 "perceptron"
パーセプトロン法を利用する。 線形回帰 "PA"
Passive Aggressive (PA) を利用する。 [Crammer06] 線形回帰 "PA1"
PA-I を利用する。 [Crammer06] 線形回帰 "PA2"
PA-II を利用する。 [Crammer06] 線形回帰 "CW"
Confidence Weighted Learning を利用する。 [Dredze08] 線形回帰 "AROW"
Adaptive Regularization of Weight vectors を利用する。 [Crammer09b] 線形回帰 "NHERD"
Normal Herd を利用する。 [Crammer10] 線形回帰 "NN"
nearest_neighbor
を利用する。k-近傍法 "cosine"
コサイン類似度による近傍探索結果を利用する。 k-近傍法 "euclidean"
ユークリッド距離による近傍探索結果を利用する。 k-近傍法
-
parameter
アルゴリズムに渡すパラメータを指定する。
method
に応じて渡すパラメータは異なる。- perceptron
learning_rate: 学習率パラメータを設定する。 大きくすると学習が早くなる代わりに、ノイズに弱くなる。 (Float)
- 値域: 0.0 <
learning_rate
- 値域: 0.0 <
- PA
sensitivity: 許容する誤差の幅を指定する。 大きくするとノイズに強くなる代わりに、誤差が残りやすくなる。 (Float)
- 値域: 0.0 <=
sensitivity
- 値域: 0.0 <=
- PA1
sensitivity: 許容する誤差の幅を指定する。 大きくするとノイズに強くなる代わりに、誤差が残りやすくなる。 (Float)
- 値域: 0.0 <=
sensitivity
regularization_weight: 学習に対する感度パラメータを指定する。 大きくすると学習が早くなる代わりに、ノイズに弱くなる。 元論文 [Crammer06] における \(C\) に相当する。 (Float)
- 値域: 0.0 <
regularization_weight
- 値域: 0.0 <=
- PA2
sensitivity: 許容する誤差の幅を指定する。 大きくするとノイズに強くなる代わりに、誤差が残りやすくなる。 (Float)
- 値域: 0.0 <=
sensitivity
regularization_weight: 学習に対する感度パラメータを指定する。 大きくすると学習が早くなる代わりに、ノイズに弱くなる。 元論文 [Crammer06] における \(C\) に相当する。 (Float)
- 値域: 0.0 <
regularization_weight
- 値域: 0.0 <=
- CW
sensitivity: 許容する誤差の幅を指定する。 大きくするとノイズに強くなる代わりに、誤差が残りやすくなる。 (Float)
- 値域: 0.0 <=
sensitivity
regularization_weight: 学習に対する感度パラメータを指定する。 大きくすると学習が早くなる代わりに、ノイズに弱くなる。 元論文 [Dredze08] における \(\phi\) に相当する。 (Float)
- 値域: 0.0 <
regularization_weight
- 値域: 0.0 <=
- AROW
sensitivity: 許容する誤差の幅を指定する。 大きくするとノイズに強くなる代わりに、誤差が残りやすくなる。 (Float)
- 値域: 0.0 <=
sensitivity
regularization_weight: 学習に対する感度パラメータを指定する。 大きくすると学習が早くなる代わりに、ノイズに弱くなる。 元論文 [Crammer09b] における \(1/r\) に相当する。 (Float)
- 値域: 0.0 <
regularization_weight
- 値域: 0.0 <=
- NHERD
sensitivity: 許容する誤差の幅を指定する。 大きくするとノイズに強くなる代わりに、誤差が残りやすくなる。 (Float)
- 値域: 0.0 <=
sensitivity
regularization_weight: 学習に対する感度パラメータを指定する。 大きくすると学習が早くなる代わりに、ノイズに弱くなる。 元論文 [Crammer10] における \(C\) に相当する。 (Float)
- 値域: 0.0 <
regularization_weight
- 値域: 0.0 <=
- NN
method: 近傍探索に使用するアルゴリズムを指定する。 使用可能なアルゴリズムの一覧は Nearest Neighbor を参照のこと。
parameter: アルゴリズムに渡すパラメータを指定する。 パラメータの一覧は Nearest Neighbor を参照のこと。
nearest_neighbor_num: スコア算出時に使われるデータの数を指定する。 (Integer)
- 値域: 1 <=
nearest_neighbor_num
weight: スコア算出時に重み付けを行う手法を指定する。 以下の手法を指定できる。
設定値 手法 "distance"
近傍点との距離(類似度)に基づいた重み付けを行う。近い点ほど予測に大きな影響を与える。 "uniform"
近傍点に対して均等に重み付けを行う。 このパラメータは省略可能であり、デフォルトでは
uniform
と同じ動作をする。- 値域: 1 <=
- cosine
nearest_neighbor_num: スコア算出時に使われるデータの数を指定する。 (Integer)
- 値域: 1 <=
nearest_neighbor_num
weight: スコア算出時に重み付けを行う手法を指定する。 以下の手法を指定できる。
設定値 手法 "distance"
近傍点との類似度に基づいた重み付けを行う。近い点ほど予測に大きな影響を与える。 "uniform"
近傍点に対して均等に重み付けを行う。 このパラメータは省略可能であり、デフォルトでは
uniform
と同じ動作をする。- 値域: 1 <=
- euclidean
nearest_neighbor_num: スコア算出時に使われるデータの数を指定する。 (Integer)
- 値域: 1 <=
nearest_neighbor_num
weight: スコア算出時に重み付けを行う手法を指定する。 以下の手法を指定できる。
設定値 手法 "distance"
近傍点との距離に基づいた重み付けを行う。近い点ほど予測に大きな影響を与える。 "uniform"
近傍点に対して均等に重み付けを行う。 このパラメータは省略可能であり、デフォルトでは
uniform
と同じ動作をする。- 値域: 1 <=
-
converter
特徴変換の設定を指定する。 フォーマットは データ変換 で説明する。
- 例:
{ "method": "PA1", "parameter" : { "sensitivity" : 0.1, "regularization_weight" : 3.402823e+38 }, "converter" : { "string_filter_types" : {}, "string_filter_rules" : [], "num_filter_types" : {}, "num_filter_rules" : [], "string_types": {}, "string_rules": [ { "key" : "*", "type" : "str", "sample_weight" : "bin", "global_weight" : "bin" } ], "num_types" : {}, "num_rules" : [ { "key" : "*", "type" : "num" } ] } }
Data Structures¶
Methods¶
-
service
regression
-
int
train
(0: list<scored_datum> train_data)¶ パラメータ: - train_data -- double と
datum
で構成される組のリスト
戻り値: 学習した件数 (
train_data
の長さに等しい)学習し、モデルを更新する。 この関数は
scored_datum
をリスト形式でまとめて同時に受け付けることができる (バルク更新)。- train_data -- double と
-
int