R';y不是因素时的s插入符号训练错误
我正在使用R-studio和kaggle,在尝试使用插入符号中的knn3函数时不断出现错误。这是我的密码:R';y不是因素时的s插入符号训练错误,r,knn,r-caret,categorical-data,training-data,R,Knn,R Caret,Categorical Data,Training Data,我正在使用R-studio和kaggle,在尝试使用插入符号中的knn3函数时不断出现错误。这是我的密码: library(caret) train <- read.csv("C:/data/forest_cover/train.csv", header=T) trainingRows <- createDataPartition(train$Cover_Type, p=0.8, list=F) head(trainingRows) train_train <- train[t
library(caret)
train <- read.csv("C:/data/forest_cover/train.csv", header=T)
trainingRows <- createDataPartition(train$Cover_Type, p=0.8, list=F)
head(trainingRows)
train_train <- train[trainingRows,]
train_test <- train[-trainingRows,]
knnfit <- knn3(train_train[,-56], train_train$Cover_Type)
正如错误消息所述,
y
必须是一个因子(这里,y
是函数的第二个参数的名称)。在R中,因子变量用于表示分类数据。您可以将y
转换为具有因子(y)
的因子,但它的数据级别仅为1:7
。如果要为因子提供更有意义的值,请尝试
train$Cover_Type <- factor(train$Cover_Type, levels=1:7,
labels=c("Spruce/Fir","Lodgepole Pine","Ponderosa Pine",
"Cottonwood/Willow","Aspen",
"Douglas-fir","Krummholz"))
train$Cover\u Type什么是class(train\u train$Cover\u Type)
返回?我猜不是一个因素。@flick“integer”先生,我该如何解决这个问题?对不起,我是个新手。
train$Cover_Type <- factor(train$Cover_Type, levels=1:7,
labels=c("Spruce/Fir","Lodgepole Pine","Ponderosa Pine",
"Cottonwood/Willow","Aspen",
"Douglas-fir","Krummholz"))