预测

预测使用朴素贝叶斯分类模型标签

描述

标签=预测(MDLX返回预测类别标签的向量为表或矩阵的预测数据X的基础上,经过培训,全部或紧凑朴素贝叶斯分类器MDL

[标签成本] =预测(MDLX也返回:

  • 的矩阵后验概率)表示的标签来自特定类的可能性。

  • 的矩阵误分类成本成本)。对于每个观测X,预测类标签对应的最低预期各阶层分类成本。

输入参数

展开全部

朴素贝叶斯分类器,指定为ClassificationNaiveBayes模型或CompactClassificationNaiveBayes模型由返回fitcnb要么紧凑, 分别。

预测器数据要被分类,指定为数字矩阵或表。

每行X对应于一个观测,并且每一列对应于一个变量。

  • 对于数字矩阵:

    • 组成的列变量X必须具有相同的顺序预测变量,经过训练,MDL

    • 如果你训练的MDL使用表(例如,TBL), 然后X可以是数字矩阵如果TBL包含所有的数字预测变量。为了治疗在数字预测TBL培训期间分类,标识使用分类预测CategoricalPredictors的名称 - 值对参数fitcnb。如果TBL含有异构预测变量(例如,数字和分类数据类型),并且X是一个数值矩阵,则预测抛出一个错误。

  • 对于表:

    • 预测不支持多列变量和除万博1manbetx字符向量的单元阵列的其他单元阵列。

    • 如果你训练的MDL使用表(例如,TBL),那么所有的预测变量X必须具有相同的变量名和数据类型,那些训练有素MDL(存储在Mdl.PredictorNames)。然而,列顺序X并不需要对应的列顺序TBLTBLX可以包含额外的变量(响应变量,观察权重等),但预测忽略它们。

    • 如果你训练的MDL使用数字矩阵,然后在预测名称Mdl.PredictorNames和相应的预测器变量名中X必须是相同的。训练过程中指定的预测名称,请参阅PredictorNames的名称 - 值对参数fitcnb。所有的预测变量中X必须为数字向量。X可以包含额外的变量(响应变量,观察权重等),但预测忽略它们。

数据类型:||

笔记:

  • 如果Mdl.DistributionNames“百万”,那么软件返回为NaNš对应于行X含有至少一个为NaN

  • 如果Mdl.DistributionNames不是“百万”,那么软件忽略为NaN估计误分类成本和后验概率时的值。具体地,该软件计算通过省去对应于丢失的预测器值的因素给定的类预测器的条件密度。

  • 对于预测分布指定为'mvmn'如果X包含未在训练数据(即,不是在表示水平Mdl.CategoricalLevels为预测值),然后给定类的预测值的条件密度为0。对于那些观察结果,该软件返回对应的值作为一个为NaN。软件确定使用类先验概率为这样的观察分类标签时,存储在Mdl.Prior

输出参数

展开全部

预测类别标签,返回作为分类矢量,字符阵列,逻辑或数字载体,或字符向量的单元阵列。

