CompactClassificationNaiveBayes

包:classreg.learning.classif

紧凑型朴素贝叶斯分类器

描述

CompactClassificationNaiveBayes是一个紧凑朴素贝叶斯分类。

紧凑的分类不包括用于训练朴素贝叶斯分类器的数据。因此,你不能执行任务,如交叉验证,采用紧凑的分类。

使用紧凑朴素贝叶斯分类器来标记新的数据(即,预测的新数据的标记物),更有效地。

施工

CMDL=紧凑(MDL)返回一个简洁朴素贝叶斯分类器(CMDL)从一个完整的,训练有素的朴素贝叶斯分类器(MDL)。

输入参数

展开全部

一个完全训练的朴素贝叶斯分类器,指定为AClassificationNaiveBayes模型由经过培训fitcnb

属性

展开全部

分类预测指标,指定为正整数的向量。CategoricalPredictors包含对应于包含分类预测所述预测数据的列的索引值。如果没有预测的是分类的,则此属性是空的([])。

数据类型:|

多元多项式的水平,指定为数值向量的细胞载体。CategoricalLevels具有长度等于预测值的数目(尺寸(X,2))。

的细胞CategoricalLevels对应于您指定的预测符“mvmn”(即,具有多变量多项式分布)训练期间。不符合多元多项分布细胞是空的([])。

如果预测j是多元多项式吗CategoricalLevels {j}是预测的所有不同值的列表j在样本中(■从删除唯一的(X(:,J)))。

数据类型:细胞

不同的类名,指定为绝对或字符阵列,逻辑或数字载体,或字符向量的细胞载体。

一会是相同的数据类型Y,并已K元素或行字符数组。(该软件将字符串数组视为字符向量的单元数组。)

数据类型:明确的|烧焦|逻辑|||细胞

误分类成本,具体为aK-通过-K方阵。

的价值成本(i, j)是分类的点到类的费用j如果它的真实类。行和列的顺序成本对应于类的顺序一会

的价值成本不会影响训练。你可以重置成本训练结束后MDL使用点符号,例如Mdl.Cost = [0 0.5;1 0];

数据类型:|

预测分布fitcnb用途向预测,指定为字符向量或特征向量的单元阵列进行建模。

此表总结了可用的发行版。

描述
'核心' 核平滑密度估计。
“锰” 多项一袋令牌模型。表示所有预测器都具有此分布。
“mvmn” 多变量多项分布。
“正常” 正常(高斯)分布。

如果分布是1 -P字符向量的单元阵列,那么软件型号采用j使用元素的分布j单元阵列的。

数据类型:烧焦|细胞

分布参数估计值,指定为单元阵列。DistributionParametersK-通过-D单元数组,其中单元格(k,d)包含了预测的情况下,分布参数估计d在课堂上k。行的顺序对应于属性中类的顺序一会以及预测的顺序对应于的列的顺序X

如果类k没有对预测器的观察j,然后{分布k,j}是空的([])。

的元素DistributionParameters依赖于预测的分布。此表描述中的值DistributionParameters {k,j}

预测分布j
内核 一个KernelDistribution模型。使用单元格索引和点表示法显示属性。例如,要显示第三类中预测器2的核密度估计带宽,请使用Mdl.DistributionParameters {3,2} .BandWidth
MN 表示该标记的概率的标量j出现在课堂上k。有关详细信息,请参阅算法
mvmn 包含概率预测的每个可能的电平的数值矢量j在课堂上k。该软件订单的概率由预测的所有独特的水平的排序顺序j(存储在属性CategoricalLevels)。有关详细信息,请参阅算法
正常 A 2×1数值向量。第一元件是样品平均值和所述第二元件是所述样本的标准偏差。

数据类型:细胞

扩展预测器的名称,存储作为字符向量的单元阵列。

如果模型对分类变量使用编码,则ExpandedPredictorNames包括描述扩展的变量名。除此以外,ExpandedPredictorNames是相同的PredictorNames

内核平滑类型,指定为字符向量或字符向量的单元数组。核心具有长度等于预测值的数目(尺寸(X,2))。核心{j}对应的预测j和包含描述内核平滑的类型的字符向量。下表介绍了支持的内核平滑类型。万博1manbetx让{u}表示的指示器的功能。

核心
'框' 框(统一)

f ( x ) = 0.5 { | x | 1 }

'epanechnikov' Epanechnikov

f ( x ) = 0.75 ( 1 - x 2 ) { | x | 1 }

