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