model.matrix()的目标是什么?

时间:2015-02-18 07:11:21

标签: r regression model.matrix

我目前正在阅读统计学习简介' MOOC by Stanford OpenX。在其中一个实验练习中,它建议通过明确使用model.matrix()从测试数据创建模型矩阵。

从教科书中提取

  

我们现在计算每个模型大小的最佳模型的验证集错误。我们首先根据测试数据制作模型矩阵。

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

model.matrix()函数用于许多回归包中   从数据构建X矩阵。现在我们运行一个循环,对于每个大小i,我们   从regfit.best中提取系数以获得最佳模型   size,将它们乘以测试模型的相应列   矩阵形成预测,并计算测试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 个答案:

没有答案