У меня есть 3 массивов данных (классы) различных размеров:к ближайшему соседу (fitcknn или knnclassify)
d1=[-3.34,0.11,1.07,0.82,-0.51,-1.24,4.0,1.15,1.29,-3.38,-1.12,1.35,-0.14,1.21,-2.11,0.48,2.16,0.91,-0.78,1.13,1.32];
d2=[3.27,4.57,4.12,4.99,4.40,4.08,5.96,3.37,4.0,3.56,4.81,3.02,3.01,2.62,3.77,7.01,2.84,2.79,4.41,2.08,6.66,6.65,4.65,5.78,5.81,5.65,3.73,4.31,4.84,3.70,4.73,2.98,3.95,3.58];
d3=[3.66,6.16,10.07,7.17,8.17,7.33,6.24,7.02,6.52,7.27,7.86,9.27,11.58,5.12,10.12,9.07,11.57,9.12,9.88,6.71,8.18,9.29,6.56,10.40,7.39,8.30,10.87,11.79,8.77,11.08,8.66,7.78,10.00,6.14,8.74];
И мне нужно классифицировать testValues [-2,0,2,4,6,8,10]
на основе k=1
и k=3
.
Я пытаюсь сделать это с помощью fitcknn
. Но с fitcknn
я не уверен в правильном способе создания аргументов для построения k1Model и k3Model.
;; Я проверил и выяснил, что «knnclassify» здесь не подходит, так как для этого требуются матрицы.
1) Я хотел бы использовать fitcknn, потому что knnclassify планируется снять в будущих версиях MATLAB. 2) KNN требует ярлыков для ваших данных. Правильно ли, что ваши данные упорядочены, такие как значения в векторе 'd1', должны иметь метку 'd1' и т. Д.? – DMR