分类算法
- 主题:
- 查询
创建对象:
- 开发人员
本文档概述了各种分类算法,重点介绍了它们的配置、关键参数以及在高级统计模型中的实际使用。 分类算法用于根据输入特征向数据点分配类别。 每个部分都包含参数描述和示例代码,可帮助您为决策树、随机林和朴素贝叶斯分类等任务实施和优化这些算法。
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
表示一个内部节点和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是一个支持普通梯度下降和AdamW求解器的分类算法。 因子化机分类模型使用Logistic损失,该损失可通过梯度下降来优化,并且通常包含正则化项(如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性能的关键参数。
MAX_BINS
CACHE_NODE_IDS
false
,则算法将树传递到执行器以将实例与节点进行匹配。 如果true
,则算法会缓存每个实例的节点ID,从而加快深度树的训练。false
true
、false
CHECKPOINT_INTERVAL
10
表示每10次迭代就检查一次缓存。MAX_DEPTH
0
表示一个叶节点,深度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
(使用三分之一的功能)、sqrt
(使用功能数量的平方根)、log2
(使用功能数量的基2对数)和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 (线性SVC)
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函数对实例属于某个类的概率进行建模,并将实例分配给概率较高的类。 这适合将数据分为两类中的一类的问题。
参数
下表概述了用于配置和优化Logistic Regression性能的关键参数。
MAX_ITER
REGPARAM
ELASTICNETPARAM
ElasticNet
混合参数控制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 (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是一个简单的概率多类分类器,它基于Bayes定理,特征间具有强(朴素)独立性假设。 它通过在训练数据中一次传递计算条件概率来有效地训练,以计算给定每个标签的每个特征的条件概率分布。 对于预测,它使用Bayes定理来计算给定观测值的每个标签的条件概率分布。
参数
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是一种集成学习算法,用于在训练期间构建多个决策树。 它通过平均预测和选择大多数树为分类任务选择的类别来缓解过度拟合。
参数
MAX_BINS
CACHE_NODE_IDS
false
,则算法将树传递到执行器以将实例与节点进行匹配。 如果为true
,则算法将缓存每个实例的节点ID,从而加快训练速度。false
true
、false
CHECKPOINT_INTERVAL
10
表示每10次迭代就检查一次缓存。IMPURITY
entropy
、gini
MAX_DEPTH
0
表示一个叶节点,深度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