“正常” 高斯

f ( x ) = 1 2 π EXP ( - 0.5 x 2 )

“三角形” 三角形的

f ( x ) = ( 1 - | x | ) { | x | 1 }

如果单元格是空的([]),则该软件不适合内核分配到相应的预测。

数据类型:烧焦|细胞

预测器的名称,指定为字符向量的单元阵列。元件的顺序PredictorNames对应于输入的顺序X

数据类型:细胞

类先验概率,指定为数字行向量。是1 -K向量,其元素的顺序对应的元件一会

fitcnb规格化您使用的名称 - 值对参数设置的先验概率“在此之前”以便和(前)=1

的价值不改变最佳拟合模型。因此,你可以重置训练结束后MDL使用点符号,例如Mdl.Prior = [0.2 0.8]。

数据类型:|

响应名,指定为字符向量。

数据类型:烧焦

分类分值变换函数,指定为字符向量或功能句柄。

要将分数变换函数更改为,例如:功能,使用点记号。

  • 对于一个内置的功能,输入验证码,更换功能与表中的值。

    Mdl.ScoreTransform ='功能';

    描述
    'doublelogit' 1 /(1 +e-2x)
    'invlogit' 日志(x/(1 -x))
    'ismax' 设置得分与得分最高的类1,并设置分数为所有其他类0
    分对数的 1 /(1 +e- - - - - -x)
    “没有”要么“身份” x(无转换)
    '标志' -1x<0
    0x= 0
    1x> 0
    “对称” 2x- 1
    'symmetricismax' 设置得分与得分最高的类1,并设置分数为所有其他类-1
    'symmetriclogit' 2 /(1 +e- - - - - -x)- 1

  • 对于MATLAB®功能,或者您定义的功能,进入它的功能句柄。

    Mdl.ScoreTransform = @功能;

    功能应该接受的矩阵(原始分数),并返回相同的尺寸(转化的分数)的基质中。

数据类型:烧焦|function_handle

内核平滑密度支持,指定为细胞载体。万博1manbetx万博1manbetx具有长度等于预测值的数目(尺寸(X,2))。这些细胞代表了地区应用内核密度。

此表描述了支持的选项。万博1manbetx

描述
1×2数字行向量 例如,[鲁],其中lU分别为密度支持的有限上界和下界。万博1manbetx
'正' 密度支持都是正的真实值。万博1manbetx
“无界” 密度的支持是所有真正的价万博1manbetx值。

如果单元格是空的([]),则该软件不适合内核分配到相应的预测。

内核平滑窗口宽度,指定为数值矩阵。宽度K-通过-P矩阵,其中K数据中类的数量,和P是(预测变量数尺寸(X,2))。

宽度(k,j)是内核平滑预测的密度内核平滑窗口宽度j类中k■在列j表明软件不适合预测器j使用内核密度。

方法

边缘 对于朴素贝叶斯分类分级刃
的logP 登录无条件概率密度朴素贝叶斯分类器
失利 对于朴素贝叶斯分类器的分类错误
余量 分类利润率朴素贝叶斯分类器
预测 使用朴素贝叶斯分类模型预测标签

复制语义

值。要了解值类如何影响复制操作,请参阅复制对象(MATLAB)。

例子

全部折叠

全朴素贝叶斯分类(即,ClassificationNaiveBayes型号)持有的训练数据。为了提高效率,你可能不希望使用预测大分类的新标签。这个例子说明了如何减少一个完整的朴素贝叶斯分类器的大小。

加载电离层数据集。

负载电离层X = X(:,3:结束);%拆下两个预测的稳定性

训练朴素贝叶斯分类器。假设每个预测是有条件的,正态分布给予它的标签。这是指定标签的顺序很好的做法。

MDL = fitcnb(X,Y,“类名”{'B','G'})
MDL = ClassificationNaiveBayes ResponseName: 'Y' CategoricalPredictors:[]类名:{ 'B' 的 'g'} ScoreTransform: '无' NumObservations:351个DistributionNames:{1×32细胞} DistributionParameters:{2×32细胞}属性,方法

MDLClassificationNaiveBayes模型。

减少朴素贝叶斯分类器的大小。

CMDL =紧凑(MDL)
CMDL = classreg.learning.classif.CompactClassificationNaiveBayes ResponseName: 'Y' CategoricalPredictors:[]类名:{ 'B' 的 'g'} ScoreTransform: '无' DistributionNames:{1×32细胞} DistributionParameters:{2×32细胞}属性,方法

