私は、matlab のプロジェクト親指認識システムを使用しています。Kmean Algorithmを実装し、結果も得ました。実際、ここで彼らが行ったように結果をプロットしたいと思います。私はしようとしていますが、そうすることができませんでした。次のコードを使用しています。
load training.mat; % loaded just to get trainingData variable
labelData = zeros(200,1);
labelData(1:100,:) = 0;
labelData(101:200,:) = 1;
k=2;
[trainCtr, traina] = kmeans(trainingData,k);
trainingResult1=[];
for i=1:k
trainingResult1 = [trainingResult1 sum(trainCtr(1:100)==i)];
end
trainingResult2=[];
for i=1:k
trainingResult2 = [trainingResult2 sum(trainCtr(101:200)==i)];
end
load testing.mat; % loaded just to get testingData variable
c1 = zeros(k,1054);
c1 = traina;
cluster = zeros(200,1);
for j=1:200
testTemp = repmat(testingData(j,1:1054),k,1);
difference = sum((c1 - testTemp).^2, 2);
[value index] = min(difference);
cluster(j,1) = index;
end
testingResult1 = [];
for i=1:k
testingResult1 = [testingResult1 sum(cluster(1:100)==i)];
end
testingResult2 = [];
for i=1:k
testingResult2 = [testingResult2 sum(cluster(101:200)==i)];
end
上記のコードtrainingData
は 200 X 1054 の行列で、200 は親指の画像、1054 は列です。実際には、各画像は 25 X 42 です。各画像を行マトリックス (1 X 1050) とその他の 4 つの (一部の機能) 列に再形成して、合計 1054 列が各画像に含まれるようにしました。これも 200 X 1054のオーダーです。今、私の問題は、ここtestingData
で行ったように結果をプロットすることです。testingData