标签

  • 是相同的数据类型作为观察类别标签(Mdl.Y),经过训练,MDL

  • 具有长度等于行数Mdl.X

  • 是类产生最低预期误判成本(成本

后验概率时,返回作为数字矩阵。具有行等于行数X和列等于不同类的在训练数据的数量(大小(Mdl.ClassNames,1))。

后(J,K)是类的预测后验概率ķ(即,类Mdl.ClassNames(k)的)给出行观察ĴX

数据类型:

预期误分类成本时,返回作为数字矩阵。成本具有行等于行数X和列等于不同类的在训练数据的数量(大小(Mdl.ClassNames,1))。

成本(J,K)是在连续观察的预期误判成本ĴX被预测成类ķ(即,类Mdl.ClassNames(k)的)。

例子

展开全部

加载费舍尔的虹膜数据集。

加载fisheririsX = MEAS;%预测因素Y =物种;%响应RNG(1);

训练朴素贝叶斯分类器,并指定要抵抗的数据的30%的测试样品。这是指定的类顺序很好的做法。假设每个预测是有条件的,正态分布给予它的标签。

CVMdl = fitcnb(X,Y,'坚持',0.30,...“类名”{'setosa'“花斑癣”“弗吉尼亚”});CMDL = CVMdl.Trained {1};%提取物训练有素的,紧凑的分类testIdx =试验(CVMdl.Partition);%提取测试指标XTEST = X(testIdx,:);YTest = Y(testIdx);

CVMdlClassificationPartitionedModel分类。它包含属性熟练,这是一个1×1单元阵列保持CompactClassificationNaiveBayes分类,该软件使用训练集训练。

标记测试样品观察结果。显示随机的一组测试样品中10个观察结果。

IDX = randsample(总和(testIdx),10);标记=预测(CMDL,XTEST);表(YTest(IDX),标签(IDX)'VariableNames'...{'TrueLabel''PredictedLabel'})
ANS =10×2表TrueLabel PredictedLabel ______________ ______________ { 'setosa'} { 'setosa'} { '云芝'} { '云芝'} { 'setosa'} { 'setosa'} { '锦葵'} { '锦葵'} { '云芝'} {'云芝'} { 'setosa'} { 'setosa'} { '锦葵'} { '锦葵'} { '锦葵'} { '锦葵'} { 'setosa'} { 'setosa'} { 'setosa'} {'setosa'}

分类的目的是估计使用受训算法的新的观察后验概率。许多应用培训大型数据集,它可以使用在别处更好使用资源的算法。此示例示出了如何高效地估计使用朴素贝叶斯分类器的新的观察后验概率。

加载费舍尔的虹膜数据集。

加载fisheririsX = MEAS;%预测因素Y =物种;%响应RNG(1);

分区中的数据集分成两组:一个在训练集,另一种是新的未观测到的数据。储备10个观察新的数据集。

N =尺寸(X,1);newInds = randsample(N,10);INDS =〜ismember(1:N,newInds);XNew = X(newInds,:);YNew = Y(newInds);

训练朴素贝叶斯分类器。这是指定的类顺序很好的做法。假设每个预测是有条件的,正态分布给予它的标签。节省内存通过降低训练的SVM分类器的大小。

MDL = fitcnb(X(INDS,:),Y(INDS),...“类名”{'setosa'“花斑癣”“弗吉尼亚”});CMDL =紧凑(MDL);谁是(“铜牌”'CMDL'
名称大小字节类属性CMDL 1x1的5238 classreg.learning.classif.CompactClassificationNaiveBayes铜牌的1x1 12539 ClassificationNaiveBayes

CompactClassificationNaiveBayes分类(CMDL)使用比更小的空间ClassificationNaiveBayes分类(MDL),因为后者存储数据。

预测标签,后验概率和预期类误判成本。由于真正的标签可用,比较它们与预测标签。

CMdl.ClassNames
ANS =3X1细胞{ 'setosa'} { '云芝'} { '锦葵'}
[标签,PostProbs,MisClassCost] =预测(CMDL,XNew);表(YNew,标签,PostProbs,'VariableNames'...{'TrueLabels''PredictedLabels'...'PosteriorProbabilities'})
ANS =10×3的表TrueLabels PredictedLabels PosteriorProbabilities ______________ _______________ _________________________________________ { 'setosa'} { 'setosa'} 1 4.1259e-16 1.1846e-23 { '云芝'} { '云芝'} 1.0373e-60 0.99999 5.8053e-06 { '锦葵'} {'锦葵'} 4.8708e-211 0.00085645 0.99914 { 'setosa'} { 'setosa'} 1 1.4053e-19 2.2672e-26 { '云芝'} { '云芝'} 2.9308e-75 0.99987 0.00012869 { 'setosa'}{ 'setosa'} 1 2.629e-18 4.4297e-25 { '云芝'} { '云芝'} 1.4238e-67 0.99999 9.733e-06 { '云芝'} { '云芝'} 2.0667e-110 0.94237 0.057625 {'setosa'} { 'setosa'} 1 4.3779e-19 3.5139e-26 { 'setosa'} { 'setosa'} 1 1.1792e-17 2.2912e-24
MisClassCost
MisClassCost =10×30.0000 1.0000 1.0000 1.0000 0.0000 1.0000 1.0000 0.9991 0.0009 0.0000 1.0000 1.0000 1.0000 0.0001 0.9999 0.0000 1.0000 1.0000 1.0000 0.0000 1.0000 1.0000 0.0576 0.9424 0.0000 1.0000 1.0000 0.0000 1.0000 1.0000

PostProbsMisClassCost15-通过-3数字矩阵,其中每一行对应于一个新的观察和每列对应于一个类。列的顺序对应的顺序CMdl.ClassNames

加载费舍尔的虹膜数据集。培养使用花瓣的长度和宽度的分类器。

加载fisheririsX = MEAS(:,3:4);Y =物种;

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

MDL = fitcnb(X,Y,...“类名”{'setosa'“花斑癣”“弗吉尼亚”});

MDLClassificationNaiveBayes模型。你可以使用点符号访问其属性。

限定在所观察到的预测器空间值的网格。预测后验概率为网格中的每个实例。

XMAX = MAX(X);XMIN =分钟(X);H = 0.01;[x1Grid,x2Grid] = meshgrid(XMIN(1):H:XMAX(1),XMIN(2):H:XMAX(2));[〜,PosteriorRegion] =预测(MDL,[x1Grid(:),x2Grid(:)]);

剧情后验概率地区和训练数据。

数字;%绘制后部区域散射(x1Grid(:),x2Grid(:),1,PosteriorRegion);%调整颜色栏选项H =彩条;h.Ticks = [0 0.5 1];h.TickLabels = {'setosa'“花斑癣”“弗吉尼亚”};h.YLabel.String =“后路”;h.YLabel.Position = [-0.5 0.5 0];%调整颜色地图选项d = 1E-2;CMAP =零(201,3);CMAP(1:101,1)= 1:-d:0;CMAP(1:201,2)= [0:d:1 1-d:-d:0];CMAP(101:201,3)= 0:d:1;颜色表(CMAP);%绘制数据保持GH = gscatter(X(:,1),X(:,2)中,Y,数k'DX *');标题“虹膜花瓣测量和后验概率”;xlabel'花瓣长度(cm)';ylabel“花瓣宽度(厘米)”;轴传说(GH,'位置''最好')保持

更多关于

展开全部

参考

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

扩展功能