eval(expr、envir、enclose)中出错:对象';辊式皮带&x27;未在predict中找到
在调用中,在代码末尾,发送到:eval(expr、envir、enclose)中出错:对象';辊式皮带&x27;未在predict中找到,r,predict,R,Predict,在调用中,在代码末尾,发送到: predict(pml_training_rf_model_1, pml_validation$classe) 我得到一个错误: eval(expr、envir、enclose)中出错:找不到对象“roll\u belt” 那是因为我应该这样调用函数: predict(pml_training_rf_model_1, pml_validation) “roll_belt”属性确实出现在我正在使用的数据帧中,因此我显然犯了一些其他错误,现在已更正并保存给后代 #
predict(pml_training_rf_model_1, pml_validation$classe)
我得到一个错误:
eval(expr、envir、enclose)中出错:找不到对象“roll\u belt”
那是因为我应该这样调用函数:
predict(pml_training_rf_model_1, pml_validation)
“roll_belt”属性确实出现在我正在使用的数据帧中,因此我显然犯了一些其他错误,现在已更正并保存给后代
#Start code
rm(list=ls())
library("caret")
library("data.table")
library("randomForest")
set.seed(12345)
pml_training_file <- "pml-training.csv"
pml_testing_file <- "pml-testing.csv"
if (!file.exists(pml_training_file)) {
pml_training_url <- "http://d396qusza40orc.cloudfront.net/predmachlearn/pml-training.csv"
download.file(pml_training_url, pml_training_file)
}
pml_testing_file <- "pml-testing.csv"
if (!file.exists(pml_testing_file)) {
pml_testing_url <- "http://d396qusza40orc.cloudfront.net/predmachlearn/pml-testing.csv"
download.file(pml_testing_url, pml_testing_file)
}
pml_training_original <- fread(pml_training_file, na.strings=c("NA","#DIV/0!",""), data.table = FALSE, stringsAsFactors = TRUE)
partition_index <- createDataPartition(y=pml_training_original$classe, p=0.6, list = FALSE)
pml_training <- pml_training_original[partition_index,]
pml_validation <- pml_training_original[-partition_index,]
#Remove metadata columns
pml_training <- pml_training[,-c(1:7)]
#Remove columns where the number of NA results is above a given level
na_level = .75
nrow_pml_training = nrow(pml_training)
na_col_nums <- numeric()
for(i in 1:length(pml_training)) {
sum_na = sum(is.na(pml_training[, i]))
if(sum_na/nrow_pml_training >= na_level ) {
na_col_nums <- c(na_col_nums, i)
}
}
pml_training <- pml_training[-na_col_nums]
#Set the columns in the validation data to be the same as those in the training data
pml_training_colnames <- colnames(pml_training)
pml_validation <- pml_validation[, pml_training_colnames]
pml_training_rf_model_1 <- randomForest(classe ~ ., data=pml_training)
#Wrong! pml_training_predictions_1 <- predict(pml_training_rf_model_1, pml_validation$classe)
pml_training_predictions_1 <- predict(pml_training_rf_model_1, pml_validation)
confusionMatrix(pml_validation$classe, pml_training_predictions_1)
#开始代码
rm(list=ls())
库(“插入符号”)
库(“数据表”)
图书馆(“森林”)
种子集(12345)
pml_培训_文件正确代码为:
pml_training_rf_model_1 <- randomForest(classe ~ ., data=pml_training)
pml_training_predictions_1 <- predict(pml_training_rf_model_1, pml_validation)
confusionMatrix(pml_validation$classe, pml_training_predictions_1)
pml_培训\u rf_型号\u 1证明滚轴皮带在pml_验证$classe中。因为我相信R,当它说它不存在的时候。你需要提供一个使它失败的输入数据的例子,这样我们就可以重现和测试你的问题。谢谢@Irnzcig,输入数据加载也包含在代码示例中。