Ошибка матрицы логистической регрессии Ошибка: `data` и` reference` должны быть факторами с одинаковыми уровнями - PullRequest
0 голосов
/ 06 октября 2018

Я перепробовал все возможные решения в переполнении стека, предложенные для данных и ссылок, должны быть факторы с одинаковыми уровнями.

set.seed(10)
indices = sample.split(consumers$label, SplitRatio = 0.75)

train = consumers[indices,]
test = consumers[!(indices),]

##Build a logistic regression model

is.factor(train$label)
contrasts(train$label)

lr_model <- data.frame(label = as.numeric(rnorm(100)>0.5), b= rnorm(100), c = rnorm(100), d = rnorm(100))
logitMod <- glm(label ~ ., data=train, family=binomial(link="logit"))
pdata <- predict(logitMod, newdata = train, type = "response")
confusionMatrix(data = as.numeric(pdata>0.5), reference = train$label)

Я все еще получаю "Ошибка: data и reference должны быть факторамис теми же уровнями. "

В моем наборе данных есть три столбца - рацион, время и метка (где метка мужская и женская)

Ответы [ 2 ]

0 голосов
/ 08 апреля 2019
confusionMatrix(data = as.factor(as.numeric(pdata>0.5)), reference = train$label)

Это должно работать.

0 голосов
/ 06 октября 2018

Будем догадываться, что вы используете caret::confusionMatrix, так что здесь.То, что вы делаете, вы передаете целое число в качестве данных и фактор в качестве ссылки.Обратите внимание, что в документации требуется фактор прогнозируемых классов или таблица.

> library(caret)
> 
> ref <- factor(sample(0:1, size = 100, replace = TRUE))
> data1 <- sample(0:1, size = 100, replace = TRUE)
> data2 <- factor(sample(0:1, size = 100, replace = TRUE))

# this is your case
> confusionMatrix(data = data1, reference = ref)
Error: `data` and `reference` should be factors with the same levels.

# pass in a factor (try a table for giggles)
> confusionMatrix(data = data2, reference = ref)
Confusion Matrix and Statistics

          Reference
Prediction  0  1
         0 24 19
         1 33 24

               Accuracy : 0.48           
                 95% CI : (0.379, 0.5822)
    No Information Rate : 0.57           
    P-Value [Acc > NIR] : 0.97198        

                  Kappa : -0.02          
 Mcnemar's Test P-Value : 0.07142        

            Sensitivity : 0.4211         
            Specificity : 0.5581         
         Pos Pred Value : 0.5581         
         Neg Pred Value : 0.4211         
             Prevalence : 0.5700         
         Detection Rate : 0.2400         
   Detection Prevalence : 0.4300         
      Balanced Accuracy : 0.4896         

       'Positive' Class : 0
...