查看: 93|回复: 2|关注: 0

[已答复] 函数或变量 'knnclassify' 无法识别

[复制链接]

新手

31 麦片

财富积分


050


3

主题

10

帖子

0

最佳答案
发表于 2020-3-18 22:09:09 | 显示全部楼层 |阅读模式
之前是matlab2016b,写的这个KNN,跑的没什么问题,中午重装matlab换成2019b了,同样的程序上午还在用,下午就不行了。
%数据集划分
flag=fix(0.8*n);
x_train=data(idx(1:flag),:);
y_train=label(idx(1:flag),:);
x_test=data(idx(flag+1:end),:);
y_test=label(idx(flag+1:end),:);
%knn分类
class = knnclassify(x_test, x_train, y_train,2);%k取2
acc=sum(class==y_test)/size(class,1);
plot(class,'k*');
hold on;
plot(y_test,'ro');
legend('预测值','实际值')

论坛优秀回答者

2

主题

921

帖子

176

最佳答案
  • 关注者: 43
发表于 2020-3-18 22:36:13 | 显示全部楼层
之前的matlab2016b可能安装了包含knnclassify的工具箱,而2019b没有,安装对应工具箱或将相关放在同一文件下运行

MATLAB 基础讨论
版块优秀回答者

入门

193 麦片

财富积分


50500


4

主题

624

帖子

38

最佳答案
  • 关注者: 22
发表于 前天 16:44 | 显示全部楼层
2019b已经没有knnclassify这个函数了,换成了fitcknn。

把class = knnclassify(x_test, x_train, y_train,2);%k取2

换成下面的代码即可:
mdl = fitcknn(x_train, y_train,'NumNeighbors',2);
class = predict(mdl,x_test);
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

快速回复 返回顶部 返回列表