R不显示结果
这是我第一次问问题 我试图在运行R不显示结果,r,knn,R,Knn,这是我第一次问问题 我试图在运行Knn时找到最佳K,但我从教授那里得到的代码似乎没有显示最佳K和Rmse的结果 下面是我在控制台上键入的内容。我感谢你的帮助 #rm(list=ls()) gc() #setwd('/******/Desktop/Applied/isds 574/R') dat = read.csv('cleaned.csv', stringsAsFactors=T, head=T) #dropping Longtitude and Latitude dat$longitude
Knn
时找到最佳K
,但我从教授那里得到的代码似乎没有显示最佳K
和Rmse
的结果
下面是我在控制台上键入的内容。我感谢你的帮助
#rm(list=ls())
gc()
#setwd('/******/Desktop/Applied/isds 574/R')
dat = read.csv('cleaned.csv', stringsAsFactors=T, head=T)
#dropping Longtitude and Latitude
dat$longitude = NULL
dat$latitude = NULL
dat$X = NULL
#Factors
dat$ocean_proxy_dummy = as.factor(dat$ocean_proxy_dummy)
# divide the data into 2 sets: training and validation
set.seed(1)
id.train = sample(1:nrow(dat), nrow(dat)*.6)
id.test = setdiff(1:nrow(dat), id.train)
#KNN2
library(FNN)
Knn.reg.bestK = function(xtrain, xtest, ytrain, ytest, Kmax = 10) {
vec.rmse = rep(NA, Kmax)
for (K in 1:Kmax) {
yhat.test = Knn.reg(xtrain, xtest, ytrain, k)$pred
vec.rmse[K] = rmse(yhat.test, ytest)
}
list(K.opt = which.min(vec.rmse), rmse.min = min(vec.rmse), vec.rmse)
}
你从你的教授那里得到了这个代码,所以我不确定这个练习的目的是什么。我将告诉您,要实际查看函数
Knn.reg.bestK()
的结果,您需要对数据调用该函数
Knn.reg.bestK(xtrain, xtest, ytrain, ytest)
但在此之前,需要将这些变量名称设置为适当的值
xtrain = id.train$variables #This is a dataframe of predictors
ytrain = id.train$response #This is your outcome variable
欢迎来到SO。请看一看如何制作一个很好的R重现性示例,以修改您的问题,并从您的数据中选取一个较小的样本(check?dput())。张贴您的数据或没有数据的图像使我们很难不可能帮助您!将来最好不要包含
rm(list=ls())
,以防有人没有注意到并删除其环境中的所有内容。似乎在什么时候没有显示结果?调用此函数的任何代码都是需要在此处调试的部分