分類アルゴリズム classification-algorithms
このドキュメントでは、高度な統計モデルでの設定、主要なパラメーター、実際の使用方法に重点を置いて、様々な分類アルゴリズムの概要を説明します。 分類アルゴリズムは、入力特性に基づいてデータポイントにカテゴリを割り当てるために使用されます。 各セクションには、デシジョンツリー、ランダムフォレスト、Naive Bayes 分類などのタスクに対してこれらのアルゴリズムを実装して最適化するのに役立つパラメーターの説明とサンプルコードが含まれています。
Decision Tree Classifier decision-tree-classifier
Decision Tree Classifier は、統計、データマイニング、機械学習で使用される監視付き学習アプローチです。 このアプローチでは、デシジョンツリーを分類タスクの予測モデルとして使用し、一連の観測から結論を導き出します。
パラメーター
次の表に、Decision Tree Classifier ールのパフォーマンスの設定と最適化のための主要なパラメーターの概要を示します。
MAX_BINS
CACHE_NODE_IDS
false
の場合、アルゴリズムによってツリーがエグゼキューターに渡され、インスタンスとノードが一致します。 true
の場合、アルゴリズムはインスタンスごとにノード ID をキャッシュするので、より深いツリーのトレーニングが迅速になります。false
true
、false
CHECKPOINT_INTERVAL
10
は、キャッシュが 10 回ごとにチェックポイントされることを意味します。IMPURITY
entropy
、gini
MAX_DEPTH
0
は 1 つのリーフノードを意味し、depth 1
は 1 つの内部ノードと 2 つのリーフノードを意味します。MIN_INFO_GAIN
MIN_WEIGHT_FRACTION_PER_NODE
MIN_INSTANCES_PER_NODE
MAX_MEMORY_IN_MB
PREDICTION_COL
SEED
WEIGHT_COL
1.0
として扱われます。ONE_VS_REST
false
true
、false
例
Create MODEL modelname OPTIONS(
type = 'decision_tree_classifier'
) AS
select col1, col2, col3 from training-dataset
Factorization Machine Classifier factorization-machine-classifier
Factorization Machine Classifier は、通常の勾配降下と AdamW ソルバをサポートする分類アルゴリズムです。 ファクタリング機械分類モデルは、ロジスティック損失を使用します。これは、勾配降下によって最適化でき、多くの場合、オーバーフィットを防ぐために L2 などの正規化用語を含みます。
パラメーター
Factorization Machine Classifier のパフォーマンスの設定および最適化のための主要なパラメーターの概要を次の表に示します。
TOL
1E-6
FACTOR_SIZE
FIT_INTERCEPT
true
true
、false
FIT_LINEAR
true
true
、false
INIT_STD
MAX_ITER
MINI_BATCH_FRACTION
(0, 1]
の範囲である必要があります。REG_PARAM
SEED
SOLVER
gd
(グラデーション下降)と adamW
です。gd
、adamW
STEP_SIZE
PROBABILITY_COL
PREDICTION_COL
RAW_PREDICTION_COL
ONE_VS_REST
true
、false
例
CREATE MODEL modelname OPTIONS(
type = 'factorization_machines_classifier'
) AS
SELECT col1, col2, col3 FROM training-dataset
Gradient Boosted Tree Classifier gradient-boosted-tree-classifier
Gradient Boosted Tree Classifier では、分類タスクの精度を向上させるためにデシジョンツリーのアンサンブルを使用し、モデルのパフォーマンスを向上させるために複数のツリーを組み合わせます。
パラメーター
Gradient Boosted Tree Classifier のパフォーマンスの設定および最適化のための主要なパラメーターの概要を次の表に示します。
MAX_BINS
CACHE_NODE_IDS
false
の場合、アルゴリズムによってツリーがエグゼキューターに渡され、インスタンスとノードが一致します。 true
の場合、アルゴリズムはインスタンスごとにノード ID をキャッシュするので、より深いツリーのトレーニングが迅速になります。false
true
、false
CHECKPOINT_INTERVAL
10
は、キャッシュが 10 回ごとにチェックポイントされることを意味します。MAX_DEPTH
0
は 1 つのリーフノードを意味し、depth 1
は 1 つの内部ノードと 2 つのリーフノードを意味します。MIN_INFO_GAIN
MIN_WEIGHT_FRACTION_PER_NODE
MIN_INSTANCES_PER_NODE
MAX_MEMORY_IN_MB
PREDICTION_COL
VALIDATION_INDICATOR_COL
false
はトレーニングを示し、true
は検証を示します。 値が設定されていない場合、デフォルト値は None
です。RAW_PREDICTION_COL
LEAF_COL
FEATURE_SUBSET_STRATEGY
auto
(タスクに基づいて自動的に決定される)、all
(すべてのフィーチャを使用)、onethird
(フィーチャ数の 3 分の 1 を使用)、sqrt
(フィーチャ数の平方根を使用)、log2
(フィーチャ数の二乗を使用)、n
(ここで n は、(0, 1]
の範囲内のフィーチャの一部、または [1, total number of features]
の範囲内の特定の数のフィーチャです)。auto
, all
, onethird
, sqrt
, log2
, n
WEIGHT_COL
1.0
として扱われます。LOSS_TYPE
logistic
(大文字と小文字を区別しない)STEP_SIZE
(0, 1]
のステップサイズ (学習率とも呼ばれます)は、各推定量の貢献度を小さくするために使用されます。MAX_ITER
SUBSAMPLING_RATE
(0, 1]
PROBABILITY_COL
ONE_VS_REST
false
true
、false
例
Create MODEL modelname OPTIONS(
type = 'gradient_boosted_tree_classifier'
) AS
select col1, col2, col3 from training-dataset
Linear Support Vector Classifier (LinearSVC) linear-support-vector-classifier
Linear Support Vector Classifier (LinearSVC)は、高次元空間においてデータを分類するためにハイパープレーンを構築する。 クラス間のマージンを最大化して分類エラーを最小限に抑えるために使用できます。
パラメーター
Linear Support Vector Classifier (LinearSVC) のパフォーマンスの設定および最適化のための主要なパラメーターの概要を次の表に示します。
MAX_ITER
AGGREGATION_DEPTH
FIT_INTERCEPT
true
true
、false
TOL
MAX_BLOCK_SIZE_IN_MB
0
に設定した場合、最適な値が自動的に選択されます(通常は 1 MB 程度)。REG_PARAM
STANDARDIZATION
true
true
、false
PREDICTION_COL
RAW_PREDICTION_COL
ONE_VS_REST
false
true
、false
例
Create MODEL modelname OPTIONS(
type = 'linear_svc_classifier'
) AS
select col1, col2, col3 from training-dataset
Logistic Regression logistic-regression
Logistic Regression は、バイナリ分類タスクに使用される監視対象アルゴリズムです。 インスタンスがクラスに属する確率をロジスティック関数を使用してモデル化し、より高い確率でそのインスタンスをクラスに割り当てます。 これにより、データを 2 つのカテゴリのいずれかに分離することが目標となる問題に適しています。
パラメーター
Logistic Regression のパフォーマンスの設定と最適化のための主要なパラメーターの概要を次の表に示します。
MAX_ITER
REGPARAM
ELASTICNETPARAM
ElasticNet
混合パラメータは、L1 (ラッソ)ペナルティと L2 (リッジ)ペナルティのバランスを制御します。 値が 0 の場合は L2 ペナルティ (係数のサイズを小さくするリッジ)が適用され、値が 1 の場合は L1 ペナルティ (係数の一部をゼロに設定してスパースを促進するラッソ)が適用されます。例
Create MODEL modelname OPTIONS(
type = 'logistic_reg'
) AS
select col1, col2, col3 from training-dataset
Multilayer Perceptron Classifier multilayer-perceptron-classifier
Multilayer Perceptron Classifier (MLPC)は、フィードフォワード人工ニューラルネットワーク分類器です。 複数のノードの完全に接続されたレイヤーで構成され、各ノードは入力の重み付けされた線形の組み合わせを適用し、その後にアクティブ化関数が適用されます。 MLPC は、非線形の決定境界を必要とする複雑な分類タスクに使用されます。
パラメーター
MAX_ITER
BLOCK_SIZE
STEP_SIZE
gd
ードにのみ適用)。TOL
1E-6
PREDICTION_COL
SEED
PROBABILITY_COL
RAW_PREDICTION_COL
ONE_VS_REST
false
true
、false
例
CREATE MODEL modelname OPTIONS(
type = 'multilayer_perceptron_classifier'
) AS
select col1, col2, col3 from training-dataset
Naive Bayes Classifier naive-bayes-classifier
Naive Bayes Classifier は、特性間の強い(素朴な)独立性前提を持つベイズの定理に基づく単純な確率論的、マルチクラス分類子です。 各ラベルに付与された各機能の条件付確率分布を計算するために、トレーニングデータを 1 回のパスで計算することで、効率的にトレーニングを行います。 予測には、ベイズの定理を使用して、観測が与えられた各ラベルの条件付き確率分布を計算します。
パラメーター
MODEL_TYPE
"multinomial"
、"complement"
、"bernoulli"
、"gaussian"
です。 モデルタイプでは大文字と小文字が区別されます。"multinomial"
、"complement"
、"bernoulli"
、"gaussian"
SMOOTHING
PROBABILITY_COL
WEIGHT_COL
1.0
として扱われます。PREDICTION_COL
RAW_PREDICTION_COL
ONE_VS_REST
false
true
、false
例
CREATE MODEL modelname OPTIONS(
type = 'naive_bayes_classifier'
) AS
SELECT col1, col2, col3 FROM training-dataset
Random Forest Classifier random-forest-classifier
Random Forest Classifier は、トレーニング中に複数のデシジョンツリーを構築するアンサンブル学習アルゴリズムです。 予測を平均化し、分類タスクのために大部分の木によって選択されたクラスを選択することによって、過剰適合を軽減します。
パラメーター
MAX_BINS
CACHE_NODE_IDS
false
の場合、アルゴリズムによってツリーがエグゼキューターに渡され、インスタンスとノードが一致します。 true
の場合、アルゴリズムはインスタンスごとにノード ID をキャッシュするので、トレーニングが高速化されます。false
true
、false
CHECKPOINT_INTERVAL
10
は、キャッシュが 10 回ごとにチェックポイントされることを意味します。IMPURITY
entropy
、gini
MAX_DEPTH
0
は 1 つのリーフノードを意味し、depth 1
は 1 つの内部ノードと 2 つのリーフノードを意味します。MIN_INFO_GAIN
MIN_WEIGHT_FRACTION_PER_NODE
MIN_INSTANCES_PER_NODE
MAX_MEMORY_IN_MB
PREDICTION_COL
WEIGHT_COL
1.0
として扱われます。SEED
BOOTSTRAP
true
true
、false
NUM_TREES
1
の場合、ブートストラップは使用されません。 1
より大きい場合は、ブートストラップが適用されます。SUBSAMPLING_RATE
LEAF_COL
PROBABILITY_COL
RAW_PREDICTION_COL
ONE_VS_REST
false
true
、false
例
Create MODEL modelname OPTIONS(
type = 'random_forest_classifier'
) AS
select col1, col2, col3 from training-dataset
次の手順
このドキュメントでは、様々な分類アルゴリズムの設定および使用方法を確認しました。 次に、他のタイプの高度な統計モデルについて詳しくは、 回帰および クラスタリングに関するドキュメントを参照してください。