--- title: "回帰アルゴリズム" url: https://docs.catalyst.zoho.com/ja/quickml/help/ml-algorithms/regression-algorithms/ description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードの機械学習パイプラインビルダーサービスであり、エンドツーエンドのソリューションで機械学習パイプラインを作成できます。" last_updated: 2026-03-05T06:13:24Z service: QuickML type: general --- # 回帰アルゴリズム 回帰は、連続的な量を予測するタスクです。QuickMLは以下の回帰アルゴリズムを備えています。 1. ### AdaBoost回帰 AdaBoostは、小さな1ステップ(1レベル)の決定木を連続的に構築し、前の木で見逃した予測困難なケースに各木を適応させ、すべての木を1つのモデルに統合する機械学習アルゴリズムです。 この回帰は、まず元のデータセットに回帰器をフィッティングし、次に同じデータセットに回帰器の追加コピーをフィッティングします。これらのインスタンスの重みは、現在の予測の誤差に応じて調整されます。これにより、後続の回帰器はより困難なケースに重点を置くようになります。 機械学習におけるブースティングは、複数の単純なモデルを1つの複合モデルに組み合わせる方法です。これがブースティングが加法モデルとも呼ばれる理由です。単純なモデル(弱学習器とも呼ばれる)は、モデル内の既存の木を変更せずに1つずつ追加されるためです。より多くの単純なモデルを組み合わせるほど、最終的な完全なモデルはより強力な予測器となります。 #### ハイパーパラメータ:
| パラメータ | 説明 | データ型 | 設定可能な値 | デフォルト値 |
|---|---|---|---|---|
| `base_estimator` | ブーストされたアンサンブルを構築するための基本推定器です。Noneの場合、基本推定器はmax_depth=3で初期化されたDecisionTreeRegressorです。 | object | 任意の回帰モデル | None |
| `n_estimators` (推定器の数) | ブースティングが終了する推定器の最大数です。完全なフィットの場合、学習手順は早期に停止されます。 | int | [1, 500] | 50 |
| `learning_rate` | 各ブースティングイテレーションで各回帰器に適用される重みです。学習率が高いほど、各回帰器の寄与が大きくなります。 | float | (0.0, +Inf) | 1.0 |
| `loss` | 各ブースティングイテレーション後に重みを更新する際に使用する損失関数です。 | string | {'linear', 'square', 'exponential'} | "linear" |
| パラメータ | 説明 | データ型 | 設定可能な値 | デフォルト値 |
|---|---|---|---|---|
| learning_rate | トレーニングに使用される学習率です。 | float | (0,1] | 0.03 |
| `l2_leaf_reg` (l2_leaf_regularization) | コスト関数のL2正則化項の係数です。 | float | [0,+Inf) | 3.0 |
| `rsm` (random subspace method) | 各分割選択時に使用する特徴量の割合で、特徴量がランダムに再選択されます。 | float | (0,1] | None |
| `loss_function` | トレーニングで使用するメトリクスです。指定された値は、解決する機械学習の問題も決定します。一部のメトリクスはオプションのパラメータをサポートしています。 | string | {'RMSE', 'MAE', 'Quantile:alpha=value, 'LogLinQuantile: alpha=value', 'Poisson', 'MAPE', 'Lq:q=value', 'SurvivalAft:dist=value; scale=value'} Note : range of value = [0, 1] | 'RMSE' |
| `nan_mode` | 入力データセットの欠損値を処理する方法です。 | string | {'Forbidden', 'Min', 'Max'} | Min |
| `leaf_estimation_method` | リーフの値を計算するために使用される方法です。 | string | {"Newton", "Gradient"} | None |
| `score_function` | 木の構築中に次の分割を選択するために使用されるスコアタイプです。 | string | {L2, Cosine} | Cosine |
| `max_depth` | 木の最大深度です。 | int | [1,+Inf) | None |
| `n_estimators` (推定器の数) | 機械学習の問題を解決する際に構築できる木の最大数です。イテレーション数を制限する他のパラメータを使用する場合、最終的な木の数はこのパラメータで指定された数よりも少なくなる場合があります。 | int | [1, 500] | None |
| パラメータ | 説明 | データ型 | 設定可能な値 | デフォルト値 |
|---|---|---|---|---|
| `criterion` | 分割の品質を測定する関数です。 | string | {"mse", "friedman_mse", "mae"} | "mse" |
| `splitter` | 各ノードでの分割を選択するために使用される戦略です。 | string | {"best", "random"} | "best" |
| `max_depth` | 木の最大深度です。Noneの場合、すべてのリーフが純粋になるか、すべてのリーフに含まれるサンプル数がmin_samples_split未満になるまでノードが展開されます。 | int | (0, +Inf) | None |
| `min_samples_split` | 内部ノードを分割するために必要な最小サンプル数です。 | int or float | [2, +Inf) or (0, 1.0] | 2 |
| `min_samples_leaf` | リーフノードに必要な最小サンプル数です。任意の深さでの分割点は、左右の各ブランチに少なくともmin_samples_leafのトレーニングサンプルが残る場合にのみ考慮されます。 | int or float | [1, +Inf) or (0, 0.5] | 1 |
| `min_weight_fraction_leaf` | リーフノードに必要な、すべての入力サンプルの重みの合計に対する最小加重割合です。 | float | [0, 0.5] | 0 |
| `max_features` | 最良の分割を探す際に考慮する特徴量の数です。 | int, float or string | (0, n_features] or { "sqrt", "log2"}, | None |
| `max_leaf_nodes` | best-first方式でmax_leaf_nodesのリーフを持つ木を成長させます。最良のノードは不純度の相対的な減少として定義されます。 | int | (1, +Inf) | None |
| `min_impurity_decrease` | この分割によって不純度がこの値以上に減少する場合にノードが分割されます。 | float | [0, +Inf) | 0.0 |
| パラメータ | 説明 | データ型 | 設定可能な値 | デフォルト値 |
|---|---|---|---|---|
| `alpha` | ペナルティ項に乗算される定数です。 | float | (0, +Inf) | 1.0 |
| `l1_ratio` | ElasticNetの混合パラメータで、 0 <= l1_ratio <= 1です。 l1_ratio = 0の場合、ペナルティはL2ペナルティです。 l1_ratio = 1の場合、L1ペナルティです。 0 < l1_ratio < 1の場合、ペナルティはL1とL2の組み合わせです。 | float | [0, 1] | 0.5 |
| `fit_intercept` | 切片を推定するかどうかを指定します。 | bool | True or False | True |
| `normalize` | このパラメータは、fit_interceptがFalseに設定されている場合は無視されます。Trueの場合、回帰前に回帰変数Xは平均を引いてl2ノルムで割ることにより正規化されます。 | bool | True or False | False |
| `tol` (tolerance) | 最適化の許容値です。更新がtolより小さい場合、最適化コードは双対ギャップの最適性をチェックし、tolより小さくなるまで続行します。 | float | [0.0, +Inf) | 1e-4 |
| `warm_start` | Trueに設定すると、前回のfit呼び出しの解を初期化として再利用します。それ以外の場合は、前回の解を消去します。 | bool | True or False | False |
| `positive` | Trueに設定すると、係数を正の値に強制します。 | bool | True or False | False |
| `selection` | 'random'に設定すると、デフォルトで特徴量を順次ループするのではなく、各イテレーションでランダムな係数が更新されます。 | string | {"cyclic", "random"} | "cyclic" |
| パラメータ | 説明 | データ型 | 設定可能な値 | デフォルト値 |
|---|---|---|---|---|
| `loss` | 最適化する損失関数です。'ls'は最小二乗回帰を指します。'lad'(最小絶対偏差)は、入力変数の順序情報のみに基づく非常にロバストな損失関数です。'huber'は両者の組み合わせです。'quantile'は分位回帰を可能にします(分位数を指定するにはalphaを使用します)。 | string | {'ls', 'lad', 'huber', 'quantile'} | 'ls' |
| `learning_rate` | 学習率は、learning_rateによって各木の寄与を縮小させます。 | float | (0.0, +inf) | 0.1 |
| `n_estimators` (推定器の数) | 実行するブースティングステージの数です。勾配ブースティングは過学習に対してかなりロバストであるため、通常は大きな数を指定するとパフォーマンスが向上します。 | int | [1, 500) | 100 |
| `criterion` | 分割の品質を測定する関数です。 | string | {'friedman_mse', 'mse', 'mae'} | 'friedman_mse' |
| `subsample` | 個々の基本学習器のフィッティングに使用されるサンプルの割合です。 | float | (0.0, 1.0] | 1.0 |
| `max_depth` | 個々の回帰推定器の最大深度です。最大深度はツリー内のノード数を制限します。 | int | (0, +Inf) | None |
| `min_samples_split` | 内部ノードを分割するために必要な最小サンプル数です。 | int or float | [2, +Inf) or (0, 1.0] | 2 |
| `min_samples_leaf` | リーフノードに必要な最小サンプル数です。任意の深さでの分割点は、左右の各ブランチに少なくともmin_samples_leafのトレーニングサンプルが残る場合にのみ考慮されます。 | int or float | [1, +Inf) or (0, 0.5] | 1 |
| `min_weight_fraction_leaf` | リーフノードに必要な、すべての入力サンプルの重みの合計に対する最小加重割合です。 | float | [0, 0.5] | 0 |
| `max_features` | 最良の分割を探す際に考慮する特徴量の数です。 | int, float or string | (0, n_features] or { "sqrt", "log2"} | None |
| `max_leaf_nodes` | best-first方式でmax_leaf_nodesのリーフを持つ木を成長させます。最良のノードは不純度の相対的な減少として定義されます。 | int | (1, +Inf) | None |
| `min_impurity_decrease` | この分割によって不純度がこの値以上に減少する場合にノードが分割されます。 | float | [0, +Inf) | 0.0 |
| `init` | 初期予測の計算に使用される推定器オブジェクトです。initはfitとpredictを提供する必要があります。'zero'の場合、初期の生の予測はゼロに設定されます。 | object | 推定器(CatBoost以外の回帰モデル)または'zero' | None |
| `warm_start` | Trueに設定すると、前回のfit呼び出しの解を再利用し、アンサンブルにさらに推定器を追加します。それ以外の場合は、前回の解を消去します。 | bool | True or False | False |
| `tol` (tolerance) | 早期停止のための許容値です。n_iter_no_changeイテレーション(数値に設定されている場合)で損失が少なくともtol以上改善しない場合、トレーニングが停止します。 | float | [0.0, +Inf) | 1e-4 |
| パラメータ | 説明 | データ型 | 設定可能な値 | デフォルト値 |
|---|---|---|---|---|
| `n_neighbors` (近傍の数) | kneighborsクエリにデフォルトで使用する近傍の数です。 | int | [1, n] n = データセットの総レコード数 | 5 |
| `weights` | 予測で使用される重み関数です。
|
string | {'uniform', 'distance'} | 'uniform' |
| `algorithm` | 最近傍の計算に使用されるアルゴリズムです。 | string | {'auto', 'ball_tree', 'kd_tree', 'brute'} | 'auto' |
| `leaf_size` | BallTreeまたはKDTreeに渡されるリーフサイズです。これは構築とクエリの速度、およびツリーの格納に必要なメモリに影響を与える可能性があります。最適な値は問題の性質に依存します。 | int | (1, +Inf) | 30 |
| `p` | Minkowskiメトリクスのべき乗パラメータです。p = 1の場合、manhattan_distance(l1)の使用と同等であり、p = 2の場合はeuclidean_distance(l2)です。 任意のpの場合、minkowski_distance(l_p)が使用されます。 | int | [1,3] | 2 |
| `metric` | 距離計算に使用するメトリクスです。デフォルトは"minkowski"で、p = 2の場合は標準的なユークリッド距離になります。 | str | {'cityblock', 'cosine', 'euclidean', 'l1', 'l2', 'manhattan', 'nan_euclidean', 'minkowski'} | 'minkowski' |
| パラメータ | 説明 | データ型 | 設定可能な値 | デフォルト値 |
|---|---|---|---|---|
| `alpha` | 正則化の強度で、正のfloat値である必要があります。正則化は問題の条件付けを改善し、推定値の分散を減少させます。値が大きいほど、より強い正則化が指定されます。 | float | [0, +Inf) | 1.0 |
| `kernel` | 内部で使用されるカーネルマッピングです。このパラメータはpairwise_kernelに直接渡されます。kernelが文字列の場合、pairwise.PAIRWISE_KERNEL_FUNCTIONSのメトリクスの1つまたは"precomputed"である必要があります。kernelが"precomputed"の場合、Xはカーネル行列と見なされます。 | string | {'additive_chi2','chi2' 'linear', 'poly', 'polynomial', 'rbf', 'laplacian', 'sigmoid', 'cosine'} | "linear" |
| `gamma` | RBF、laplacian、polynomial、exponential chi2、sigmoidカーネルのGammaパラメータです。デフォルト値の解釈はカーネルに委ねられています。sklearn.metrics.pairwiseのドキュメントを参照してください。 | float | [0, +Inf) | None |
| `degree` | 多項式カーネルの次数です。 | float | [0, +Inf) | 3 |
| `coef0` | 多項式カーネルとsigmoidカーネルのゼロ係数です。 | float | (-Inf, +Inf) | 1 |
| パラメータ | 説明 | データ型 | 設定可能な値 | デフォルト値 |
|---|---|---|---|---|
| `boosting_type` | ブースティングの方法です。 | string | {'gbdt', 'dart', 'goss'} | 'gbdt' |
| `num_leaves` | 基本学習器の最大ツリーリーフ数です。 | int | (1, +Inf) | 31 |
| `max_depth` | 基本学習器の最大ツリー深度です。<= 0は制限なしを意味します。 | int | (-Inf, +Inf) | -1 |
| `learning_rate` | ブースティングの学習率です。 | float | (0.0, +Inf) | 0.1 |
| `n_estimators` (推定器の数) | フィットするブーストされた木の数です。 | int | [1, 500] | 100 |
| `subsample_for_bin` | ビンの構築に使用するサンプル数です。 | int | (0, +Inf) | 200000 |
| `min_split_gain` | 木のリーフノードでさらに分割を行うために必要な最小損失減少量です。 | float | [0.0, +Inf) | 0.0 |
| `min_child_weight` | 子(リーフ)に必要なインスタンスの重み(ヘッセ行列)の最小合計です。 | float | [0.0, +Inf) | 1e-3 |
| `min_child_samples` | 子(リーフ)に必要なデータの最小数です。 | int | [0, +Inf) | 20 |
| `subsample` | トレーニングインスタンスのサブサンプル比率です。 | float | (0.0, 1.0] | 1.0 |
| `subsample_freq` (subsample_frequency) | サブサンプルの頻度です。<= 0は無効を意味します。 | int | (-Inf, +Inf) | 0 |
| `colsample_bytree` (column sample by tree) | 各木を構築する際の列のサブサンプル比率です。 | float | (0.0, 1.0] | 1.0 |
| `reg_alpha` (alpha) | 重みに対するL1正則化項です。 | float | (0.0, +Inf) | 0.0 |
| `reg_lambda` (lambda) | 重みに対するL2正則化項です。 | float | (0.0, +Inf) | 0.0 |
| `importance_type` | feature_importances_に入力される特徴量の重要度のタイプです。'split'の場合、結果にはモデルで特徴量が使用された回数が含まれます。'gain'の場合、結果にはその特徴量を使用した分割の総ゲインが含まれます。 | string | { 'gain', 'split'} | 'split' |
| パラメータ | 説明 | データ型 | 設定可能な値 | デフォルト値 |
|---|---|---|---|---|
| `alpha` | L1項に乗算される定数で、正則化の強度を制御します。alphaは非負のfloat値である必要があります。 | float | (0, +Inf) | 1.0 |
| `fit_intercept` | このモデルの切片を計算するかどうかを指定します。Falseに設定すると、計算で切片は使用されません。 | bool | True or False | True |
| `normalize` | このパラメータは、fit_interceptがFalseに設定されている場合は無視されます。Trueの場合、回帰前に回帰変数Xは平均を引いてl2ノルムで割ることにより正規化されます。 | bool | True or False | False |
| `tol` (tolerance) | 最適化の許容値です。更新がtolより小さい場合、最適化コードは双対ギャップの最適性をチェックし、tolより小さくなるまで続行します。 | float | [0.0, +Inf) | 1e-4 |
| `warm_start` | Trueに設定すると、前回のfit呼び出しの解を初期化として再利用します。それ以外の場合は、前回の解を消去します。 | bool | True or False | False |
| `positive` | Trueに設定すると、係数を正の値に強制します。 | bool | True or False | False |
| `selection` | 'random'に設定すると、デフォルトで特徴量を順次ループするのではなく、各イテレーションでランダムな係数が更新されます。 | string | {"cyclic", "random"} | "cyclic" |
| パラメータ | 説明 | データ型 | 設定可能な値 | デフォルト値 |
|---|---|---|---|---|
| `fit_intercept` | このモデルの切片を計算するかどうかを指定します。Falseに設定すると、計算で切片は使用されません。 | bool | True or False | True |
| `normalize` | このパラメータは、fit_interceptがFalseに設定されている場合は無視されます。Trueの場合、回帰前に回帰変数Xは平均を引いて l2ノルムで割ることにより正規化されます。 | bool | True or False | False |
| パラメータ | 説明 | データ型 | 設定可能な値 | デフォルト値 |
|---|---|---|---|---|
| `n_estimators` | フォレスト内の木の数です。 | int | [1, 500] | 100 |
| `criterion` | 分割の品質を測定する関数です。サポートされている基準は、特徴量選択基準として分散減少に等しい平均二乗誤差の"squared_error"と、平均絶対誤差の"absolute_error"です。 | string | {"mse", "mae"} | "mse" |
| `max_depth` | 木の最大深度です。Noneの場合、すべてのリーフが純粋になるか、すべてのリーフに含まれるサンプル数がmin_samples_split未満になるまでノードが展開されます。 | int | (0, +Inf) | None |
| `min_samples_split` | 内部ノードを分割するために必要な最小サンプル数です。 | int or float | [2, +Inf) or (0, 1.0] | 2 |
| `min_samples_leaf` | リーフノードに必要な最小サンプル数です。任意の深さでの分割点は、左右の各ブランチに少なくともmin_samples_leafのトレーニングサンプルが残る場合にのみ考慮されます。 | int or float | [1, +Inf) or (0, 0.5] | 1 |
| `min_weight_fraction_leaf` | リーフノードに必要な、すべての入力サンプルの重みの合計に対する最小加重割合です。sample_weightが指定されていない場合、サンプルは等しい重みを持ちます。 | float | [0, 0.5] | 0.0 |
| `max_features` | 最良の分割を探す際に考慮する特徴量の数です。 | int, float or string | (0, n_features] or { "sqrt", "log2"}, None | None |
| `max_leaf_nodes` | best-first方式でmax_leaf_nodesのリーフを持つ木を成長させます。最良のノードは不純度の相対的な減少として定義されます。 | int | (1, +Inf) | None |
| `min_impurity_decrease` | この分割によって不純度がこの値以上に減少する場合にノードが分割されます。 | float | [0, +Inf) | 0.0 |
| `bootstrap` | 木の構築時にブートストラップサンプルを使用するかどうかを指定します。Falseの場合、各木の構築にデータセット全体が使用されます。 | bool | True or False | True |
| `oob_score` (out of bag score) | 汎化スコアを推定するためにout-of-bagサンプルを使用するかどうかを指定します。bootstrap=Trueの場合のみ利用可能です。 | bool | True or False | False |
| `warm_start` | Trueに設定すると、前回のfit呼び出しの解を再利用し、アンサンブルにさらに推定器を追加します。それ以外の場合は、完全に新しいフォレストをフィットします。 | bool | True or False | False |
| パラメータ | 説明 | データ型 | 設定可能な値 | デフォルト値 |
|---|---|---|---|---|
| `alpha` | L2項に乗算される定数で、正則化の強度を制御します。 | float | (0, +Inf) | 1.0 |
| `fit_intercept` | このモデルの切片をフィットするかどうかを指定します。Falseに設定すると、計算で切片は使用されません。 | bool | True or False | True |
| `normalize` | このパラメータは、fit_interceptがFalseに設定されている場合は無視されます。Trueの場合、回帰前に回帰変数Xは平均を引いて l2ノルムで割ることにより正規化されます。 | bool | True or False | False |
| `tol` (tolerance) | 解の精度です。 | float | [0.0, +Inf) | 1e-4 |
| `solver` | 計算ルーチンで使用するソルバーです: | string | {'auto', 'svd', 'cholesky', 'lsqr', 'sparse_cg', 'sag', 'saga'} | 'auto' |
| パラメータ | 説明 | データ型 | 設定可能な値 | デフォルト値 |
|---|---|---|---|---|
| `C` | 正則化パラメータです。正則化の強度はCに反比例します。厳密に正の値である必要があります。 | float | (0.0, +Inf) | 1.0 |
| `kernel` | アルゴリズムで使用されるカーネルタイプを指定します。指定がない場合、`rbf`が使用されます。callableが指定された場合、カーネル行列の事前計算に使用されます。 | string | {'linear', 'poly', 'rbf', 'sigmoid'} | 'rbf' |
| `degree` | 多項式カーネル関数('poly')の次数です。 | int | [0, +Inf) | 3 |
| `gamma` | 'rbf'、'poly'、'sigmoid'のカーネル係数です。 | string or float | {'scale', 'auto'} or (0.0, +Inf) | 'scale' |
| `coef0` | カーネル関数の独立項です。'poly'と'sigmoid'でのみ有効です。 | float | (-Inf, +Inf) | 0.0 |
| `shrinking` | 縮小ヒューリスティックを使用するかどうかを指定します。 | bool | True or False | True |
| `tol` (tolerance) | 停止基準の許容値です。 | float | [0.0, +Inf) | 1e-3 |
| `epsilon` | epsilon-SVMモデルのイプシロンです。 実際の値からの距離がイプシロン以内に予測されたポイントに対してトレーニング損失関数でペナルティが関連付けられないepsilon-tubeを指定します。 | float | [0, +Inf) | 0.1 |
| パラメータ | 説明 | データ型 | 設定可能な値 | デフォルト値 |
|---|---|---|---|---|
| `booster` | 使用するブースターを決定します。 | string | {'gbtree', 'gblinear', 'dart' } | 'gbtree' |
| `learning_rate` | 過学習を防ぐために更新で使用されるステップサイズの縮小です。各ブースティングステップの後、新しい特徴量の重みを直接取得でき、etaは特徴量の重みを縮小させてブースティングプロセスをより保守的にします。 | float | [0,1] | 0.1 |
| `n_estimators` (推定器の数) | フィットする木の数です。 | int | [1, 500] | 100 |
| `objective` | バイナリ分類のためのロジスティック回帰です。 | string | 以下の表の下に記載されています。 | "reg:linear" |
| `subsample` | サンプルの比率を制御します。 | int | (0,1] | 1 |
| `max_depth` | 木の最大深度です。 | int | (0, +Inf) | 3 |
| `max_delta_step` | 値が0に設定されている場合、制約はありません。正の値に設定すると、更新ステップをより保守的にするのに役立ちます。通常このパラメータは不要ですが、クラスが極端に不均衡な場合のロジスティック回帰に役立つ場合があります。 | int or float | [0, +Inf) | 0 |
| `colsample_bytree` (column sample by tree) | 列のランダムサンプルの割合です。 | float | (0, 1] | 1.0 |
| `colsample_bylevel` (column sample by level) | 各レベルの列のサブサンプル比率です。サブサンプリングはツリーで新しい深度レベルに達するたびに1回発生します。列は現在のツリーに選択された列のセットからサブサンプリングされます。 | float | (0, 1] | 1.0 |
| `min_child_weight` | 重みの最小合計です。 | int | [0, +Inf) | 1 |
| `reg_alpha` (alpha) | 重みに対するL1正則化項です。 | float | [0.0, +Inf) | 0.0 |
| `reg_lambda` (lambda) | 重みに対するL2正則化項です。 | float | [0.0, +Inf) | 0.0 |
| `scale_pos_weight` (scale positive weight) | 正と負の重みのバランスを制御します。不均衡なクラスに有用です。 | int | [0, +Inf) | 1 |