【问题标题】:Applying SVM on a dataset在数据集上应用 SVM
【发布时间】:2016-04-12 05:56:20
【问题描述】:

我编写了以下代码来检查svmtrain

a = 5*[randn(200, 1) + 5, randn(200, 1) + 5];
b = 5*[randn(200, 1) + 5, randn(200, 1) - 5];
all_data = [a;b];

plot(a(:,1) , a(:,2),'b.'); hold on
plot(b(:,1) , b(:,2),'r.');

group = ['r';'b'];

svmStruct = svmtrain(all_data, group,'ShowPlot',true);

我创建了两个正态分布数据集(a 和 b),然后将它们组合成一个 2D 数组。现在我想使用svmtrain 将这两个区域分开,但我不知道应该如何处理Group 参数。正如 matlab 帮助所述,我可以使用 2x1 字符矩阵来暗示这两个区域的标签。我这样做了,但我不知道为什么我的代码不起作用。

【问题讨论】:

    标签: matlab machine-learning svm


    【解决方案1】:

    您应该为每个实例提供类标签。所以使用:

    group = [repmat('r',200,1); repmat('g',200,1)];
    svmStruct = svmtrain(all_data, group, 'ShowPlot',true);
    

    【讨论】:

      猜你喜欢
      • 2019-07-01
      • 2015-08-14
      • 2014-02-20
      • 2015-06-29
      • 2014-02-21
      • 2014-05-18
      • 2021-07-23
      • 2019-01-31
      • 2014-01-09
      相关资源
      最近更新 更多