预测
预测标签使用判别分析分类模型
描述
输入参数
Mdl
- - - - - -判别分析分类模型
ClassificationDiscriminant
模型对象|CompactClassificationDiscriminant
模型对象
判别分析分类模型,指定为一个ClassificationDiscriminant
或CompactClassificationDiscriminant
模型对象返回的fitcdiscr
。
X
- - - - - -预测分类数据
数字矩阵|表
预测数据分类,指定为一个数字矩阵或表。
每一行的X
对应于一个观察,每一列对应一个变量。所有的预测变量X
必须是数值向量。
对于一个数字矩阵,变量的列组成
X
必须有相同的订单预测变量,训练吗Mdl
。一个表:
预测
不支持多列变量和细金宝app胞数组以外的细胞阵列的特征向量。如果你训练
Mdl
使用一个表(例如,资源描述
),那么所有的预测变量X
必须有相同的变量名和数据类型的培训Mdl
(存储在Mdl.PredictorNames
)。然而,列的顺序X
不需要对应的列顺序资源描述
。资源描述
和X
可以包含额外的变量(响应变量,观察体重、等等),但预测
忽略了它们。如果你训练
Mdl
使用一个数字矩阵,然后预测名称Mdl.PredictorNames
和相应的预测变量名称X
必须相同。指定预测名称在训练,看到PredictorNames
名称-值对的观点fitcdiscr
。X
可以包含额外的变量(响应变量,观察体重、等等),但预测
忽略了它们。
数据类型:表
|双
|单
输出参数
成本
预期的成本分类
数字矩阵
预期成本分类,作为一个矩阵的大小返回N
——- - - - - -K
。N
观察(行)的数量吗X
,K
类的数量(在吗Mdl.ClassNames
)。成本(i, j)
行分类的成本吗我
的X
作为类j
在Mdl.ClassNames
。
例子
使用判别分析模型预测类标签
加载费雪的虹膜数据集。确定样本容量。
负载fisheriris1)N =大小(量;
分区数据分为训练集和测试集。坚持10%的数据进行测试。
rng (1);%的再现性本量利= cvpartition (N,“坚持”,0.1);idxTrn =培训(cvp);%训练集指数idxTest =测试(cvp);%测试集指数
将训练数据存储在一个表。
tblTrn = array2table(量(idxTrn:));tblTrn。Y=species(idxTrn);
使用训练集训练判别分析模型和默认选项。
Mdl = fitcdiscr (tblTrn,“Y”);
为测试集预测标签。你训练Mdl
使用一个表的数据,但是您可以使用一个矩阵预测标签。
标签=预测(Mdl量(idxTest:));
构建一个测试集的混合矩阵。
confusionchart(物种(idxTest)、标签)
Mdl
分类一个杂色的虹膜virginica在测试集。
剧情类的后验概率
加载费雪的虹膜数据集。考虑培训使用花瓣长度和宽度。
负载fisheririsX =量(:,3:4);
使用整个列车二次判别分析模型的数据集。
Mdl = fitcdiscr (X,物种,“DiscrimType”,“二次”);
定义一个网格的值观察预测空间。预测网格中的每个实例的后验概率。
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 =3 x1细胞{' setosa}{“癣”}{' virginica '}
分数
是一个矩阵类的后验概率。列对应的类Mdl.ClassNames
。例如,分数(j, 1)
是观察的后验概率j
是一个setosa虹膜。
情节的后验概率杂色的分类为每个网格中的观察和情节的训练数据。
图;contourf (x1Grid x2Grid,重塑(分数(:,2),大小(x1Grid, 1),大小(x1Grid, 2)));h = colorbar;caxis ([0 1]);colormap飞机;持有在gscatter (X (: 1) X(:, 2),物种,“mcy”,的方式来+);轴紧标题(“杂色的后验概率”);持有从
后验概率地区公开决策边界的一部分。
更多关于
后验概率
一个点的后验概率x属于类k先验概率的乘积,多元正态密度。多元正态的密度函数与1 -d的意思是μk和d——- - - - - -d协方差Σk在1 -d点x是
在哪里 Σ的行列式吗k, 是逆矩阵。
让P(k代表类的先验概率k。然后一个观察的后验概率x的类k是
在哪里P(x)是一个归一化常数,求和k的P(x|k)P(k)。
先验概率
先验概率是三个选择:
“统一”
——类的先验概率k
是一个类的总数。“经验”
——类的先验概率k
是类的训练样本的数量吗k
除以总数量的训练样本。自定义类的先验概率
k
是k
的th元素之前
向量。看到fitcdiscr
。
在创建一个分类模型(Mdl
),您可以设置之前使用点符号:
Mdl。Prior = v;
在哪里v
是一个向量的积极元素代表每个元素出现的频率。你不需要重新训练分类器之前当你设置一个新的。
成本
矩阵的预期成本每观察中定义成本。
扩展功能
高大的数组
计算和数组的行比装入内存。
这个函数完全支持高数组。金宝app您可以使用模型训练与这个函数在内存中或高数据。
有关更多信息,请参见高大的数组。
C / c++代码生成
生成C和c++代码使用MATLAB®编码器™。
使用笔记和限制:
使用
saveLearnerForCoder
,loadLearnerForCoder
,codegen
(MATLAB编码器)生成的代码预测
函数。通过使用保存训练模型saveLearnerForCoder
。定义一个入口点函数,通过使用加载保存模型loadLearnerForCoder
并调用预测
函数。然后使用codegen
入口点函数来生成代码。生成单精度C / c++代码
预测
,指定名称参数“数据类型”、“单身”
当你打电话给loadLearnerForCoder
函数。此表包含的参数
预测
。参数不包括在这个表是完全支持。金宝app论点 笔记和局限性 Mdl
使用笔记和限制的模型对象,明白了代码生成的
CompactClassificationDiscriminant
对象。X
X
必须包含数字单精度和双精度矩阵或表变量。的行数,或观察
X
可以一个变量的大小,但列的数量X
必须是固定的。如果你想指定
X
作为一个表,那么您的模型必须被训练使用一个表,和你的入口点函数预测必须做到以下几点:接受数据数组。
创建一个表的数据输入参数并指定表中的变量名。
通过表
预测
。
这个表的一个示例工作流,请参阅生成代码对数据表进行分类。在代码生成中使用表格的更多信息,见代码生成表(MATLAB编码器)和表限制代码生成(MATLAB编码器)。
有关更多信息,请参见介绍代码生成。
版本历史
介绍了R2011b
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。