当我尝试使用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
yTrain
包含至少两个不同的值吗? - Hong OoiV4
变量似乎是连续的,而不是二进制的。你不能用它来拟合逻辑回归模型。 - Hong Ooi