Skip to main content

Classification tool icon 分类工具

使用作为机器学习管道一部分的分类工具确定目标所属类别。此工具提供了几种可用于训练模型的算法。您还可以通过此工具提供的多种参数调整模型。

要求 Alteryx Intelligence Suite

此工具是 Alteryx Intelligence Suite 的一部分。Intelligence Suite 需要单独的许可证,并需要以 Designer 附加组件进行安装。安装 Designer 后,请安装 Intelligence Suite 并 开始您的免费试用

配置工具

本章节包含有关如何配置分类工具的信息。

选择算法

选择要使用的算法。可选项包括 逻辑回归 决策树 随机森林 XGBoost

配置参数

配置参数。每种算法具有不同于其他算法的参数。每个算法也同时具有常规参数和高级参数。常规参数是创建精确模型不可或缺的一部分,即使对于初学者也是如此。高级参数可能会提高准确性,但需要用户深入了解它们的作用。

参考各个算法的详情表以查看参数具体执行什么操作:

名称

描述

选项

默认

class_weight

class_weight 将权重分配给数据集中的不同类。某些算法高估占多数的类,以致不平衡的出现。此参数通过为少数类分配额外权重,帮助平衡数据集中的类。

  • None

  • balanced

None

fit_intercept

确定是否希望算法计算线性回归模型的截距。它也被称为“常数”,截距是 x 等于 0 时 y 的预期平均值。

  • None

  • intercept_scaling

intercept_scaling :1.0

最大迭代次数

max_iter 指定解算器(solver)收敛所需的最大迭代次数。迭代次数越多的模型会捕获更多数据信息。

任何整数。

100

multi_class

multi_class 指定算法是否需要处理两个以上的类。

  • auto 自动选择 multinomial 或 OVR。

  • multinomial 能够处理多类或二元分类。

  • OVR 能够处理二元分类。

自动

Penalty(惩罚项)

penalty ,也称为“正则化”,是指修改损失函数以对模型可能会高估的某些值进行惩罚的做法。L1(拉索回归)和 L2(脊回归)是指定惩罚项的两种方法。

  • L1 通过将一些权重设置为 0,帮助找到包含许多特征的数据集中最重要的特征。

  • L2  如果确保不将权重设为 0,会使所有特征都有机会对模型进行贡献。

L2

dual

dual 将原始优化问题转换为对偶问题。

  • false

  • true *

*仅当选择了 l2 惩罚选项和 liblinear solver 选项时,才可以使用 dual

false

random_state

random_state 指定用于生成伪随机序列的起始编号。如果选择 none ,随机数生成器将选择一个起始数字。

  • int

  • none

Seed :10

solver

solver 是逻辑回归通过确定 sigmoid 权重来优化曲线的方法,目的是使其能够更好地拟合数据。

  • liblinear :对于要应用惩罚的小型数据集,使用此方法。 liblinear 需要一个惩罚项。

  • sag :对于要应用 l2 惩罚或不施加惩罚的大型数据集,使用此方法。

  • saga :对于要应用 l1 惩罚或不施加惩罚的大型数据集,使用此方法。

  • lbfgs :对于要应用 l2 惩罚或不施加惩罚的小型数据集,使用此方法。

  • newton-CG :对于要应用 l2 惩罚或不施加惩罚的小型数据集,使用此方法。

liblinear

tol

tol 就算法应何时检测到参数足够接近收敛(即保持不变)设置了停止标准。

任何正浮点数。

.0001

C(Regularization Tuner)

C (Regularization Tuner) 可以调整应用的惩罚量(即正则化),能有效限制模型施加了非常高权重的特征。将此参数设置为正浮点数。

任何正浮点数。

1.0

名称

描述

选项

默认

class_weight

class_weight 为数据集中的不同类分配权重。

  • none

  • balanced

none

criterion

使用 criterion 参数来选择一种方式测量决策树算法将数据拆分成不同节点的效果。

  • gini

  • entropy

gini

max_depth

max_depth 是一棵树从根到叶的最长路径。深度更大的树会产生更多的分裂,并能获取更多有关数据的信息。

  • none :节点将一直扩展直到所有叶节点都是纯节点(即完全由属于一个类的数据组成),或者直到所有叶节点包含的样本少于 min_samples_split 参数指定的数量。

  • int :限制分裂的扩展。

none

max_features

max_features 设置决策树在寻找最佳首次分裂时考虑的最大特征数。

  • auto :评估与数据集特征总数一样多的特征。

  • none :评估与数据集特征总数一样多的特征。

  • sqrt :评估与数据集的特征总数的平方根一样多的特征。

  • log2 : 评估与特征总数的以 2 为底的对数一样多的特征。

  • int :评估与用户指定的每次分裂数目一样多的特征。

  • float :评估与用户指定的特征总数比例一样多的特征。

auto

max_leaf_nodes

max_leaf_nodes 是算法可生成叶节点总数的最大值。它以最佳优先的方式将节点增长到最大数量。算法根据节点的不纯度减少能力确定最佳节点。使用 criterion 参数指定您希望如何测量不纯度的减少。

任何整数或 none

none

min_impurity_decrease

min_impurity_decrease 设置决策树分裂新节点时所需的不纯度减少量的最小阈值。因此,当不纯度减少量等于或大于 min_impurity_decrease 时,则分裂发生。使用 criterion 参数指定您希望如何测量不纯度的减少。

任何浮点数。

0.0

min_samples_split

min_samples_split 设置决策树拆分为新节点所需样本的最小阈值。算法至少可考虑一个样本,最多可考虑所有样本。

