KNN分类器MATLAB
时间: 2023-11-29 21:05:50 浏览: 71
KNN.zip_KNN Classification_MATLAB 分类标签_matlab数据分类_分类
KNN(K-Nearest Neighbors)分类器是一种基于实例学习的分类方法,该方法通过计算待分类样本与训练集样本之间的距离来确定其所属类别。MATLAB中有一个函数knnsearch可以用来实现KNN分类器。
下面是一个简单的示例代码:
```
% 训练集数据
trainData = [1 1; 2 2; 3 3; 4 4; 5 5; 6 6; 7 7; 8 8; 9 9; 10 10];
trainLabel = [1; 1; 1; 2; 2; 2; 3; 3; 3; 3];
% 待分类数据
testData = [3 2; 7 8];
% 计算距离并确定类别
k = 3; % 设置K值
idx = knnsearch(trainData, testData, 'K', k);
result = mode(trainLabel(idx), 2);
disp(result);
```
在上述示例中,trainData是训练集数据,trainLabel是训练集数据对应的标签,testData是待分类数据,k是K值,idx是最近的K个训练集数据的索引,result是待分类数据的类别。
需要注意的是,knnsearch函数的第三个参数必须是一个向量,如果有多个待分类数据,需要对每个待分类数据分别调用knnsearch函数。
阅读全文