使用glmnet给我的一大好处是能够直接使用稀疏矩阵而无需转换它们 . 这里的帖子似乎表明,插入符号的列车功能只能接收训练集的数据帧,而“caret :: train”表示相同 . 实际情况如此吗?
@Noobie这适用于 glmnet ,例如:
glmnet
library(glmnet) set.seed(1) X <- sparseMatrix(i=sample(1:20,20), j=sample(1:20,20), x=sample(1:100,20), dims=c(20,20)) # some random sparse training data X # [1,] . . . 64 . . . . . . . . . . . . . . . . # [2,] . . . . . . . . . . . . . . 98 . . . . . # [3,] . . . . . . . . . . . . 43 . . . . . . . # [4,] . . . . . . . . . . . . . . . . . . . 51 # [5,] . . . . . . . . . 7 . . . . . . . . . . # [6,] . . . . . . . . . . . . . . . . . . 83 . # [7,] . . . . . . . 9 . . . . . . . . . . . . # [8,] . . . . 65 . . . . . . . . . . . . . . . # [9,] . . . . . . . . . . . . . . . 45 . . . . #[10,] . 22 . . . . . . . . . . . . . . . . . . #[11,] . . . . . . . . . . . 77 . . . . . . . . #[12,] . . . . . . . . 27 . . . . . . . . . . . #[13,] . . . . . . . . . . . . . . . . 33 . . . #[14,] . . . . . 75 . . . . . . . . . . . . . . #[15,] 3 . . . . . . . . . . . . . . . . . . . #[16,] . . 54 . . . . . . . . . . . . . . . . . #[17,] . . . . . . . . . . . . . 44 . . . . . . #[18,] . . . . . . 55 . . . . . . . . . . . . . #[19,] . . . . . . . . . . 68 . . . . . . . . . #[20,] . . . . . . . . . . . . . . . . . 39 . . y <- as.factor(sample(0:1, 20, replace=TRUE)) enet.fit <- glmnet(X, y, family='binomial') Xtest <- sparseMatrix(i=sample(1:10,10), j=sample(1:20,10), x=sample(1:100,10), dims=c(10,20)) # some random sparse test data # [1,] . . . . . 45 . . . . . . . . . . . . . . # [2,] . . . . . . . . . . . . . . . . . 21 . . # [3,] . . . . . . . . . . . . . . 97 . . . . . # [4,] . . . . . . . . . . . 27 . . . . . . . . # [5,] . . . . 66 . . . . . . . . . . . . . . . # [6,] . . . . . . . . . . . . . 55 . . . . . . # [7,] . 35 . . . . . . . . . . . . . . . . . . # [8,] . . . . . . . . . 86 . . . . . . . . . . # [9,] . . . . . . 13 . . . . . . . . . . . . . # [10,] . . . . . . . . . . . . 61 . . . . . . . predict(enet.fit, newx=Xtest, type='class',s=0.01) # 1 # [1,] "0" # [2,] "1" # [3,] "0" # [4,] "0" # [5,] "1" # [6,] "1" # [7,] "1" # [8,] "1" # [9,] "0" #[10,] "0"
这在过去肯定是正确的,目前,预测数据将转换为数据框 . 但是,最近对包的一些更改可能允许维护稀疏矩阵对象 .
我添加了this并将调查它 .
马克斯
2 回答
@Noobie这适用于
glmnet
,例如:这在过去肯定是正确的,目前,预测数据将转换为数据框 . 但是,最近对包的一些更改可能允许维护稀疏矩阵对象 .
我添加了this并将调查它 .
马克斯