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