glmnet / scikit学习系数矩阵大小

时间:2012-06-25 15:41:11

标签: r scikit-learn glmnet

在scikit中,学习逻辑回归模型的系数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学习中做得对,但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?

0 个答案:

没有答案