簡體   English   中英

對象中的缺失值 - 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)

這是錯誤:

na.fail.default中的錯誤(列表(classe = c(1L,1L,1L,1L,1L,1L,1L,1L,:對象中缺少值)

我也試試這個:

table(rf_validation, validation$classe)

這導致了同樣的錯誤。 如果我使用:

dt_model <- rpart(classe ~ ., data=train, method="class")

相反,一切正常。

我錯過了什么?

正如@lukeA所提到的,由於NA值,我遇到了問題。 另一個對我有用的選擇是清理我的數據:

training <- training[, colSums(is.na(training)) == 0]

刪除由NA值形成的要素。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM