【发布时间】:2015-12-21 15:14:44
【问题描述】:
我尝试将 MATLAB R2015a 分类工具箱用于我的 4 个类。我导入了我的数据集并选择了一个高斯核来训练我的分类器。这是我的数据集:
my Data=[9.36 0;8.72 0;9.13 0;7.38 0;8.02 0;12.15 1;11.02 1;11.61 1;
12.31 1;15.23 1;52.92 2;54.49 2;48.82 2;52.00 2;49.79 2;22.46 3;30.38 3;
21.98 3;24.46 3;26.08 3];
然后我将它导出到我的工作区以与我的新测试数据一起使用,但是当我想在工作区中使用它时出现此错误:
已在基础工作区中创建变量。
要使用导出的分类器
trainedClassifier对新数据 T 进行预测,请使用
yfit = predict(trainedClassifier, T{:,trainedClassifier.PredictorNames})如果您的新数据包含任何整数变量,则将数据预处理为双精度数,如下所示:
X = table2array(varfun(@double, T(:,trainedClassifier.PredictorNames)));
yfit = predict(trainedClassifier, X)
我不明白它到底是什么意思,T 和 yfit 是什么?
如何使用此分类器测试我的新数据?
【问题讨论】:
-
能否请您添加有关如何训练 SVM 的代码?
-
我没有正确任何代码。matlab 2015a 有一些用于分类的应用程序。您可以选择我选择高斯内核 svm 的分类类型。然后您应该导入您在工作区中正确的数据before.then 它有一个用于训练和创建分类器的训练按钮。当您构建此分类器时,您可以轻松地将其导出到工作空间并将其用于新数据。它是一个应用程序,并且可以编写任何代码。
-
我知道你应该使用
templateSVM、fitcecoc和predict。如果您实际展示了内置 GUI 创建的代码,我们可以看到您在其中输入的内容并尝试找出问题所在。 -
@Adriaan:请阅读我在下面输入的答案,然后帮助我解决我的问题。h 没有足够的时间来解决它。请帮助我为我的分类编写正确的代码。谢谢。
-
嗨,我收到这样的错误消息:函数 'subsindex' 没有为类 'cell' 的值定义。
标签: matlab classification svm matlab-guide