首页 文章

logistic回归/二项式的glmnet错误

提问于
浏览
2

对于Logistic回归拟合,我在尝试使用family =“binomial”调整glmnet()时出现此错误:

> data <- read.csv("DAFMM_HE16_matrix.csv", header=F)
> x <- as.data.frame(data[,1:3])
> x <- model.matrix(~.,data=x)
> y <- data[,4]

> train=sample(1:dim(x)[1],287,replace=FALSE)

> xTrain=x[train,]
> xTest=x[-train,]
> yTrain=y[train]
> yTest=y[-train]

> fit = glmnet(xTrain,yTrain,family="binomial")

Error in lognet(x, is.sparse, ix, jx, y, weights, offset, alpha, nobs,  : 
one multinomial or binomial class has 1 or 0 observations; not allowed

任何帮助将不胜感激 - 我搜索了互联网,但却找不到任何有用的东西

编辑:

这是数据的样子:

> data
          V1       V2    V3      V4
1   34927.00   156.60 20321  -12.60
2   34800.00   156.60 19811  -18.68
3   29255.00   156.60 19068    7.50
4   25787.00   156.60 19608    6.16
5   27809.00   156.60 24863   -0.87
...
356 26495.00 12973.43 11802    6.35
357 26595.00 12973.43 11802   14.28
358 26574.00 12973.43 11802    3.98
359 25343.00 14116.18 11802   -2.05

1 回答

  • 1

    我认为这是因为你的因子变量的水平 . 假设有10个级别,而您的1个级别只有一个记录,请尝试删除此级别 . 您可以使用 gdata 包中的丢弃级别 .

相关问题