分類演演算法 classification-algorithms
本檔案提供各種分類演演算法的概觀,重點是它們的設定、關鍵引數,以及在進階統計模型中的實際使用。 分類演演算法可用來根據輸入功能將類別指派給資料點。 每個區段都包含引數說明和範常式式碼,協助您針對決策樹、隨機森林和樸素貝葉斯分類等工作實作和最佳化這些演演算法。
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個分葉節點,深度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求解器的分類演演算法。 分解機器分類模型使用Logistic損失,其可透過梯度下降進行最佳化,通常包括如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個分葉節點,深度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 (使用三分之一的功能)、sqrt (使用功能數目的平方根)、log2 (使用功能數目以2為底的對數)以及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是用於二進位分類工作的監督演演算法。 它會使用Logistic函式來模擬執行個體屬於某個類別的機率,並將執行個體指派給機率較高的類別。 這使其適用於目標為將資料分離成兩個類別之一的問題。
參數
下表概述設定和最佳化Logistic Regression效能的關鍵引數。
MAX_ITERREGPARAMELASTICNETPARAMElasticNet混合引數可控制L1 (套索)與L2 (脊狀)懲罰之間的平衡。 值為0會套用L2懲罰(Ridge,會減少係數的大小),而值為1則會套用L1懲罰(Lasso,將某些係數設定為零,鼓勵稀疏性)。範例
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是一個簡單的機率、多類別分類器,它以貝葉斯定理為基礎,特徵之間具有強(天真)獨立性假設。 它透過在訓練資料的單次傳遞中計算條件機率來有效地訓練,以計算給定每個標籤的每個特徵的條件機率分佈。 對於預測,它使用Bayes定理來計算每個已觀察標籤的條件機率分佈。
參數
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個分葉節點,深度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