【问题标题】:Why does the number of observations reduce using model.matrix in ridge regression?为什么在岭回归中使用 model.matrix 会减少观察次数?
【发布时间】:2019-07-18 04:06:42
【问题描述】:

我在 R 中使用 glmnet 包进行岭回归。我尝试了 ISLR 包中的 Hitters 数据集。问题是,当我使用 model.matrix 创建设计矩阵时,观察次数因未知原因而减少。这是代码。

library(ISLR)
library(glmnet)

data("Hitters")

set.seed(1)
train=sample(1:nrow(Hitters), nrow(Hitters)/2)
test=(-train)

train.data = Hitters[train,]
test.data = Hitters[test,]
train.x=model.matrix(Salary~.,train.data)[,-1]
train.y=train.data$Salary

在代码中,我尝试使用所有其他变量来预测薪水变量。 train.data 有 161 个观测值,而 train.x 有 131 个观测值。我不明白为什么会发生这种情况,希望能提供任何帮助。

【问题讨论】:

    标签: r regression glmnet lasso-regression regularized


    【解决方案1】:

    Salary 字段中有 NA 值。

    您可以这样识别问题:

    missing.players <- setdiff(rownames(train.data), rownames(train.x))
    train.data[missing.players, ]
    

    【讨论】:

      猜你喜欢
      • 2019-01-20
      • 1970-01-01
      • 1970-01-01
      • 2018-10-18
      • 2020-10-07
      • 1970-01-01
      • 2018-05-22
      • 2016-10-06
      • 1970-01-01
      相关资源
      最近更新 更多