How can KNN classify if there are more than 2 dimension

3 次查看(过去 30 天)
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').

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Statistics and Machine Learning Toolbox 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by