主要内容

使用分类学习应用程序训练朴素贝叶斯分类器

这个例子展示了如何使用Classification Learner应用程序创建和比较不同的朴素贝叶斯分类器,并将训练过的模型导出到工作空间,以对新数据进行预测。

朴素贝叶斯分类器利用贝叶斯定理,并假设每个类中的预测器彼此独立。然而,即使独立性假设不成立,分类器似乎也能很好地工作。你可以在分类学习器中对两个或多个类使用朴素贝叶斯。该应用程序允许您单独或同时训练高斯朴素贝叶斯模型或内核朴素贝叶斯模型。

该表列出了分类学习器中可用的朴素贝叶斯模型,以及每个模型用于拟合预测因子的概率分布。

模型 数值预测 分类预测
高斯朴素贝叶斯 高斯分布(或正态分布) 多元多项分布
核朴素贝叶斯 内核分配
您可以指定内核类型和支持。金宝app分类学习器自动确定核宽度使用底层fitcnb函数。
多元多项分布

本例使用Fisher的虹膜数据集,其中包含三个物种标本的花的测量值(花瓣长度、花瓣宽度、萼片长度和萼片宽度)。训练朴素贝叶斯分类器来预测基于预测器测量的物种。

  1. 在MATLAB中®命令窗口,加载Fisher虹膜数据集,并使用数据集中的变量创建测量预测器(或特征)表。

    渔场=可读表(“fisheriris.csv”);
  2. 单击应用程序选项卡,然后单击右侧的箭头应用程序部分打开应用程序库。在机器学习和深度学习组中,单击分类学习者

  3. 分类学习者选项卡,在文件部分中,选择从工作区中创建会话>

    分类学习者选项卡

  4. 在“从工作区新建会话”对话框中,选择表fishertable数据集变量列出(如有必要)。

    如对话框所示,应用程序根据数据类型选择响应变量和预测变量。花瓣和萼片的长度和宽度是预测因子,而物种是你想要分类的响应。对于本例,不要更改选择。

    “从工作区新建会话”对话框

  5. 若要接受默认验证方案并继续,请单击开始会议。默认的验证选项是交叉验证,以防止过拟合。

    分类学习器创建数据的散点图。

    Fisher虹膜数据的散点图

  6. 使用散点图来研究哪些变量对预测响应有用。上选择不同的选项X而且Y列表下预测使物种分布和测量可视化。观察哪些变量将物种的颜色区分得最清楚。

    setosa物种(蓝色点)很容易从其他两个物种中分离出来。的多色的而且virginica物种在所有预测测量和重叠中都更接近,特别是当你绘制萼片长度和宽度时。setosa比其他两个物种更容易预测。

  7. 创建一个朴素贝叶斯模型。在分类学习者选项卡,在模型部分,单击箭头打开图库。在朴素贝叶斯分类器组中,单击高斯朴素贝叶斯。注意模型Hyperparameters模型剖面总结TAB中没有超参数选项。

  8. 火车部分中,点击火车都并选择选择火车

    请注意

    • 如果您有并行计算工具箱™,那么应用程序有使用并行按钮默认开启。点击之后火车都并选择火车都选择火车,该应用程序会打开一个并行的员工池。在此期间,您无法与该软件进行交互。泳池开放后,你可以继续与应用程序互动,而模型则并行训练。

    • 如果你没有并行计算工具箱,那么应用程序有使用背景培训中的复选框。火车都默认选择的菜单。在你选择一个训练模型的选项后,应用程序会打开一个背景池。泳池开放后,当模特在后台训练时,你可以继续与应用程序互动。

    该应用程序创建了一个高斯朴素贝叶斯模型,并绘制了一个验证混淆矩阵。

    应用程序显示高斯朴素贝叶斯模型中的模型窗格。中检查模型验证分数准确性(验证)盒子。分数表明该模型表现良好。

    高斯朴素贝叶斯默认情况下,该应用程序使用高斯分布对数值预测器的分布建模,并使用多元多项分布(MVMN)对类别预测器的分布建模。

    用高斯朴素贝叶斯分类器建立虹膜数据的验证混淆矩阵。蓝色值表示正确的分类,红色值表示错误的分类。

    请注意

    验证在结果中引入了一些随机性。您的模型验证结果可能与本示例中显示的结果不同。

  9. 检查训练模型的散点图。在分类学习者选项卡,在情节和解释部分,单击箭头打开图库,然后单击散射验证结果组。X表示错误分类的点。蓝色的点(setosa物种)都是正确的分类,但其他两个物种有错误的分类点。下情节,在数据而且模型的预测选项。观察错误(X)点的颜色。或者,要只查看不正确的点,请清除正确的复选框。

  10. 训练一个核朴素贝叶斯模型进行比较。在分类学习者选项卡,在模型画廊,点击核朴素贝叶斯。程序中显示了一个内核朴素贝叶斯模型草案模型窗格。

    在模型中总结选项卡,在模型Hyperparameters中,选择三角形内核类型列表,并选择积极的金宝app列表。

    更新朴素贝叶斯超参数的摘要选项卡

    请注意

    超参数选项仅对连续数据可用。指向内核类型显示工具提示“为连续变量指定内核平滑函数”,并指向金宝app显示工具提示“指定连续变量的内核平滑密度支持”。金宝app

    火车部分中,点击火车都并选择选择火车训练新模型。

    用核朴素贝叶斯分类器对虹膜数据进行验证混淆矩阵。蓝色值表示正确的分类,红色值表示错误的分类。

    模型窗格显示新内核朴素贝叶斯模型的模型验证得分。它的得分与高斯朴素贝叶斯模型的得分相同。该应用程序突出显示准确性(验证)通过在方框中勾勒出最佳模型(或多个模型)的分数。

  11. 模型窗格中,单击每个模型以查看和比较结果。要查看模型的结果,请检查模型总结选项卡。的总结选项卡显示培训结果在验证集上计算的度量。

  12. 同时训练高斯朴素贝叶斯模型和核朴素贝叶斯模型。在分类学习者选项卡,在模型画廊,点击全朴素贝叶斯。在火车部分中,点击火车都并选择选择火车

    该应用程序训练每种朴素贝叶斯模型类型之一,并突出显示准确性(验证)最佳模型或模型得分。Classification Learner显示了第一个模型(模型4.1)的验证混淆矩阵。

    基于高斯朴素贝叶斯分类器的Fisher虹膜数据验证混淆矩阵。Models窗格显示了每个模型的精度。

  13. 模型窗格中,单击模型以查看结果。例如,选择模型2。检查训练模型的散点图。在分类学习者选项卡,在情节和解释部分,单击箭头打开图库,然后单击散射验证结果组。尝试绘制不同的预测因子。错误分类的点以X表示。

  14. 检查每节课预测的准确性。在分类学习者选项卡,在情节和解释部分,单击箭头打开图库,然后单击混淆矩阵(验证)验证结果组。该应用程序显示了真实班级和预测班级结果的矩阵。

  15. 模型窗格中,单击其他训练过的模型并比较它们的结果。

  16. 为了改进模型,在模型训练中加入不同的特征。看看是否可以通过去除低预测能力的特征来改进模型。

    分类学习者选项卡,在选项部分中,点击特征选择

    默认特性选择选项卡,可以选择不同的特征排序算法来确定最重要的特征。在你选择一个特征排名算法后,应用程序会显示一个排序特征重要性得分的图表,其中较大的得分(包括S)表示更大的特征重要性。该表显示了排名特征及其得分。

    在本例中,使用单向方差分析对特征进行排序。下特征排序算法,点击方差分析

    默认特征选择选项卡,ANOVA作为选择的特征排名算法

    特征选择,使用默认选项选择排名最高的特性,以避免验证指标中的偏差。指定为模型训练保留4个特征中的2个。点击保存并应用。应用程序将功能选择更改应用到使用模型画廊。

  17. 使用简化的特征集训练新的朴素贝叶斯模型。在分类学习者选项卡,在模型画廊,点击全朴素贝叶斯。在火车部分中,点击火车都并选择选择火车

    在这个例子中,使用减少的特征集训练的两个模型比使用所有预测器训练的模型表现得更好。如果数据收集是昂贵的或困难的,您可能更喜欢一个没有一些预测器就能令人满意地执行的模型。

  18. 属性中的模型,以确定包含哪些预测因子模型窗格中,并注意展开的复选框特征选择模型剖面总结选项卡。例如,模型5.1只包含花瓣测量值。

    请注意

    如果使用交叉验证方案并选择使用选择排名最高的特征选项,然后对于每个训练折叠,应用程序在训练模型之前执行特征选择。不同的折叠可以选择不同的预测因子作为最高等级的特征。桌子上的默认特性选择TAB显示了在训练和验证数据上训练的完整模型使用的预测器列表。

  19. 要进一步研究要包含或排除的特征,请使用平行坐标图。在分类学习者选项卡,在情节和解释部分,单击箭头打开图库,然后单击平行坐标验证结果组。

  20. 模型窗格中,单击最高的模型准确性(验证)得分。为了进一步改进模型,可以修改它的超参数(如果可能的话)。首先,通过单击复制模型重复的模型部份分类学习者选项卡。然后,尝试更改模型中的超参数设置总结选项卡。回想一下,超参数选项仅对某些模型可用。通过单击来训练新模型火车都并选择选择火车火车部分。

  21. 将训练好的模型导出到工作区。在分类学习者选项卡,在出口部分中,选择导出模型>导出模型。看到导出分类模型预测新数据

  22. 检查训练这个分类器的代码。在出口部分中,点击生成函数

使用相同的工作流来评估和比较您可以在“分类学习器”中训练的其他分类器类型。

要尝试所有可用于您的数据集的不可优化分类器模型预设:

  1. 分类学习者选项卡,在模型部分,单击箭头打开模型库。

  2. 开始组中,单击所有

    用于训练所有可用分类器类型的选项

  3. 火车部分中,点击火车都并选择火车都

有关其他分类器类型的信息,请参见在分类学习App中训练分类模型

相关的话题