Какова цель model.matrix()?

Сейчас я прохожу MOOC "Введение в статистическое обучение" от Stanford OpenX. В одном из лабораторных упражнений предлагается создать матрицу модели из данных испытаний, явно используя model.matrix(),

Выписка из учебника

Теперь мы вычислим ошибку набора проверки для лучшей модели каждого размера модели. Сначала мы делаем модель матрицы из тестовых данных.

test.mat=model.matrix (Salary∼.,data=Hitters [test ,])

Функция model.matrix() используется во многих регрессионных пакетах для построения X матрица из данных. Теперь мы запускаем цикл, и для каждого размера iмы извлекаем коэффициенты из regfit.best для лучшей модели такого размера умножьте их в соответствующие столбцы матрицы тестовой модели, чтобы сформировать прогнозы, и вычислите тест MSE.

val.errors =rep(NA ,19)
for(i in 1:19){
  coefi=coef(regfit .best ,id=i)
  pred=test.mat [,names(coefi)]%*% coefi
  val.errors [i]= mean(( Hitters$Salary[test]-pred)^2)
  }

Я это понимаю model.matrix конвертирует строковые переменные в значения с разными уровнями, и такие модели, как lm() будет делать преобразования под капотом.

Тем не менее, какие случаи мы бы явно использовали model.matrix(), и почему?

0 ответов

Другие вопросы по тегам