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)
0 个评论
采纳的回答
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
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 Center 和 File 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!