分类算法 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表示一个内部节点和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表示一个内部节点和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 (线性SVC) 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定理,特征间具有强(朴素)独立性假设。 它通过在训练数据中一次传递计算条件概率来有效地训练,以计算给定每个标签的每个特征的条件概率分布。 对于预测,它使用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表示一个内部节点和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