2016-06-15 8 views
0

私は、ユーザーの入力に基づいて価格を予測するアプリケーションを作成しようとしています。新しい値の応答をどのように予測できますか?r - knnの新しい観測の予測

私は次の操作を実行しようとしてい


1.観測のすべてが、新しい観測
にKNN新しいもの
3.テストにKNNデータセット
2.列車に新たな観測を追加します。しかし、私は応答変数の異なる値を新しい観測値に入れて予測が変わるので、うまくいかないようです。

はのデータが7つの変数の100回の観測を持っているとしましょう。
これは私が試したコードでしょう。

data <- rbind(data, c(1,2,3,4,5,6,7)) 
prediction <- knn.reg(data[1:100,], test = dataset[101,], 
data[1:100,]$response_variable, k = 8, algorithm="kd_tree") 
prediction$pred 

ありがとうございました。

答えて

0

一つには、あなたはdatasetを定義していません。私はあなたのコードを読むことを意味している推測しています:

dataset <- rbind(data, c(1,2,3,4,5,6,7)) 
prediction <- knn.reg(dataset[1:100,], test = dataset[101,], 
y = dataset[1:100,]$response_variable, k = 8, algorithm="kd_tree") 
prediction$pred 

をいずれにせよ、(私が遊んでこれを見つけたあなたは、あなたのトレーニングとテスト・セットの列として応答変数を含めることになっていないようですknn.reg機能付き。)だから、あなたの応答変数がdataの第七列だった場合、あなたは代わりに例えば

dataset <- rbind(data, c(1,2,3,4,5,6,7)) 
prediction <- knn.reg(dataset[1:100,-7], test = dataset[101,-7], 
y = dataset[1:100,]$response_variable, k = 8, algorithm="kd_tree") 
prediction$pred 

これを行うことができ、ここでいくつかの作らアップのデータとテストケースです。

set.seed(1) 
data <- data.frame(matrix(sample(1:7, 700, replace=T), nr=100)) 
colnames(data)[7] <- "response_variable" 
dataset <- rbind(data, c(1,2,3,4,5,6,7)) 
prediction <- knn.reg(dataset[1:100,-7], test = dataset[101,-7], 
dataset[1:100,]$response_variable, k = 8, algorithm="kd_tree") 
prediction$pred