Clear Filters
Clear Filters

How can KNN classify if there are more than 2 dimension

3 views (last 30 days)
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)

Accepted Answer

Akira Agata
Akira Agata on 17 Dec 2017
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 Comments
Akira Agata
Akira Agata on 17 Dec 2017
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').

Sign in to comment.

More Answers (0)

Categories

Find more on Statistics and Machine Learning Toolbox in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!