选择分类器选项
选择分类器类型
您可以使用分类学习器在数据上自动训练选择的不同分类模型。使用自动训练来快速尝试选择的模型类型,然后交互式地探索有前景的模型。要开始,请先尝试以下选项:
分类器选项 | 描述 |
---|---|
所有Quick-To-Train | 先试试这个。该应用程序将为您的数据集训练所有可用的模型类型,通常是快速拟合的。 |
所有的线性 | 如果您希望数据中的类之间有线性边界,请尝试此方法。此选项只适合线性支持向量机和线性判别。 |
所有 | 使用它来训练所有可用的不可优化的模型类型。训练每种类型的模型,而不考虑之前训练过的模型。可能会很耗时。 |
看到自动分类器训练.
如果你想一次研究一个分类器,或者你已经知道你想要的分类器类型,你可以选择单独的模型或训练一组相同类型的模型。要查看所有可用的分类器选项,请在分类学习者选项卡上的箭头模型节展开分类器列表。中的不可优化模型选项模型画廊是预设的起点与不同的设置,适用于一系列不同的分类问题。若要使用可优化的模型选项和自动调优模型超参数,请参见分类学习App中的超参数优化.
为了帮助您为您的问题选择最好的分类器类型,请参阅显示不同监督学习算法典型特征的表格。使用该表作为最终算法选择的指南。决定在速度、灵活性和可解释性方面进行权衡。最好的分类器类型取决于您的数据。
提示
为了避免过度拟合,请寻找灵活性较低但提供足够精度的模型。例如,寻找简单的模型,如决策树和判别器,这些模型快速且易于解释。如果模型预测响应不够准确,则选择其他具有更高灵活性的分类器,例如集成。要控制灵活性,请参阅每种分类器类型的详细信息。
分类器类型的特点
要在Classification Learner中阅读每个分类器的描述,请切换到详细信息视图。
提示
选择分类器类型(例如,决策树)后,尝试使用每种分类器进行训练。中的不可优化选项模型画廊是不同设置的起点。都尝试一下,看看哪个选项可以用您的数据生成最好的模型。
有关工作流说明,请参见在分类学习App中训练分类模型.
分类预测器支持金宝app
在分类学习器中模型图库显示支持所选数据的分类器类型。金宝app
分类器 | 所有预测器数值 | 所有预测因素都是明确的 | 一些分类的,一些数字的 |
---|---|---|---|
决策树 | 是的 | 是的 | 是的 |
判别分析 | 是的 | 没有 | 没有 |
逻辑回归 | 是的 | 是的 | 是的 |
朴素贝叶斯 | 是的 | 是的 | 是的 |
支持向量机 | 是的 | 是的 | 是的 |
最近的邻居 | 只是欧几里得距离 | 仅汉明距离 | 没有 |
内核近似 | 是的 | 是的 | 是的 |
乐团 | 是的 | 是的,除了子空间判别 | 是的,除了任何子空间 |
神经网络 | 是的 | 是的 | 是的 |
决策树
决策树易于解释,拟合和预测速度快,内存使用量低,但预测精度低。尽量种植简单的树,以防止过度拟合。控制深度最大分割次数设置。
提示
模型的灵活性随着最大分割次数设置。
分类器类型 | 可解释性 | 模型的灵活性 |
---|---|---|
粗树 |
容易 | 低 很少的叶子可以在类之间进行粗略的区分(分裂的最大数量是4)。 |
中树 |
容易 | 媒介 中等数量的叶子,用于类之间更细微的区别(最大分裂数为20)。 |
好树 |
容易 | 高 许多叶子可以在类之间做出许多细微的区分(分裂的最大数量是100)。 |
提示
在模型画廊,点击所有的树尝试每个不可优化的决策树选项。训练它们,看看哪些设置可以用你的数据生成最好的模型。选择最好的模型模型窗格。要尝试改进您的模型,请尝试特性选择,然后尝试更改一些高级选项。
训练分类树来预测对数据的响应。要预测响应,请根据树中的决策从根(开始)节点一直到叶节点。叶节点包含响应。统计和机器学习工具箱™树是二叉的。预测的每一步都包括检查一个预测器(变量)的值。例如,这是一个简单的分类树:
这棵树基于两个预测因子来预测分类,x1
而且x2
.要进行预测,从顶部节点开始。在每个决策中,检查预测器的值以决定遵循哪个分支。当分支到达叶节点时,数据被分类为类型0
或1
.
你可以通过从应用程序中导出模型来可视化你的决策树模型,然后输入:
视图(trainedModel。ClassificationTree,“模式”,“图”)
fisheriris
数据。
提示
有关示例,请参见使用分类学习应用程序训练决策树.
树模型超参数选项
分类学习器中的分类树使用fitctree
函数。您可以设置以下选项:
最大分割次数
指定分割或分支点的最大数量,以控制树的深度。当你种植决策树时,要考虑它的简单性和预测能力。中,单击按钮或输入正整数值,可更改分割数最大分割次数盒子。
一棵叶子很多的好树通常在训练数据上是高度准确的。然而,在一个独立的测试集上,该树可能无法显示出可比的准确性。多叶树倾向于过度训练,其验证精度往往远低于其训练(或再替换)精度。
相比之下,粗糙的树不能获得很高的训练精度。但是粗树可以更健壮,因为它的训练精度可以接近具有代表性的测试集。而且,粗糙的树很容易解释。
划分的标准
指定用于决定何时拆分节点的拆分标准度量。尝试这三种设置中的每一种,看看它们是否可以利用您的数据改进模型。
拆分标准选项包括
基尼多样性指数
,两个规则
,或最大偏差减小
(也称为交叉熵)。分类树尝试优化到只包含一个类的纯节点。Gini的多样性指数(默认值)和偏差准则度量节点的杂质。两分规则是决定如何分割节点的不同度量,其中最大化两分规则表达式可以增加节点纯度。
有关这些分割标准的详细信息,请参见
ClassificationTree
更多关于.代理决策分裂-仅用于丢失数据。
为决策分割指定代理的使用。如果数据中缺少值,可以使用代理分割来提高预测的准确性。
当你设置代理决策分裂来
在
时,分类树在每个分支节点上最多能找到10个代理分裂。要更改数字,请单击按钮或在中输入正整数值每个节点的最大代理数盒子。当你设置代理决策分裂来
找到所有
,分类树在每个分支节点上找到所有代理分割。的找到所有
设置需要相当多的时间和内存。
或者,您可以让应用程序通过使用超参数优化自动选择其中一些模型选项。看到分类学习App中的超参数优化.
判别分析
判别分析是一种流行的分类算法,因为它快速、准确、易于解释。判别分析适用于广泛的数据集。
判别分析假设不同的类基于不同的高斯分布生成数据。为了训练分类器,拟合函数估计每个类的高斯分布参数。
分类器类型 | 可解释性 | 模型的灵活性 |
---|---|---|
线性判别 |
容易 | 低 在类之间创建线性边界。 |
二次判别 |
容易 | 低 创建类之间的非线性边界(椭圆,抛物线或双曲线)。 |
判别模型超参数选项
分类学习者中的判别分析使用了fitcdiscr
函数。对于线性判别和二次判别,都可以更改协方差结构选择。如果你有零方差的预测器,或者预测器的协方差矩阵是奇异的,使用默认值训练可能会失败,完整的
协方差结构。如果培训失败,请选择对角
而是协方差结构。
或者,您可以让应用程序通过使用超参数优化自动选择其中一些模型选项。看到分类学习App中的超参数优化.
逻辑回归
如果你有两个类,逻辑回归是一种流行的简单分类算法,因为它很容易解释。分类器将类概率建模为预测因子线性组合的函数。
分类器类型 | 可解释性 | 模型的灵活性 |
---|---|---|
逻辑回归 |
容易 | 低 您不能更改任何参数来控制模型的灵活性。 |
逻辑回归在分类学习者中使用fitglm
函数。您不能在应用程序中为该分类器设置任何选项。
朴素贝叶斯分类器
朴素贝叶斯分类器易于解释,适用于多类分类。朴素贝叶斯算法利用贝叶斯定理,并假设在给定的类中,预测器是条件独立的。如果这种独立性假设对数据中的预测器有效,则使用这些分类器。然而,当独立假设不成立时,该算法仍能很好地工作。
对于内核朴素贝叶斯分类器,可以使用内核类型设置,并控制内核平滑密度支持用金宝app金宝app设置。
分类器类型 | 可解释性 | 模型的灵活性 |
---|---|---|
高斯朴素贝叶斯 |
容易 | 低 您不能更改任何参数来控制模型的灵活性。 |
核朴素贝叶斯 |
容易 | 媒介 您可以更改的设置内核类型而且金宝app控制分类器如何建模预测器分布。 |
分类学习中的朴素贝叶斯使用fitcnb
函数。
朴素贝叶斯模型超参数选项
对于内核朴素贝叶斯分类器,您可以设置这些选项:
内核类型—指定内核平滑类型。试着设置这些选项,看看它们是否能利用您的数据改进模型。
内核类型选项包括
高斯
,盒子
,Epanechnikov
,或三角形
.金宝app—指定内核平滑密度支持。金宝app试着设置这些选项,看看它们是否能利用您的数据改进模型。
金宝app支持选项包括
无限
(所有实值)或积极的
(均为正实数)。
或者,您可以让应用程序通过使用超参数优化自动选择其中一些模型选项。看到分类学习App中的超参数优化.
有关训练模型的下一步步骤,请参见在分类学习App中训练分类模型.
金宝app支持向量机
在分类学习器中,当你的数据有两个或两个以上的类时,你可以训练svm。
分类器类型 | 可解释性 | 模型的灵活性 |
---|---|---|
线性支持向量机 |
容易 | 低 在类之间进行简单的线性分离。 |
二次支持向量机 |
硬 | 媒介 |
立方支持向量机 |
硬 | 媒介 |
精细高斯支持向量机 |
硬 | 高降低与内核规模设置。 在内核比例设置为时,在类之间进行非常详细的区分 倍根号(P) / 4 . |
中等高斯支持向量机 |
硬 | 媒介 中等差别,核尺度设置为 sqrt (P) . |
粗高斯支持向量机 |
硬 | 低 在内核比例设置为时,在类之间进行粗略的区分 sqrt (P) * 4 ,其中P是预测因子的个数。 |
提示
尝试训练每个不可优化的支持向量机选项金宝app模型画廊。训练它们,看看哪些设置可以用你的数据生成最好的模型。选择最好的模型模型窗格。要尝试改进您的模型,请尝试特性选择,然后尝试更改一些高级选项。
SVM通过寻找将一个类别的数据点与另一个类别的数据点分开的最佳超平面来对数据进行分类。支持向量机的最佳超平面是指两个类之间的最大裕度。边距是指平行于没有内部数据点的超平面的平板的最大宽度。
的金宝app支持向量是离分离超平面最近的数据点;这些点在板子的边界上。下图演示了这些定义,其中+表示类型1的数据点,-表示类型- 1的数据点。
支持向量机还可以使用软边缘,即分离许多但不是所有数据点的超平面。
有关示例,请参见使用分类学习金宝app应用程序训练支持向量机.
SVM模型超参数选项
如果你刚好有两个类,分类学习者使用fitcsvm
函数来训练分类器。如果你有两个以上的类,应用程序使用fitcecoc
函数将多类分类问题简化为一组二元分类子问题,每个子问题有一个支持向量机学习器。要检查二进制和多类分类器类型的代码,可以从应用程序中训练好的分类器生成代码。
你可以在应用程序中设置这些选项:
核函数
指定Kernel函数来计算分类器。
线性核,最容易解释
高斯或径向基函数(RBF)核
二次
立方
盒子约束水平
指定方框约束,使拉格朗日乘法器的允许值保持在方框(有界区域)内。
要调优您的SVM分类器,请尝试增加框约束级别。中的按钮或输入一个正标量值盒子约束水平盒子。提高盒约束级别可以减少支持向量的数量,但也可以增加训练时间。金宝app
盒子约束参数是原始方程中称为C的软边缘惩罚,在对偶方程中是一个硬的“盒子”约束。
核尺度模式
如果需要,指定手动内核缩放。
当你设置核尺度模式来
汽车
,然后软件采用启发式程序选择标度值。启发式程序使用子抽样。因此,为了重现结果,设置一个随机数种子使用rng
在训练分类器之前。当你设置核尺度模式来
手册
,可以指定一个值。中的按钮或输入一个正标量值手工核秤盒子。该软件将预测矩阵的所有元素除以核尺度的值。然后,应用相应的核范数计算Gram矩阵。提示
模型的灵活性随着内核尺度的设置而降低。
多类方法
仅适用于包含3个或更多类的数据。该方法将多类分类问题简化为一组二元分类子问题,每个子问题有一个支持向量机学习器。
One-vs-One
每两节课培训一名学员。它学会区分一个类和另一个类。One-vs-All
每班培训一名学员。它学会区分一个类和其他类。标准化数据
指定是否缩放每个坐标距离。如果预测器有很大不同的尺度,标准化可以改善拟合。
或者,您可以让应用程序通过使用超参数优化自动选择其中一些模型选项。看到分类学习App中的超参数优化.
最近邻分类器
最近邻分类器通常在低维中具有良好的预测精度,但在高维中可能没有。它们占用很高的内存,而且不容易解释。
提示
模型的灵活性随着邻居个数设置。
分类器类型 | 可解释性 | 模型的灵活性 |
---|---|---|
好资讯 |
硬 | 类与类之间的细微差别。配置邻居个数为1。 |
媒介资讯 |
硬 | 阶级之间的中等差别。配置邻居个数为10。 |
粗糙的资讯 |
硬 | 阶级之间的粗糙差别。配置邻居个数为100。 |
余弦资讯 |
硬 | 类之间的中等差别,使用余弦距离度量。配置邻居个数为10。 |
立方资讯 |
硬 | 类之间的中等差别,使用三次距离度量。配置邻居个数为10。 |
加权资讯 |
硬 | 中等区分类,使用距离权重。配置邻居个数为10。 |
提示
方法中每个不可优化的最近邻选项进行训练模型画廊。训练它们,看看哪些设置可以用你的数据生成最好的模型。选择最好的模型模型窗格。要尝试改进您的模型,请尝试特性选择,然后(可选地)尝试更改一些高级选项。
是什么k-最近邻分类?根据查询点到训练数据集中点(或邻居)的距离对查询点进行分类是一种简单而有效的分类新点的方法。您可以使用各种度量来确定距离。给定一个集合X的n点和距离函数,k-最近邻(kNN)搜索让你找到k最接近的点X到一个或一组查询点。k基于神经网络的算法被广泛用作基准机器学习规则。
有关示例,请参见使用分类学习应用程序训练最近邻分类器.
KNN模型超参数选项
分类学习器中的最近邻分类器使用fitcknn
函数。您可以设置以下选项:
邻居个数
指定在预测时对每个点进行分类时要找到的最近邻居的数量。通过改变邻居的数量来指定精细(低数量)或粗分类器(高数量)。例如,精细KNN使用一个邻居,而粗糙KNN使用100个邻居。适应许多邻居可能需要花费时间。
距离度量
您可以使用各种度量来确定到点的距离。有关定义,请参阅类
ClassificationKNN
.距离重量
指定距离加权函数。你可以选择
平等的
(没有重量),逆
(重量为1/距离),或方逆
(重量为1/距离2).标准化数据
指定是否缩放每个坐标距离。如果预测器有很大不同的尺度,标准化可以改善拟合。
或者,您可以让应用程序通过使用超参数优化自动选择其中一些模型选项。看到分类学习App中的超参数优化.
核近似分类器
在Classification Learner中,您可以使用核近似分类器对具有许多观测值的数据进行非线性分类。对于内存中的大型数据,内核分类器往往比使用高斯内核的SVM分类器更快地训练和预测。
高斯核分类模型将低维空间中的预测因子映射到高维空间,然后将转换后的预测因子在高维空间中拟合成线性模型。在扩展空间中选择拟合SVM线性模型和拟合逻辑回归线性模型。
提示
在模型画廊,点击所有的内核尝试每个预设的内核近似选项,并查看哪个设置可以用您的数据生成最佳模型。选择最好的模型模型窗格,并尝试通过使用特性选择和更改一些高级选项来改进该模型。
分类器类型 | 可解释性 | 模型的灵活性 |
---|---|---|
支持向量机内核 |
硬 | 中-增加内核规模设置减少 |
逻辑回归核 |
硬 | 中-增加内核规模设置减少 |
有关示例,请参见使用分类学习应用程序训练核近似分类器.
内核模型超参数选项
如果你刚好有两个类,分类学习者使用fitckernel
函数来训练内核分类器。如果你有两个以上的类,应用程序使用fitcecoc
函数,将多类分类问题简化为一组二元分类子问题,每个子问题有一个内核学习器。
您可以设置以下选项:
学习者—指定线性分类模型类型以适应扩展的空间
支持向量机
或逻辑回归
.SVM内核分类器在模型拟合过程中使用铰链损失函数,而逻辑回归内核分类器使用偏差(logistic)损失。扩展维数—扩展空间的维数。
当您将此选项设置为
汽车
时,软件将维数设置为2 . ^装天花板(最低(log2 (p) + 5、15))
,在那里p
是预测因子的数量。当您将此选项设置为
手册
,您可以通过单击按钮或在方框中输入正标量值来指定值。
正则化强度(Lambda)-指定脊(L2)正则化惩罚项。当你使用SVM学习器时,盒子约束C以及正则化项的强度λ是由C= 1 / (λn),在那里n是观测的数量。
当您将此选项设置为
汽车
时,软件将正则化强度设置为1 /n,在那里n是观测的数量。当您将此选项设置为
手册
,您可以通过单击按钮或在方框中输入正标量值来指定值。
内核规模—指定内核缩放。软件使用这个值来获得随机特征扩展的随机基。详情请参见随机特征扩展.
当您将此选项设置为
汽车
时,软件采用启发式程序选择标度值。启发式程序使用子抽样。因此,为了重现结果,设置一个随机数种子使用rng
在训练分类器之前。当您将此选项设置为
手册
,您可以通过单击按钮或在方框中输入正标量值来指定值。
多类方法-指定将多类问题缩减为一组二进制子问题的方法,每个子问题有一个内核学习器。此值仅适用于包含两个以上类的数据。
One-vs-One
每两节课培训一名学员。这种方法学习区分一个类和另一个类。One-vs-All
每班培训一名学员。这种方法学习区分一个类和其他类。
迭代限制—指定最大训练迭代次数。
集成分类器
集成分类器将许多弱学习器的结果融合到一个高质量的集成模型中。质量取决于算法的选择。
提示
模型的灵活性随着学习人数设置。
所有的集成分类器往往适应得很慢,因为它们通常需要很多学习器。
分类器类型 | 可解释性 | 整体方法 | 模型的灵活性 |
---|---|---|---|
提高了树 |
硬 | 演算法 ,决策树 学习者 |
中到高的增长学习人数或最大分割次数设置。 提示 增强的树通常比袋装树做得更好,但可能需要参数调整和更多的学习器 |
袋装的树木 |
硬 | 随机森林袋 ,决策树 学习者 |
高-随着学习人数设置。 提示 先试试这个分类器。 |
子空间判别 |
硬 | 子空间 ,判别 学习者 |
中等-随着学习人数设置。 这对许多预测者来说都很好 |
子空间资讯 |
硬 | 子空间 ,最近的邻居 学习者 |
中等-随着学习人数设置。 这对许多预测者来说都很好 |
RUSBoost树 |
硬 | RUSBoost ,决策树 学习者 |
中等-随着学习人数或最大分割次数设置。 适合倾斜数据(有更多的一类观测数据) |
或LogitBoost -在模型类型画廊。 如果有2个类数据,请手动选择。 |
硬 | GentleBoost 或LogitBoost ,决策树 学习者选择 提高了树 然后改为GentleBoost 方法。 |
中等-随着学习人数或最大分割次数设置。 仅适用于二元分类 |
袋装树使用Breiman's随机森林的
算法。参考,见Breiman, L. Random Forests。机器学习45,pp. 5-32, 2001。
提示
先试试袋装树。增强的树通常做得更好,但可能需要搜索许多参数值,这很耗时。
方法中训练每个不可优化的集成分类器选项模型画廊。训练它们,看看哪些设置可以用你的数据生成最好的模型。选择最好的模型模型窗格。要尝试改进您的模型,请尝试特征选择、PCA,然后(可选地)尝试更改一些高级选项。
为了增强集成方法,您可以使用较深的树或大量的浅树来获得详细信息。与单树分类器一样,深树会导致过拟合。您需要试验为集合中的树选择最佳的树深度,以便权衡数据适合树的复杂性。使用学习人数而且最大分割次数设置。
有关示例,请参见使用分类学习应用程序训练集成分类器.
集成模型超参数选项
分类学习器中的集成分类器使用fitcensemble
函数。您可以设置以下选项:
帮助选择整体方法而且学习者类型,请参见Ensemble表。先试试预设。
最大分割次数
要增强集成方法,请指定分割或分支点的最大数量,以控制树学习器的深度。许多分支倾向于过度拟合,更简单的树可能更健壮,更容易解释。尝试为集合中的树选择最佳的树深度。
学习人数
尝试改变学习器的数量,看看是否可以改进模型。许多学习器可以产生很高的精度,但可能需要花费时间来适应。从几十个学习者开始,然后检查性能。一个具有良好预测能力的集成可能需要几百个学习器。
学习速率
指定收缩学习率。如果将学习率设置为小于1,集成需要更多的学习迭代,但通常会获得更好的精度。0.1是一个流行的选择。
子空间维数
对于子空间集合,指定每个学习器中要采样的预测器的数量。该应用程序为每个学习者选择一个随机的预测因子子集。不同学习者选择的子集是独立的。
样本预测因子的数量
指定为树学习器中的每个分割随机选择的预测器的数量。
当您将此选项设置为
选择所有
,该软件使用所有可用的预测器。当您将此选项设置为
限量
,您可以通过单击按钮或在方框中输入正整数值来指定值。
或者,您可以让应用程序通过使用超参数优化自动选择其中一些模型选项。看到分类学习App中的超参数优化.
神经网络分类器
神经网络模型通常具有良好的预测精度,可用于多类分类;然而,它们并不容易解释。
模型的灵活性随着神经网络中全连接层的大小和数量的增加而增加。
提示
在模型画廊,点击所有神经网络尝试每个预设的神经网络选项,看看哪个设置会用你的数据产生最好的模型。选择最好的模型模型窗格,并尝试通过使用特性选择和更改一些高级选项来改进该模型。
分类器类型 | 可解释性 | 模型的灵活性 |
---|---|---|
狭义神经网络 |
硬 | 中-随着的增加而增加第一层尺寸设置 |
中等神经网络 |
硬 | 中-随着的增加而增加第一层尺寸设置 |
广义神经网络 |
硬 | 中-随着的增加而增加第一层尺寸设置 |
双层神经网络 |
硬 | 高的随性而增加第一层尺寸而且第二层尺寸设置 |
三层神经网络 |
硬 | 高的随性而增加第一层尺寸,第二层尺寸,第三层尺寸设置 |
每个模型都是用于分类的前馈全连接神经网络。神经网络的第一个完全连接层具有来自网络输入(预测器数据)的连接,随后的每一层都具有来自前一层的连接。每个全连接层将输入乘以一个权重矩阵,然后添加一个偏置向量。每个全连接层后面都有一个激活函数。最后的全连接层和随后的softmax激活函数产生网络的输出,即分类分数(后验概率)和预测标签。有关更多信息,请参见神经网络结构.
有关示例,请参见使用分类学习应用程序训练神经网络分类器.
神经网络模型超参数选项
分类学习者中的神经网络分类器使用fitcnet
函数。您可以设置以下选项:
全连接层数-指定神经网络中全连接层数,排除最后一层进行分类。您最多可以选择三个全连接层。
第一层尺寸,第二层尺寸,第三层尺寸—指定每个全连接层的大小,不包括最后一个全连接层。如果你选择创建一个具有多个完全连接层的神经网络,请考虑用递减的大小指定层。
激活—指定所有全连通层的激活函数,不包括最后一个全连通层。最后一层全连接层的激活函数总是softmax。从以下激活功能中选择:
线性整流函数(Rectified Linear Unit)
,双曲正切
,没有一个
,乙状结肠
.迭代限制—指定最大训练迭代次数。
正则化强度(Lambda)-指定脊(L2)正则化惩罚项。
标准化数据—是否对数值预测器进行标准化。如果预测器有很大不同的尺度,标准化可以改善拟合。强烈建议将数据标准化。
或者,您可以让应用程序通过使用超参数优化自动选择其中一些模型选项。看到分类学习App中的超参数优化.