r - knn 中新观察的预测
r - Prediction for new observation in knn
我正在尝试制作一个可以根据用户输入预测价格的应用程序。我如何预测新值的响应?
我已尝试执行以下操作:
1. 向数据集添加新观察
2. 在除新观察之外的所有观察上训练 knn
3. 对新的观察结果测试 knn
但是,当我将响应变量的不同值放入新观察中时,预测会发生变化,因此它似乎不起作用。
假设数据有 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
预先感谢您的帮助。
一方面,您还没有定义 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
的第 7 列,那么您可以这样做
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
我正在尝试制作一个可以根据用户输入预测价格的应用程序。我如何预测新值的响应?
我已尝试执行以下操作:
1. 向数据集添加新观察
2. 在除新观察之外的所有观察上训练 knn
3. 对新的观察结果测试 knn
但是,当我将响应变量的不同值放入新观察中时,预测会发生变化,因此它似乎不起作用。
假设数据有 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
预先感谢您的帮助。
一方面,您还没有定义 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
的第 7 列,那么您可以这样做
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