How can KNN classify if there are more than 2 dimension

조회 수: 1 (최근 30일)
Selina Loh
Selina Loh 2017년 12월 17일
댓글: Selina Loh 2017년 12월 17일
Is it possible to use the similar example from Matlab to classify with 4 dimensions.
Or does this example only classify according to 2 dimensions? load fisheriris X = meas; Y = species; Mdl = fitcknn(X,Y,'NumNeighbors',4); %% % Predict the classification of an average flower. flwr = mean(X); % an average flower flwrClass = predict(Mdl,flwr)

채택된 답변

Akira Agata
Akira Agata 2017년 12월 17일
Yes, it is possible to use fintcknn to classify with 4 dimensional data. The following code (same as your example) can generate classification model using all 4 dimensions, and predict an average flower.
load fisheriris
X = meas;
Y = species;
Mdl = fitcknn(X,Y,'NumNeighbors',4);
flwr = mean(X);
flwrClass = predict(Mdl,flwr);
  댓글 수: 3
Akira Agata
Akira Agata 2017년 12월 17일
What do you mean by 'plot' for 4 dimensional data? If you want to find the nearest neighbor, the following can do that.
D = pdist2(flwr,X);
[~,idx] = min(D);
Then, idx was found to be 65. Thant means the nearest neighbor from flwr in dataset X is X(65,:) ('versicolor').
Selina Loh
Selina Loh 2017년 12월 17일
Thank you :)

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by