EDA365电子论坛网
标题:
函数或变量 'knnclassify' 无法识别
[打印本页]
作者:
TEL15286598
时间:
2022-10-19 10:50
标题:
函数或变量 'knnclassify' 无法识别
之前是matlab2016b,写的这个KNN,跑的没什么问题,中午重装matlab换成2019b了,同样的程序上午还在用,下午就不行了。
$ x3 i! v1 X9 D
%数据集划分
. b# T, y" P+ K' n' K; \ R6 W5 l0 {& K
flag=fix(0.8*n);
: {! a2 G2 o9 S# z! z9 J, T
x_train=data(idx(1:flag),: );
6 x+ t6 k9 \7 ~+ O" \3 o1 S
y_train=label(idx(1:flag),: );
+ y! I, X+ W9 K5 b/ d* t
x_test=data(idx(flag+1:end),: );
: Z" X( S: t: y
y_test=label(idx(flag+1:end),: );
; S4 `, \+ l+ Z# e, Q" P
%knn分类
~3 `& ^ Q( ~' A, k
class = knnclassify(x_test, x_train, y_train,2);%k取2
% J8 y6 U4 I% r+ o6 i9 F
acc=sum(class==y_test)/size(class,1);
$ P* @' v9 p: ^8 w
plot(class,'k*');
" f& }4 F9 c* d# k" }
hold on;
% O1 }" p- @9 `4 n7 g0 @& I
plot(y_test,'ro');
5 J- r" I V# Y0 n8 v
legend('预测值','实际值')
. X& J7 C3 P4 S4 t9 f$ t
$ N1 E4 `$ e# u
作者:
Nain
时间:
2022-10-19 13:12
2019b已经没有knnclassify这个函数了,换成了fitcknn。
% c* @6 _; m$ F1 y' Y9 {
把class = knnclassify(x_test, x_train, y_train,2);%k取2
2 u3 N- g4 S k; w' c5 G
换成下面的代码即可:
k% t$ L- z$ l/ ^7 A
mdl = fitcknn(x_train, y_train,'NumNeighbors',2);
' B( Q) X$ W1 B! a* e6 Q- ?) b
class = predict(mdl,x_test);
作者:
hfiwioq
时间:
2022-10-19 13:20
之前的matlab2016b可能安装了包含knnclassify的工具箱,而2019b没有,安装对应工具箱或将相关放在同一文件下运行
欢迎光临 EDA365电子论坛网 (https://eda365.com/)
Powered by Discuz! X3.2