文档帮助中心
预测使用朴素贝叶斯分类模型标签
标记=预测(MDL,X)
[标号,后,费用] =预测(MDL,X)
例
标签=预测(MDL,X)返回预测类别标签的向量为表或矩阵的预测数据X的基础上,经过培训,全部或紧凑朴素贝叶斯分类器MDL。
标签=预测(MDL,X)
标签
MDL
X
[标签,后,成本] =预测(MDL,X)也返回:
[标签,后,成本] =预测(MDL,X)
后
成本
的矩阵后验概率(后)表示的标签来自特定类的可能性。
的矩阵误分类成本(成本)。对于每个观测X,预测类标签对应的最低预期各阶层分类成本。
展开全部
ClassificationNaiveBayes
CompactClassificationNaiveBayes
朴素贝叶斯分类器,指定为ClassificationNaiveBayes模型或CompactClassificationNaiveBayes模型由返回fitcnb要么紧凑, 分别。
fitcnb
紧凑
预测器数据要被分类,指定为数字矩阵或表。
每行X对应于一个观测,并且每一列对应于一个变量。
对于数字矩阵:
组成的列变量X必须具有相同的顺序预测变量,经过训练,MDL。
如果你训练的MDL使用表(例如,TBL), 然后X可以是数字矩阵如果TBL包含所有的数字预测变量。为了治疗在数字预测TBL培训期间分类,标识使用分类预测CategoricalPredictors的名称 - 值对参数fitcnb。如果TBL含有异构预测变量(例如,数字和分类数据类型),并且X是一个数值矩阵,则预测抛出一个错误。
TBL
CategoricalPredictors
预测
对于表:
预测不支持多列变量和除万博1manbetx字符向量的单元阵列的其他单元阵列。
如果你训练的MDL使用表(例如,TBL),那么所有的预测变量X必须具有相同的变量名和数据类型,那些训练有素MDL(存储在Mdl.PredictorNames)。然而,列顺序X并不需要对应的列顺序TBL。TBL和X可以包含额外的变量(响应变量,观察权重等),但预测忽略它们。
Mdl.PredictorNames
如果你训练的MDL使用数字矩阵,然后在预测名称Mdl.PredictorNames和相应的预测器变量名中X必须是相同的。训练过程中指定的预测名称,请参阅PredictorNames的名称 - 值对参数fitcnb。所有的预测变量中X必须为数字向量。X可以包含额外的变量(响应变量,观察权重等),但预测忽略它们。
PredictorNames
数据类型:表|双|单
表
双
单
如果Mdl.DistributionNames是“百万”,那么软件返回为NaNš对应于行X含有至少一个为NaN。
Mdl.DistributionNames
“百万”
为NaN
如果Mdl.DistributionNames不是“百万”,那么软件忽略为NaN估计误分类成本和后验概率时的值。具体地,该软件计算通过省去对应于丢失的预测器值的因素给定的类预测器的条件密度。
对于预测分布指定为'mvmn'如果X包含未在训练数据(即,不是在表示水平Mdl.CategoricalLevels为预测值),然后给定类的预测值的条件密度为0。对于那些观察结果,该软件返回对应的值后作为一个为NaN。软件确定使用类先验概率为这样的观察分类标签时,存储在Mdl.Prior。
'mvmn'
Mdl.CategoricalLevels
Mdl.Prior
预测类别标签,返回作为分类矢量,字符阵列,逻辑或数字载体,或字符向量的单元阵列。
标签:
是相同的数据类型作为观察类别标签(Mdl.Y),经过训练,MDL
Mdl.Y
具有长度等于行数Mdl.X
Mdl.X
是类产生最低预期误判成本(成本)
类后验概率时,返回作为数字矩阵。后具有行等于行数X和列等于不同类的在训练数据的数量(大小(Mdl.ClassNames,1))。
大小(Mdl.ClassNames,1)
后(J,K)是类的预测后验概率ķ(即,类Mdl.ClassNames(k)的)给出行观察Ĵ的X。
后(J,K)
ķ
Mdl.ClassNames(k)的
Ĵ
数据类型:双
预期误分类成本时,返回作为数字矩阵。成本具有行等于行数X和列等于不同类的在训练数据的数量(大小(Mdl.ClassNames,1))。
成本(J,K)是在连续观察的预期误判成本Ĵ的X被预测成类ķ(即,类Mdl.ClassNames(k)的)。
成本(J,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);
CVMdl是ClassificationPartitionedModel分类。它包含属性熟练,这是一个1×1单元阵列保持CompactClassificationNaiveBayes分类,该软件使用训练集训练。
CVMdl
ClassificationPartitionedModel
熟练
标记测试样品观察结果。显示随机的一组测试样品中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'}
分类的目的是估计使用受训算法的新的观察后验概率。许多应用培训大型数据集,它可以使用在别处更好使用资源的算法。此示例示出了如何高效地估计使用朴素贝叶斯分类器的新的观察后验概率。
分区中的数据集分成两组:一个在训练集,另一种是新的未观测到的数据。储备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
预测标签,后验概率和预期类误判成本。由于真正的标签可用,比较它们与预测标签。
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
PostProbs和MisClassCost是15-通过-3数字矩阵,其中每一行对应于一个新的观察和每列对应于一个类。列的顺序对应的顺序CMdl.ClassNames。
PostProbs
15
3
加载费舍尔的虹膜数据集。培养使用花瓣的长度和宽度的分类器。
加载fisheririsX = MEAS(:,3:4);Y =物种;
训练朴素贝叶斯分类器。这是指定的类顺序很好的做法。假设每个预测是有条件的,正态分布给予它的标签。
MDL = fitcnb(X,Y,...“类名”{'setosa',“花斑癣”,“弗吉尼亚”});
MDL是ClassificationNaiveBayes模型。你可以使用点符号访问其属性。
限定在所观察到的预测器空间值的网格。预测后验概率为网格中的每个实例。
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,'位置','最好')保持离
一个误分类代价是一个分类标记的观察到错误的类的相对严重程度。
有两种类型的误分类成本:真正的和预期。让ķ是的类的数量。
真正的误判成本- 一个ķ-通过-ķ矩阵,其中元件(一世,Ĵ)表示预测的观察到类的误分类代价Ĵ如果它的真实类一世。该软件存储在属性中的误判成本Mdl.Cost,并在计算中使用。默认,Mdl.Cost(I,J)= 1,如果一世≠Ĵ和Mdl.Cost(I,J)= 0,如果一世=Ĵ。换句话说,成本0正确分类,1任何不正确分类。
Mdl.Cost
Mdl.Cost(I,J)
一世
0
1
预计误分类代价- 一个ķ维向量,其中,元件ķ是观察到等级分级的加权平均误分类代价ķ,由类后验概率加权。换一种说法,
C ķ = Σ Ĵ = 1 ķ P ^ ( ÿ = Ĵ | X 1 , ... , X P ) C Ø 小号 Ť Ĵ ķ 。
该软件进行分类观察与最低预期误判成本对应的类。
该后验概率是,观察属于一个特定类,给定数据的概率。
对于朴素贝叶斯,的后验概率,一个分类是ķ对于给定的观察(X1,...,XP)是
P ^ ( ÿ = ķ | X 1 , .. , X P ) = P ( X 1 , ... , X P | ÿ = ķ ) π ( ÿ = ķ ) P ( X 1 , ... , X P ) ,
哪里:
P ( X 1 , ... , X P | ÿ = ķ ) 给出预测的条件联合密度他们在课堂上ķ。Mdl.DistributionNames存储预测的分布名称。
π(ÿ=ķ)是类先验概率分布。Mdl.Prior存储先验分布。
P ( X 1 , .. , X P ) 是预测值的联合密度。这些类是离散的,所以 P ( X 1 , ... , X P ) = Σ ķ = 1 ķ P ( X 1 , ... , X P | ÿ = ķ ) π ( ÿ = ķ ) 。
该先验概率一类是与从该类观测发生在一个群体中的信相对频率。
[1] Hastie的,T.,R. Tibshirani,和J.弗里德曼。统计学习的要素, 第二版。纽约:施普林格,2008年。
此功能完全支持高大的阵列。万博1manbetx您可以使用培训了无论是在内存或使用此功能高大的数据模型。
欲了解更多信息,请参阅高大的数组(MATLAB)。
使用注意事项和限制:
用saveLearnerForCoder,loadLearnerForCoder和代码生成以生成用于代码预测功能。通过使用保存训练模型saveLearnerForCoder。定义一个入口点函数加载使用保存的模型loadLearnerForCoder并调用预测功能。然后用代码生成生成的入口点函数的代码。
saveLearnerForCoder
loadLearnerForCoder
代码生成
此表包含有关的论点笔记预测。未列入此表的参数都完全支持。万博1manbetx
对于模型对象的使用注意事项和限制,请参见代码生成的CompactClassificationNaiveBayes目的。
对于一般的代码生成,X必须是单精度或双精度基质或含有表单要么双预测变量。
如果你想指定X作为一个表,那么你的模型必须使用一个表的训练,你必须确保你的预测入口点函数:
接受数据作为阵列
创建来自数据输入参数的表,确定该表中的变量名
通过该表预测
此表的工作流程的一个例子,见生成代码,以表分类数字数据。有关在代码生成使用表的详细信息,请参阅代码生成的表(编码器MATLAB)和表限制代码生成(编码器MATLAB)。
行,或观测的数量,X可以是可变的大小,但列的数X必须是固定的。
欲了解更多信息,请参阅介绍代码生成。
ClassificationNaiveBayes|CompactClassificationNaiveBayes|fitcnb|失利|resubPredict
失利
resubPredict
这个例子的修改版本的系统上存在。你要打开这个版本呢?
您单击对应于该MATLAB命令的链接:
在MATLAB命令窗口中输入它运行的命令。Web浏览器不支持MATLAB的命令。万博1manbetx
选择一个网站,以获得翻译的内容,其中可看到当地的活动和优惠。根据您的位置,我们建议您选择:。
您还可以选择从下面的列表中的网站:
选择最佳的网站性能的中国网站(在中国或英文)。其他MathWorks的国家网站都没有从您的位置访问进行了优化。
请联系您当地的办事处