文件帮助中心
使用判别分析分类模型预测标签
标签=预测(MDL,x)
[标签,分数,成本] =预测(MDL,x)
标签=预测(MDL.那X)返回表或矩阵中的预测器数据的预测类标签的向量X,基于训练判别分析分类模型MDL.。
标签=预测(MDL.那X)
标签
MDL.
X
[标签那得分那成本] =预测(MDL.那X)也返回:
[标签那得分那成本] =预测(MDL.那X)
得分
成本
分类分数的矩阵(得分)表示标签来自特定类的可能性。为了判别分析,分数是后概率。
一个矩阵预期的分类成本(成本)。对于每次观察X,预测类标签对应于所有类别中的最低预期分类成本。
展开全部
分类Discriminant.
CompactClassificationDiscriminant.
判别分析分类模型,指定为a分类Discriminant.要么CompactClassificationDiscriminant.返回的模型对象fitcdiscr.。
fitcdiscr.
预测数据被分类,指定为数字矩阵或表。
每一排X对应于一个观察,并且每列对应于一个变量。所有预测因子变量X必须是数字向量。
对于数字矩阵,构成列的变量X必须具有与培训的预测变量相同的顺序MDL.。
对于表:
预测不支持字符向量的单万博1manbetx元格阵列以外的多列变量和单元格阵列。
预测
如果你训练有素MDL.使用表格(例如,TBL.),然后所有预测器变量都在X必须具有与培训的变量名称和数据类型相同MDL.(存储在mdl.predictornames.)。但是,列顺序X不需要对应于列顺序TBL.。TBL.和X可以包含其他变量(响应变量,观察权重等),但是预测忽略它们。
TBL.
mdl.predictornames.
如果你训练有素MDL.使用数字矩阵,然后是预测器名称mdl.predictornames.和相应的预测变量名称X必须是一样的。要在培训期间指定预测器名称,请参阅预测名称 - 值对参数fitcdiscr.。X可以包含其他变量(响应变量,观察权重等),但是预测忽略它们。
数据类型:表|双|单
表
双
单
预测类标签,作为分类或字符阵列,逻辑或数字向量或字符向量的单元数组返回。
标签:
与观察类类标签相同的数据类型(y)训练有素MDL.。(该软件将字符串数组视为字符向量的单元格阵列。)
y
长度等于行数X。
预测的课堂后概率,返回为一个大小的数字矩阵N-通过-K.。N是观察数(行)X,和K.是课程数量(inmdl.classnames.)。得分(i,j)是观察的后验概率一世在X是课堂j在mdl.classnames.。
N
K.
mdl.classnames.
得分(i,j)
一世
j
预期的分类成本,作为大小的矩阵返回N-通过-K.。N是观察数(行)X,和K.是课程数量(inmdl.classnames.)。成本(i,j)是分类行的成本一世的X作为类j在mdl.classnames.。
成本(i,j)
装载Fisher的Iris数据集。确定样本大小。
加载渔民n =尺寸(meas,1);
将数据分区为培训和测试集。持有10%的测试数据。
RNG(1);重复性的%cvp = cvpartition(n,'坚持',0.1);Idxtrn =培训(CVP);%培训设置指数iDxtest =测试(CVP);%测试集指数
将培训数据存储在表格中。
tbltrn = Array2table(Meas(idxtrn,:));tbltrn.y =物种(Idxtrn);
使用培训集和默认选项列车判别分析模型。
mdl = fitcdiscr(tbltrn,'是');
预测测试集的标签。你训练有素MDL.使用数据表,但您可以使用矩阵预测标签。
标签=预测(MDL,MEAS(IDXTEST,:));
构建测试集的混淆矩阵。
ConfusionChart(物种(iDxtest),标签)
MDL.将一个versicolor虹膜剥离为试验集中的virginica。
装载Fisher的Iris数据集。仅考虑使用花瓣长度和宽度的培训。
加载渔民X = MEAS(:,3:4);
使用整个数据集培训二次判别分析模型。
mdl = fitcdiscr(x,物种,'isstrimtype'那'二次');
在观察到的预测器空间中定义一个值的网格。预测网格中每个实例的后验概率。
xmax = max(x);xmin = min(x);d = 0.01;[x1grid,x2grid] = meshgrid(xmin(1):d:xmax(1),xmin(2):d:xmax(2));[〜,得分] =预测(mdl,[x1grid(:),x2grid(:)]);mdl.classnames.
ans =.3x1细胞{'setosa'} {'versicolor'} {'virginica'}
得分是一类课程后概率的矩阵。列对应于类mdl.classnames.。例如,得分(J,1)是观察的后验概率j是一个setosa虹膜。
得分(J,1)
绘制网格中每种观察的versicolor分类的后验概率,并绘制训练数据。
数字;contourf(x1grid,x2grid,重塑(得分(:,2),尺寸(x1grid,1),size(x1grid,2))));h =彩色杆;caxis([0 1]);COLOROMAP.喷射;保持上g箭偶(x(:,1),x(:,2),物种,'Mcy'那'.x +');轴紧标题('versicolor的后验概率');保持关闭
后验概率区域暴露出决策边界的一部分。
一个点的后验概率X属于课程K.是现有概率和多元正常密度的产物。多变量正常的密度函数与1乘 -D.意思μ.K.和D.-通过-D.协方差σ.K.在一个1-by-D.点X是
P. ( X | K. ) = 1 ( ( 2 π ) D. | σ. K. | ) 1 / 2 exp. ( - 1 2 ( X - μ. K. ) σ. K. - 1 ( X - μ. K. ) T. ) 那
哪里 | σ. K. | 是σ的决定因素K.,和 σ. K. - 1 是逆矩阵。
让P.(K.)代表课程的现有概率K.。然后是观察的后验概率X是课堂K.是
P. ^ ( K. | X ) = P. ( X | K. ) P. ( K. ) P. ( X ) 那
哪里P.(X)是一个归一化常数,总和K.的P.(X|K.)P.(K.)。
现有概率是三种选择之一:
'制服'- 课程的现有概率K.是一个超过课程的总数。
'制服'
'经验'- 课程的现有概率K.是课程培训样本的数量K.除以培训样本总数。
'经验'
自定义 - 课程的现有概率K.是个K.的元素之前向量。看到fitcdiscr.。
之前
创建分类模型后(MDL.)您可以使用DOT表示法设置先前:
mdl.prior = v;
哪里V.是表示每个元素发生的频率的正元素的矢量。在设置新的先前时,您无需重新培制分类器。
V.
定义了每次观察的预期成本矩阵成本。
预测分类以最小化预期的分类成本:
y ^ = arg 闵 y = 1 那 ...... 那 K. σ. K. = 1 K. P. ^ ( K. | X ) C ( y | K. ) 那
哪里
y ^ 是预测的分类。
K.是课程的数量。
P. ^ ( K. | X ) 是个后验概率课堂K.对于观察X。
C ( y | K. ) 是个成本分类观察y当它的真实课程是K.。
此功能完全支持高阵列。万博1manbetx您可以使用此功能使用在内存内存或高数据上培训的模型。
有关更多信息,请参阅高阵列(matlab)。
使用说明和限制:
采用Savelarnerforcoder.那loadlearnerforcoder.,和Codegen.为此生成代码预测功能。使用培训模型Savelarnerforcoder.。定义通过使用加载保存的模型的入口点函数loadlearnerforcoder.并致电预测功能。然后使用Codegen.为入口点函数生成代码。
Savelarnerforcoder.
loadlearnerforcoder.
Codegen.
此表包含有关参数的说明预测。未包含在此表中的参数完全支持。万博1manbetx
有关模型对象的使用说明和限制,请参阅代码生成当CompactClassificationDiscriminant.目的。
对于一般代码生成,X必须是单精度或双精度矩阵或包含的表单要么双预测变量。
如果要指定X作为表格,那么必须使用表培训您的模型,您必须确保您的入学点函数进行预测:
接受数据作为阵列
从数据输入参数中创建表,并指定表中的变量名称
将桌子传递给预测
有关此表工作流的示例,请参阅生成代码以对表中的数字数据进行分类。有关在代码生成中使用表的详细信息,请参阅表格的代码(Matlab编码器)和代码生成的表限制(Matlab编码器)。
行数或观察的数量X可以是可变大小,但列的数量X必须固定。
有关更多信息,请参阅代码生成简介。
分类Discriminant.|CompactClassificationDiscriminant.|边缘|fitcdiscr.|失利|边缘
边缘
失利
系统上存在此示例的修改版本。你想打开这个版本吗?
您单击了与此MATLAB命令对应的链接:
在MATLAB命令窗口中输入它来运行命令。Web浏览器不支持MATLAB命令。万博1manbetx
选择一个网站,以便在可用的地方进行翻译的内容,并查看本地活动和优惠。根据您的位置,我们建议您选择:。
您还可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。
联系您当地的办公室