对象中的缺失值 - R 中的随机森林混淆矩阵
missing values in object - Random Forest Confusion Matrix in R
我试图在拟合模型但没有成功后获得混淆矩阵。相反,使用相同的代码和决策树没有问题。那是我的代码:
library(caret)
library(randomForest)
training <- read.csv("https://d396qusza40orc.cloudfront.net/predmachlearn/pml-training.csv", na.strings=c("#DIV/0!"), row.names = 1)
to_exclude <- nearZeroVar(training)
training <- training[, -to_exclude]
set.seed(1234)
train_idx <- createDataPartition(training$classe, p = 0.8, list = FALSE)
train <- training[train_idx,]
validation <- training[-train_idx,]
rf_model <- randomForest(classe ~ . , data=train, method="class")
rf_validation <- predict(rf_model, validation, type="class")
confusionMatrix(rf_validation, validation$classe)
那是错误:
Error in na.fail.default(list(classe = c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, :
missing values in object
我也试试这个:
table(rf_validation, validation$classe)
这导致了同样的错误。
如果我使用:
dt_model <- rpart(classe ~ ., data=train, method="class")
相反,一切正常。
我错过了什么?
如@lukeA 所述,由于 NA 值,我遇到了问题。
另一个对我有用的选择是稍微清理一下我的数据。:
training <- training[, colSums(is.na(training)) == 0]
删除由 NA 值形成的特征。
我试图在拟合模型但没有成功后获得混淆矩阵。相反,使用相同的代码和决策树没有问题。那是我的代码:
library(caret)
library(randomForest)
training <- read.csv("https://d396qusza40orc.cloudfront.net/predmachlearn/pml-training.csv", na.strings=c("#DIV/0!"), row.names = 1)
to_exclude <- nearZeroVar(training)
training <- training[, -to_exclude]
set.seed(1234)
train_idx <- createDataPartition(training$classe, p = 0.8, list = FALSE)
train <- training[train_idx,]
validation <- training[-train_idx,]
rf_model <- randomForest(classe ~ . , data=train, method="class")
rf_validation <- predict(rf_model, validation, type="class")
confusionMatrix(rf_validation, validation$classe)
那是错误:
Error in na.fail.default(list(classe = c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, : missing values in object
我也试试这个:
table(rf_validation, validation$classe)
这导致了同样的错误。 如果我使用:
dt_model <- rpart(classe ~ ., data=train, method="class")
相反,一切正常。
我错过了什么?
如@lukeA 所述,由于 NA 值,我遇到了问题。 另一个对我有用的选择是稍微清理一下我的数据。:
training <- training[, colSums(is.na(training)) == 0]
删除由 NA 值形成的特征。