2016-04-11 10 views
0

svmtrainを調べるために次のコードを書いています。データセットにSVMを適用する

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)を2つ作成し、それらを1つの2次元配列に結合しました。今私はsvmtrainを使ってこれらの2つの領域を分けたいと思いますが、Groupパラメータでどうすればいいですか? matlabの助けが述べたように、私はこれらの2つの領域のラベルを暗示するために2x1の文字列を使うことができます。私はそうしましたが、私のコードがなぜ機能していないのかわかりません。

答えて

2

各インスタンスのクラスラベルを指定する必要があります。だから、使用:

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

svm

関連する問題