任何整数或分数。

int : 2

min_weight_fraction_leaf

min_weight_fraction_leaf是决策树分裂为新节点时所需的权重的最小阈值。此阈值等于所有样本权重和占比的最小值。默认情况下,决策树算法假定权重相等。

任何浮点数。

0.0

presort

使用此参数对数据进行预先排序,这可能有助于算法更快地找到最佳分裂。

  • true

  • false

false

random_state

random_state 指定用于生成伪随机序列的起始编号。如果选择 none ,随机数生成器将选择一个起始数字。

  • int :为随机数字生成器选择一个整数。

  • none :无可重复性。

int :10

splitter

splitter 指定了节点分裂的策略。它包括最佳首次分裂和最佳随机随机分裂选项。算法根据节点的不纯度减少能力确定最佳节点。

  • best : 需要更高的计算能力,可能存在过度拟合风险。

  • random :如果某些关联的信号较弱,random 选型可能会找到穿过树的路径。

best

名称

描述

选项

默认

bootstrap

Bootstrapping 是 bagging 的基础,是用于对训练数据集进行抽样的方法。此方法会迭代创建数据集的子样本以模拟新的、未曾接触的数据,利用这些数据可提高模型的泛化能力。

  • true

  • false

true

class_weight

class_weight 为数据集中的不同类分配权重。随机森林算法倾向于高估占多数的类,以致不平衡的出现。 class_weight 通过为少数类分配更多的权重,帮助平衡数据集中的类。平衡类可以提高模型性能。默认情况下,所有类的权重均为 1。

  • none :所有类的 class_weight 均为默认值(即 1)。

  • balanced :选择此选项,使随机森林算法根据各个类中的样本数量自动调整类权重。

none

criterion

使用 criterion 参数选择一种测量随机森林算法将数据拆分成不同节点的效果的方式。

  • gini

  • entropy

gini

max_depth

max_depth 是森林中每棵树从根到叶的最长路径。深度更大的树会产生更多的分裂,并能获取更多有关数据的信息。

  • none :节点将一直扩展直到所有叶节点都是纯节点(即完全由属于一个类的数据组成),或者直到所有叶节点包含的样本少于 min_samples_split 参数指定的数量。

  • int :限制分裂的扩展。

int :10

max_features

max_features 设置森林中各个决策树在寻找最佳首次分裂时考虑的最大特征数。

  • auto :评估与数据集特征总数一样多的特征。

  • none :评估与数据集特征总数一样多的特征。

  • sqrt : Evaluate a number of features equal to the square root of the total number of features in the dataset.

  • log2 : 评估与特征总数的以 2 为底的对数一样多的特征。

  • int :评估与用户指定的每次分裂数目一样多的特征。

  • float :评估与用户指定的特征总数比例一样多的特征。

自动

min_impurity_decrease

min_impurity_decrease 设置将决策树拆分为新节点所需的不纯度减少量的最小阈值。因此,当不纯度减少量等于或大于 min_impurity_decrease 时,则分裂发生。使用 criterion 参数指定您希望如何测量不纯度的减少。

任何浮点数。

0.0

min_samples_split

min_samples_split 设置将决策树(随机森林中)拆分为新节点所需样本的最小阈值。算法至少可考虑一个样本,最多可考虑所有样本。

任何整数或分数。

int : 2

min_weight_fraction_leaf

min_weight_fraction_leaf 即将决策树拆分为新节点所需权重的最小阈值。此阈值等于所有样本权重和占比的最小值。默认情况下,决策树算法假定权重相等。

任何浮点数。

0.0

n_estimators

n_estimators 是您想构建随机森林的树的数量。

任何整数。

100

random_state

random_state 指定用于生成伪随机序列的起始编号。如果选择 none ,随机数生成器将选择一个起始数字。

  • int :为随机数字生成器选择一个整数。

  • none :无可重复性。

int :10

名称

描述

选项

默认

colsample_bylevel

colsample_bylevel 是算法为树中每个深度级别随机创建的子样本占数据的比例。

0 到 1 之间的任何浮点数。

1

colsample_bynode

colsample_bynode 是算法为树中每个节点随机创建的子样本占数据的比例。

0 到 1 之间的任何浮点数。

1

colsample_bytree

colsample_bytree 是算法为每棵树随机创建的子样本占数据的比例。

0 到 1 之间的任何浮点数。

1

gamma

gamma设置决策树拆分为新节点时所需的损失减少量。因此,当损失减少量等于或大于 gamma 时则会发生分裂。

任何正整数或 0。

0

learning_rate

learning_rate是指算法让新信息覆盖旧信息的速率。通常以对数增量设置 learning_rate (例如 0.003、0.03、0.3)。

0 到 1 之间的任何浮点数。

0.05

max_depth

max_depth 是森林中每棵树从根到叶的最长路径。深度更大的树会产生更多的分裂,并能获取更多有关数据的信息。

等于或大于 1 的任何数字。

3

min_child_weight

min_child_weight 设置决策树新节点拆分为新节点时所需的 Hessian 权重阈值。因此,当 Hessian 权重减少量大于或等于 min_child_weight 时,分裂则发生。

任何正数或 0。

1

n_estimators

n_estimators 是您想构建随机森林的树的数量。

等于或大于 1 的任何数字。

100

random_state

random_state 指定用于生成伪随机序列的起始编号。

任意整数。

10

subsample

subsample 是算法随机创建的子样本占数据的百分比。

0 到 1 之间的任何数字。

1