分類アルゴリズム classification-algorithms
このドキュメントでは、高度な統計モデルでの設定、主要なパラメーター、実際の使用方法に重点を置いて、様々な分類アルゴリズムの概要を説明します。 分類アルゴリズムは、入力特性に基づいてデータポイントにカテゴリを割り当てるために使用されます。 各セクションには、デシジョンツリー、ランダムフォレスト、Naive Bayes 分類などのタスクに対してこれらのアルゴリズムを実装して最適化するのに役立つパラメーターの説明とサンプルコードが含まれています。
Decision Tree Classifier decision-tree-classifier
Decision Tree Classifier は、統計、データマイニング、機械学習で使用される監視付き学習アプローチです。 このアプローチでは、デシジョンツリーを分類タスクの予測モデルとして使用し、一連の観測から結論を導き出します。
パラメーター
次の表に、Decision Tree Classifier ールのパフォーマンスの設定と最適化のための主要なパラメーターの概要を示します。
MAX_BINSCACHE_NODE_IDSfalse の場合、アルゴリズムによってツリーがエグゼキューターに渡され、インスタンスとノードが一致します。 true の場合、アルゴリズムはインスタンスごとにノード ID をキャッシュするので、より深いツリーのトレーニングが迅速になります。falsetrue、falseCHECKPOINT_INTERVAL10 は、キャッシュが 10 回ごとにチェックポイントされることを意味します。IMPURITYentropy、giniMAX_DEPTH0 は 1 つのリーフノードを意味し、depth 1 は 1 つの内部ノードと 2 つのリーフノードを意味します。MIN_INFO_GAINMIN_WEIGHT_FRACTION_PER_NODEMIN_INSTANCES_PER_NODEMAX_MEMORY_IN_MBPREDICTION_COLSEEDWEIGHT_COL1.0 として扱われます。ONE_VS_RESTfalsetrue、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 のパフォーマンスの設定および最適化のための主要なパラメーターの概要を次の表に示します。
TOL1E-6FACTOR_SIZEFIT_INTERCEPTtruetrue、falseFIT_LINEARtruetrue、falseINIT_STDMAX_ITERMINI_BATCH_FRACTION(0, 1] の範囲である必要があります。REG_PARAMSEEDSOLVERgd (グラデーション下降)と adamW です。gd、adamWSTEP_SIZEPROBABILITY_COLPREDICTION_COLRAW_PREDICTION_COLONE_VS_RESTtrue、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_BINSCACHE_NODE_IDSfalse の場合、アルゴリズムによってツリーがエグゼキューターに渡され、インスタンスとノードが一致します。 true の場合、アルゴリズムはインスタンスごとにノード ID をキャッシュするので、より深いツリーのトレーニングが迅速になります。falsetrue、falseCHECKPOINT_INTERVAL10 は、キャッシュが 10 回ごとにチェックポイントされることを意味します。MAX_DEPTH0 は 1 つのリーフノードを意味し、depth 1 は 1 つの内部ノードと 2 つのリーフノードを意味します。MIN_INFO_GAINMIN_WEIGHT_FRACTION_PER_NODEMIN_INSTANCES_PER_NODEMAX_MEMORY_IN_MBPREDICTION_COLVALIDATION_INDICATOR_COLfalse はトレーニングを示し、true は検証を示します。 値が設定されていない場合、デフォルト値は None です。RAW_PREDICTION_COLLEAF_COLFEATURE_SUBSET_STRATEGYauto (タスクに基づいて自動的に決定される)、all (すべてのフィーチャを使用)、onethird (フィーチャ数の 3 分の 1 を使用)、sqrt (フィーチャ数の平方根を使用)、log2 (フィーチャ数の二乗を使用)、n (ここで n は、(0, 1] の範囲内のフィーチャの一部、または [1, total number of features] の範囲内の特定の数のフィーチャです)。auto, all, onethird, sqrt, log2, nWEIGHT_COL1.0 として扱われます。LOSS_TYPElogistic (大文字と小文字を区別しない)STEP_SIZE(0, 1] のステップサイズ (学習率とも呼ばれます)は、各推定量の貢献度を小さくするために使用されます。MAX_ITERSUBSAMPLING_RATE(0, 1]PROBABILITY_COLONE_VS_RESTfalsetrue、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_ITERAGGREGATION_DEPTHFIT_INTERCEPTtruetrue、falseTOLMAX_BLOCK_SIZE_IN_MB0 に設定した場合、最適な値が自動的に選択されます(通常は 1 MB 程度)。REG_PARAMSTANDARDIZATIONtruetrue、falsePREDICTION_COLRAW_PREDICTION_COLONE_VS_RESTfalsetrue、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_ITERREGPARAMELASTICNETPARAMElasticNet 混合パラメータは、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_ITERBLOCK_SIZESTEP_SIZEgd ードにのみ適用)。TOL1E-6PREDICTION_COLSEEDPROBABILITY_COLRAW_PREDICTION_COLONE_VS_RESTfalsetrue、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"SMOOTHINGPROBABILITY_COLWEIGHT_COL1.0 として扱われます。PREDICTION_COLRAW_PREDICTION_COLONE_VS_RESTfalsetrue、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_BINSCACHE_NODE_IDSfalse の場合、アルゴリズムによってツリーがエグゼキューターに渡され、インスタンスとノードが一致します。 true の場合、アルゴリズムはインスタンスごとにノード ID をキャッシュするので、トレーニングが高速化されます。falsetrue、falseCHECKPOINT_INTERVAL10 は、キャッシュが 10 回ごとにチェックポイントされることを意味します。IMPURITYentropy、giniMAX_DEPTH0 は 1 つのリーフノードを意味し、depth 1 は 1 つの内部ノードと 2 つのリーフノードを意味します。MIN_INFO_GAINMIN_WEIGHT_FRACTION_PER_NODEMIN_INSTANCES_PER_NODEMAX_MEMORY_IN_MBPREDICTION_COLWEIGHT_COL1.0 として扱われます。SEEDBOOTSTRAPtruetrue、falseNUM_TREES1 の場合、ブートストラップは使用されません。 1 より大きい場合は、ブートストラップが適用されます。SUBSAMPLING_RATELEAF_COLPROBABILITY_COLRAW_PREDICTION_COLONE_VS_RESTfalsetrue、false例
Create MODEL modelname OPTIONS(
type = 'random_forest_classifier'
) AS
select col1, col2, col3 from training-dataset
次の手順
このドキュメントでは、様々な分類アルゴリズムの設定および使用方法を確認しました。 次に、他のタイプの高度な統計モデルについて詳しくは、 回帰 および クラスタリング に関するドキュメントを参照してください。