在 scikit learn 中coef_
,逻辑回归模型的系数是一个维度为 [n_classes-1, n_features] 的数组。
在glmnet
系数fit$beta
不是一个类似的数组。
例如:
维度xMatrix
- 63231 X 1223(训练样本数 X 特征数)
维度yMatrix
- 63231 X 1(训练样本数 X 每个样本的预期输出值)。有45个不同的类别。所以输出是其中之一。
输出系数的维度(据我了解)= 1223 X 45(特征数 X 类数)
虽然我在 scikit learn 中做对了,但结果glmnet
不同
这是我的glmnet
代码:
> dim(x)
[1] 63231 1223
> length(y)
[1] 63231
> unique(sort(y))
[1] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
[26] 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
> fit <- glmnet(x,y)
> summary(fit)
Length Class Mode
a0 86 -none- numeric
beta 105178 dgCMatrix S4
df 86 -none- numeric
dim 2 -none- numeric
lambda 86 -none- numeric
dev.ratio 86 -none- numeric
nulldev 1 -none- numeric
npasses 1 -none- numeric
jerr 1 -none- numeric
offset 1 -none- logical
call 3 -none- call
nobs 1 -none- numeric
> dim(fit$beta)
[1] 1223 86
为什么我得到 1223 X 86 而不是 1223 X 45?