Для меня одним из больших преимуществ использования glmnet является возможность работать с разреженными матрицами напрямую, без необходимости их преобразования. Сообщения здесь, похоже, указывают на то, что функция обучения каретки может принимать только кадры данных для обучающего набора, и ?caret::train предлагает то же самое. Так ли это на самом деле?
Могу ли я использовать glmnet с кареткой и разреженными матрицами?
Ответы (2)
Это определенно было правдой в прошлом, и в настоящее время данные предиктора будут преобразованы в фрейм данных. Однако некоторые недавние изменения в пакете, вероятно, позволят поддерживать разреженные матричные объекты.
Я добавил это и рассмотрю его.
Максимум
person
topepo
schedule
21.07.2014
@topepo, быстро ответьте, пожалуйста. мы можем сделать это сегодня? спасибо!!
- person ℕʘʘḆḽḘ; 09.11.2016
@Noobie Это работает с 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"
person
Sandipan Dey
schedule
28.03.2017