Преобразует ли функция Caret Train факторы в фиктивные по умолчанию в R? - PullRequest
1 голос
/ 02 августа 2020

Я работал с набором данных о пингвинах Палмера со следующим кодом:

library(caret)
library(tidyverse)
library(palmerpenguins)

penguins <- penguins[complete.cases(penguins),]
penguins <- penguins %>% select(-year,-island)
set.seed(2020)
indexes <- createDataPartition(penguins$sex, times = 1, p= 0.8, list= FALSE)
train_set <- penguins[indexes,]
test_set <- penguins[-indexes,]

set.seed(1979)
glm <- train(sex ~ .,
             data = train_set,
             method = "glm",
             preProc = c("center","scale"),
             trControl = trainControl(method = "boot"))

Когда я вижу имена коэффициентов модели, я получаю:

glm$coefnames
[1] "speciesChinstrap"  "speciesGentoo"     "bill_length_mm"    "bill_depth_mm"     "flipper_length_mm" "body_mass_g"

Это переменная species (фактор) была фиктивирована? Если да, то где переменная разновидностейAdel ie? (всего 3 вида: Chinstrap, Gentoo и Adel ie).

По просьбе ставлю сводку модели:

summary(glm)

Call:
NULL

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-3.2202  -0.2006   0.0018   0.1655   2.7497  

Coefficients:
                  Estimate Std. Error z value Pr(>|z|)    
(Intercept)        0.26369    0.27027   0.976 0.329241    
speciesChinstrap  -3.13336    0.71828  -4.362 1.29e-05 ***
speciesGentoo     -4.84554    1.40355  -3.452 0.000556 ***
bill_length_mm     3.94289    0.83800   4.705 2.54e-06 ***
bill_depth_mm      2.58186    0.69187   3.732 0.000190 ***
flipper_length_mm -0.06028    0.77703  -0.078 0.938166    
body_mass_g        4.99844    0.99530   5.022 5.11e-07 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 370.11  on 266  degrees of freedom
Residual deviance: 102.84  on 260  degrees of freedom
AIC: 116.84

Number of Fisher Scoring iterations: 7

Кстати данные взяты из пакет palmerpenguins с набором данных под названием penguins

...