学习者如何从出口得到预测分数分类支持向量机模型

92(30天)
你好,我是使用分类学习者工具二元分类器训练,我想知道如何获得成绩的预测训练分类器使新测试数据。我一直在使用以下命令来测试分类器:
yfit = C.predictFcn (T)
但是我想知道如何计算/访问的分数后导出模型分类学习者的工作区。命令
(标签、分数)=预测(___)
给出了以下错误:
错误使用预测(84行)
系统struct类不能使用“预测”命令。将系统转换为一个识别模型
首先,这样的通过使用“采用”命令。
我是新手,所以如果有人可以解释我做错什么,以及如何获得分数为每个预测使用分类器出口,我将非常感谢帮助。
谢谢!

接受的答案

Swarooph
Swarooph 2016年8月12日
你好阿,
预测函数期望等类型的输入分类器 ClassificationKNN ClassificationTree 等。在这种情况下,您将一个变量 T 如果类型 结构体 。这是错误的原因。
在命令提示符下输入以下的内容结构:
> > T%变量导出分类器结构的名称
这里的一个字段将被分类的对象。例如我导出的模型引用结构体变量 trainedClassifier 我看到下面的。
> > trainedClassifier
trainedClassifier =
predictFcn (function_handle):
RequiredVariables: {1 x11细胞}
ClassificationKNN (1 x1 ClassificationKNN):
内容:“这个结构是一个交易…”
HowToPredict:“让预测…”
注意,一个是实际的分类对象的字段, ClassificationKNN 。注意,根据训练分类器的类型,这可能是不同的。这个我们可以使用访问 操作符。
kNNMdl = trainedClassifier.ClassificationKNN;
现在使用这个预测函数作为输入分数:
(标签、分数)=预测(kNNMdl ValData);
4评论

登录置评。

更多的答案(5)

米格尔桑切斯
米格尔桑切斯 2018年3月21日
你好,我也有同样的问题。我尝试在一个完整的新数据mi trainingClassifier但我不能得到分数的值。“ValData”对应什么? ? ?

Aditi Vedalankar
Aditi Vedalankar 2018年9月10日
亲爱的swaooph,使用线性支持向量机训练数据。从分类学习者,我出口训练模型的工作空间。我写了下面的代码测试数据预测如下. .Test_svm1()函数d = dir (“* .xlsx”);文件名= d.name;% / /获得文件名文件名=“DBModified_DTCWT_4Level_TST.xlsx”;表= 1;trainingData = xlsread(文件名、表);[trainedClassifier, validationAccuracy] = trainClassifier (trainingData);
文件名=“DBModified_DTCWT_4Level_TST.xlsx”;T = xlsread(文件名);yfit =预测(trainedModel T (:, trainedModel.predictFcn));结束但是我得到以下错误的subsindex函数没有定义的值类“细胞”。错误trainClassifier(48)行预测= inputTable (:, predictorNames);
错误在Test_svm1(第7行)[trainedClassifier validationAccuracy] = trainClassifier (trainingData);Pl建议我在哪儿做了错误Aditi Vedalankar问好

Felix Ajayi
Felix Ajayi 2019年4月8日
结构体字段:
predictFcn: @ (x) ensemblePredictFcn (predictorExtractionFcn (x))
RegressionEnsemble (1×1 classreg.learning.regr.RegressionBaggedEnsemble):
:“这结构是一个训练有素的模型从回归学习者R2018b出口。”
HowToPredict:“新的预测列矩阵进行预测,X,用途:↵yfit = c.predictFcn (X)↵取代' c '用这个结构体变量的名称,如“trainedModel”。↵↵X必须包含499列,因为这个模型被训练使用499年预测。↵X必须只包含预测列以完全相同的顺序和格式作为培训↵数据。不包括响应列或列你没有导入应用。↵↵更多信息,看到如何使用一个导出的模型预测。
yfit = C.predictFcn (T)
请专家在家里如何如何从出口得到预测分数分类回归学习支持向量机模型。当我运行代码生成的分数不是。我会很感激你的快速响应。谢谢你!

Felix Ajayi
Felix Ajayi 2019年4月8日
专家们在房子里。请我仍然需要你的帮助。我指望你们。
提前谢谢您,我期待你的答案。
1评论
SK
SK 2020年4月25日
编辑:SK 2020年4月25日
我假设您使用的是整体算法:袋或LS提振。插入你的训练模型,这两个地方yourBagModel.mat说
加载yourBagModel.mat;
yourBagModel.RegressionEnsemble
名称= yourBagModel.RegressionEnsemble.PredictorNames
x =细胞(2499) %这意味着第二行开始在第1行(假设你的预测标记),和499年列数量的预测
x(1:) =名字
x (2) = num2cell (predictorImportance (yourBagModel.RegressionEnsemble))
x = x;

登录置评。


