本项目展示了如何使用MATLAB实现K近邻(KNN)算法进行多类分类。通过该工具,用户可以便捷地应用KNN方法解决实际中的分类问题,并提供了详细的代码示例和文档支持。
功能1:kNNeighbors.predict(_)
2:kNNeighbors.find(_)
描述:
1. 返回一个或多个测试实例的估计标签。
2. 返回 k 个最近的训练实例的索引及其各自的距离。
使用鸢尾花数据集进行示例:
加载fisheriris 数据集,其中 X 表示测量值;Y 表示物种。然后创建一个新的输入矩阵 `Xnew` 包含最小、平均和最大测量值,并设定 k 的数量为 5 和距离度量方法为欧几里得。
```python
k = 5;
metric = euclidean;
mdl = kNNeighbors(k, metric);
mdl = mdl.fit(X,Y);
Ypred = mdl.predict(Xnew)
```
预测结果 `Ypred` 可能是:setosa, versicolor, virginica
接着,创建一个新的目标变量矩阵 Ynew 包含两个 versicolor 和一个 virginica。用 accuracy_score 函数计算模型的准确率:
```python
Ynew = {versicolor;versicolor;virginica};
accuracy = accuracy_score(Ypred, Ynew)
```
准确率为:0.6667