使用K-NN进行回归以使用matlab进行预测?

时间:2017-06-07 10:32:14

标签: matlab machine-learning knn

我有兴趣使用k-NN方法来训练我的数据集,然后对样本数据集进行预测。我有表(tb)每个包含两个大小为1X2000的变量。让我们为了简单起见,

训练数据集X = tb(1:1500,1)

      Y = tb(1:1500,2);     % both X and Y are training datasets

现在样本测试为,

             x = tb(1501:2000,1);
             y= tb(1501:2000,2);       

现在我想使用k-NN方法预测给定y值的新x值。

我编写的代码如下:

 mdl = fitcknn(X,Y,'NumNeighbors',150,'Standardize',1);
      predictedY = predict(mdl,x);

      plot(x,predictedY)

当我运行代码时,我得不到正确的结果。

根据一些谷歌搜索,我发现这个代码不是用于回归而是用于分类。我不知道k-NN如何用于回归。任何帮助?

1 个答案:

答案 0 :(得分:0)

您不应该使用ClassificationKNN.fit - 它将在以后的版本中删除。相反,您可以使用fitcknn

model = fitcknn(X,Y,'NumNeighbors',150);