Savita Hanchinal
Savita Hanchinal 2021年7月8日
clc
关闭所有;
关闭所有;
光盘数据库
DF = []
因为我= 1:45
str1 = int2str(我);
str2 = strcat (str1, . jpg);
和= imread (str2);
%的颜色
提出= rgb2hsv(也);
H =提出(:,:1);
S =提出(::2);
V =提出(:,:,3);
Hmean =平均(平均(H));
Hst = std2 (H);
Smean =平均(平均(S));
海温= std2(年代);
Vmean =平均(平均(V));
威仕特= std2 (V);
Hsk =总和(偏态(H));
构造论=总和(偏态(S));
Vsk =总和(偏态(V));
机构= min (imhist (H));
Hmax = max (imhist (H));
股市= min (imhist (S));
Smax = max (imhist (S));
Vmin = min (imhist (V));
Vmax = max (imhist (V));
%的纹理
I = rgb2gray(也);
glcm = graycomatrix(我“抵消”[2 0;0 2]);
应用灰度共生矩阵建立stats1 = graycoprops(,{“对比”,“同质性”});
应用灰度共生矩阵建立stats2 = graycoprops(,{“相关性”,“能量”});
t1 = stats1.Contrast;
t2 = stats1.Homogeneity;
t3 = stats2.Correlation;
t4 = stats2.Energy;
%的形状
壮举= horzcat (1, [Hmean Hst Smean Sst Vmean威仕特Hsk Vsk构造论机构Hmax股市Smax Vmin Vmax t1 t2 t3 t4));
DF = (DF;壮举);
结束
cd . .
(帧、路径)= uigetfile (jpg,为测试提供货币);
文件名= strcat(道路、帧);
和= imread(文件名);
%的颜色
提出= rgb2hsv(也);
H =提出(:,:1);
S =提出(::2);
V =提出(:,:,3);
Hmean =平均(平均(H));
Hst = std2 (H);
Smean =平均(平均(S));
海温= std2(年代);
Vmean =平均(平均(V));
威仕特= std2 (V);
Hsk =总和(偏态(H));
构造论=总和(偏态(S));
Vsk =总和(偏态(V));
机构= min (imhist (H));
Hmax = max (imhist (H));
股市= min (imhist (S));
Smax = max (imhist (S));
Vmin = min (imhist (V));
Vmax = max (imhist (V));
%的纹理
I = rgb2gray(也);
glcm = graycomatrix(我“抵消”[2 0;0 2]);
应用灰度共生矩阵建立stats1 = graycoprops(,{“对比”,“同质性”});
应用灰度共生矩阵建立stats2 = graycoprops(,{“相关性”,“能量”});
t1 = stats1.Contrast;
t2 = stats1.Homogeneity;
t3 = stats2.Correlation;
t4 = stats2.Energy;
%的形状
QF = horzcat (1, [Hmean Hst Smean Sst Vmean威仕特Hsk Vsk构造论机构Hmax股市Smax Vmin Vmax t1 t2 t3 t4));
%多支持向量机
Trainigset = [DF (1:); DF (2:); DF (3:); DF (4:); DF (5:); DF (6:); DF (7:); DF (8:); DF(9日:);DF (10:); DF(11日:);DF(12日:);DF (13:); DF(14日:);DF(15日:);DF(16日:);DF(17日:);DF(18日:);DF(19日:);DF(20日:);DF(21日:);DF(22日:);DF(23日:);DF(24日:);DF(25日:);DF(26日:);DF(27日:);DF(28日:);DF(29日:);DF(30日:);DF(31日:);DF(32岁:);DF(33岁:);DF(34岁:);DF(35岁:);DF(36岁:);DF(37岁:);DF(38岁:);DF(39岁:);DF(40岁:);DF(41岁:);DF(42岁:);DF(43岁:);DF(44岁:);DF(45岁:)];
GroupTrain ={' 1 ' ' 1 ' ' 1 ' ' 1 ' ' 1 ' ' 1 ' ' 1 ' ' 1 ' ' 1 ' ' 2 ' ' 2 ' ' 2 ' ' 2 ' ' 2 ' ' 2 ' ' 2 ' ' 2 '“2”“3”“3”“3”“3”“3”“3”“3”“3”“3”“4”' 4 ' ' 4 ' ' 4 ' ' 4 ' ' 4 ' ' 4 ' ' 4 ' ' 4 '的‘5’的‘5’的‘5’的‘5’的‘5’的‘5’的‘5’的‘5’的‘5’};
TestSet = QF;
SVMModels =细胞(5、1);
y = GroupTrain
类=独特(y);
rng (1);
j = 1:元素个数(类)
indx = strcmp (y ',类(j));
SVMMOdels {j} = fitcsvm (DF、indx“类名”,虚假的真实,“标准化”,没错,‘KernelFunction’,‘rbf’, ' BoxConstraint ', 1);
结束
xGrid = QF;
j = 1:元素个数(类)
[~,分数]=预测(SVMModels {j}, xGrid)
分数(:,j) =分数(:,2);
结束
[~,maxScore] = max(得分,[],2);
结果= maxScore;
figure.imshow(也不)
标题(“输入”)
如果结果= = 1
对话框(10)
elseif结果= = 2
对话框(20)
elseif结果= = 3
对话框(50)
elseif结果= = 4
对话框(“100”)
elseif结果= = 5
对话框(“500”)
结束
我得到错误从thtis行请帮助我
j = 1:元素个数(类)
[~,分数]=预测(SVMModels {j}, xGrid)
分数(:,j) =分数(:,2);

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!