KNN 検索を使用してテスト データを分類し、分類率を見つけます。
以下は、matlab コードです。たとえば、次のとおりです。
load fisheriris
x = meas(:,3:4); % x =all training data
y = [5 1.45;6 2;2.75 .75]; % y =3 testing data for 'versicolor' species
[n,d] = knnsearch(x,y,'k',1); % find the nearest neighbors to three testing data
predicted_class=species(n);
true_class=[cellstr('versicolor'); cellstr('versicolor'); cellstr('versicolor')];
Classification_rate=100*sum(strcmp(predicted_class,true_class))/length(predicted_class);
ただし、上記の matlab コードは k=1 にちょうど適しています。k=2 を試した場合、strcmp を使用するとエラーが発生しました。とにかくコードを変更することはありますか??
次に、「virginica」などの別の種をテストしたい場合は、時間をかけて true_class を「versicolor」から「virginica」に変更する必要があります。自動的に変更する方法はありますか?? ありがとう