CMDLCompactClassificationNaiveBayes模型。

显示多少内存每个分类使用。

谁(“铜牌”,'CMDL')
名称大小字节类属性CMDL的1x1 14892 classreg.learning.classif.CompactClassificationNaiveBayes铜牌的1x1 111006 ClassificationNaiveBayes

完整的朴素贝叶斯分类器(MDL)比紧凑朴素贝叶斯分类器大得多(CMDL)。

您可以删除MDL从MATLAB®工作区,并通CMDL而新的预测值预测有效地标记新的观测。

加载电离层数据集。

负载电离层X = X(:,3:结束);%拆下两个预测的稳定性

火车和交叉验证朴素贝叶斯分类。假设每个预测是有条件的,正态分布给予它的标签。这是指定的类的顺序很好的做法。

RNG(1);%用于重现CVMdl = fitcnb(X,Y,“类名”{'B','G'},“CrossVal”,“上”)
CVMdl = classreg.learning.partition.ClassificationPartitionedModel CrossValidatedModel: 'NaiveBayes' PredictorNames:{1×32细胞} ResponseName: 'Y' NumObservations:351 KFold:10分区:[1x1的cvpartition]类名:{ 'B' 的 'g'} ScoreTransform:'无”的属性,方法

CVMdl不是一个ClassificationNaiveBayes模型,但ClassificationPartitionedModel交叉验证,朴素贝叶斯模型。默认情况下,该软件使用10倍交叉验证。

或者,你可以穿越验证一个训练有素ClassificationNaiveBayes通过它传递给模型crossval

检查使用点符号训练的褶皱之一。

CVMdl.Trained {1}
ANS = classreg.learning.classif.CompactClassificationNaiveBayes ResponseName: 'Y' CategoricalPredictors:[]类名:{ 'B' 的 'g'} ScoreTransform: '无' DistributionNames:{1×32细胞} DistributionParameters:{2×32细胞}属性,方法

每个折叠是CompactClassificationNaiveBayes模型训练了90%的数据。

估计泛化误差。

genError = kfoldLoss(CVMdl)
genError = 0.1795

平均而言,泛化误差约为17%。

试图减少不令人满意的泛化误差的一种方法是用于预测,或调整条件分布的参数指定不同的条件分布。

更多关于

展开全部

算法

  • 如果您指定'DistributionNames', '百万'当训练MDL运用fitcnb,那么软件配合使用多项分布一袋令牌模型。软件存储该令牌的概率j出现在课堂上k在属性DistributionParameters {k,j}。使用添加剂平滑[2],估计概率为

    P ( 代币 j | k ) = 1 + c j | k P + c k ,

    地点:

    • c j | k = n k Σ : y k x j w Σ : y k w ; 这是令牌出现的加权数j在课堂上k

    • nk课堂观察的次数是多少k

    • w 是用于观察的重量。该软件归一个类中的权重,使得它们之和为该类的先验概率。

    • c k = Σ j = 1 P c j | k ; 哪个是类中所有令牌出现的加权总数k

  • 如果您指定“DistributionNames”、“mvmn”当训练MDL运用fitcnb,那么:

    1. 对于每一个预测,该软件收集了独特级别的列表,存储在排序列表CategoricalLevels,并认为每级的Bin。每个预测器/类的组合是分离的,独立多项随机变量。

    2. 对于预测j在课堂上k,该软件使用存储的列表计算每个分类级别的实例CategoricalLevels {j}

    3. 该软件存储该预测的概率j, 在班上k,有水平l在属性DistributionParameters {k,j},在各级CategoricalLevels {j}。使用添加剂平滑[2],估计概率为

      P ( 预报器 j = l | k ) = 1 + j | k ( l ) j + k ,

      地点:

      • j | k ( l ) = n k Σ : y k { x j = l } w Σ : y k w ; 这是观测的加权数,其为预测j等于l在课堂上k

      • nk课堂观察的次数是多少k

      • { x j = l } = 1 如果xij=l,否则为0。

      • w 是用于观察的重量。该软件归一个类中的权重,使得它们之和为该类的先验概率。

      • j不同水平的数量是预测器吗j

      • k是在类观测的加权数k

参考

[1] Hastie的,T.,R. Tibshirani,和J.弗里德曼。统计学习的要素, 第二版。纽约:施普林格,2008年。

C. Manning, P. Raghavan和M. Schutze。信息检索导论,纽约:剑桥大学出版社,2008年。

扩展功能