【发布时间】:2018-08-21 08:37:35
【问题描述】:
我正在使用 glmnet 进行多项式和交叉验证的特征选择。一切都很好,但是只有不到 400 个预测变量和 4 个级别,输出变得有点混乱
X <- matrix(rnorm(350000),nrow=1000,ncol=350)
colnames(X) <- sample(LETTERS,350,TRUE)
Y <- factor(sample(LETTERS[1:5],1000,TRUE),levels =LETTERS[1:5])
out.cvfit <- cv.glmnet(x=X ,y=Y,standardize=TRUE,family="multinomial",parallel = TRUE,type.measure = "class")
然后我得到这样的输出:
coef.cv.glmnet(out.cvfit,"lambda.1se")
...
$D
351 x 1 sparse Matrix of class "dgCMatrix"
1
(Intercept) 0.06770556
F .
L .
B .
W .
V .
W .
G .
X .
G .
A .
G .
V .
Q .
T .
...
一个有点做作的例子,因为一切都是零,因为没有结构,但你明白了。
好的,跨多个级别查看并汇总提取的预测变量会变得非常麻烦。那么,有没有办法从稀疏矩阵中只提取非零预测变量?
【问题讨论】:
-
你知道稀疏矩阵实际上只存储非零条目吗?
标签: r subset sparse-matrix glmnet