[英]Error in eval(predvars, data, env) : object 'BMI' not found
我刚刚开始使用R
进行机器学习。 我的目标很愚蠢,请原谅。 我正在尝试训练以评论一个人的 BMI 是否表示超重、体重不足或健康。 到目前为止,这是我的代码:-
dataset <- data.frame(
BMI = c(15.5, 16.7, 17.8, 18.9, 19.0, 19.5, 20.7, 21.9,
22.5, 23.5, 24.5, 25.0, 26.0, 27.7, 26.6, 29.3),
Result = c("Underweight", "Underweight", "Underweight",
"Healthy", "Healthy", "Healthy", "Healthy",
"Healthy", "Healthy", "Healthy", "Healthy",
"Overweight", "Overweight", "Overweight",
"Overweight", "Overweight")
)
head(dataset)
x <- dataset[,-2]
y <- dataset[2]
model_svm <- svm(Result ~ ., data = dataset)
summary(model_svm)
pred <- predict(model_svm, x)
但是我在predict
的最后一行收到此错误:-
eval(predvars, data, env) 中的错误:找不到对象“BMI”
当子集您的数据集以创建x
(和y
)时,您隐式地删除了维度并且只保留了列向量。 换句话说, x
是一个向量,而不是一个数据框。 这是基本 R 数据帧子集运算符的一个恼人的属性。
你可以像这样避免它:
x <- dataset[, -2, drop = FALSE]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.