1
k-NN
メソッドを使用してデータセットをトレーニングし、サンプルデータセットの予測を行うことに興味があります。私はテーブル(tb
)を持って、それぞれサイズ1X2000の2つの変数を含んでいます。今matlabを使った予測にK-NNを使った回帰?
x = tb(1501:2000,1);
y= tb(1501:2000,2);
は今、私は新しいを予測するためのk-NN
方法を使用したい、とサンプルテストが与えられているX = tb(1:1500,1)
Y = tb(1:1500,2); % both X and Y are training datasets
、トレーニングデータセット
、簡略化のために私たちをみようy
値はx
の値です。
私は以下のようにコードを書かれている:
mdl = fitcknn(X,Y,'NumNeighbors',150,'Standardize',1);
predictedY = predict(mdl,x);
plot(x,predictedY)
私は正しい結果を取得していない午前のコードを実行しています。
いくつかのGoogle検索に基づいて、私はこのコードが回帰ではなく分類であることを発見しました。どのようにk-NNを回帰に使うことができるか分かりません。どんな助け?
ありがとうございます。しかし、私がこれをするとき。私の予測グラフは、訓練データセットグラフと比べて全く間違っています。私は問題を修正したグラフを添付しました。見て、あなたの考えを教えてください。 –
私はKNNで分類をしたいと思っていましたが、代わりに回帰が必要なようです。私が言うことができる限り、fitcknnは分類だけしかできないので、あなたが望むものではありません。残念ながら、それには回帰バージョンがないようです(https://stackoverflow.com/questions/19807294/knn-regression-in-matlab)。だからあなた自身をコードするか(リンクには大まかな指示がある)、あるいは非線形回帰を使う。 –