Главный компонент логистической регрессии в R - PullRequest
0 голосов
/ 21 мая 2019

Мне нужно выполнить логистическую регрессию главных компонентов в R, автоматически выбирая количество используемых компонентов с помощью перекрестных проверок.

Я надеялся, что это уже было достаточно реализовано в R, но я не могу точно найти то, что ищу. Процедура, упомянутая на этой стороне, приближается: https://www.r -bloggers.com / performance-Principal-Components-Regression-PCR-IN-R / , однако у меня есть некоторые проблемы, касающиеся этого метода:

  • Мне нужно настроить его так, чтобы он использовал именно модель логистической регрессии, что я не нахожу очевидным возможным при просмотре документации по функции pcr.
  • Если возможно, я бы хотел изменить метрику, используемую при оптимизации количества компонентов, используя перекрестную проверку (например, точность, AUC, ...)

Кроме того, у меня возникают проблемы с хранилищем при выполнении этого кода (см. Пример ниже): хотя и PCA, и обучение по проекции данных PCA (без сходимости в примере ниже) возможны по отдельности, следующий код не выполняется из-за проблемы с памятью, и я не могу понять, почему:

library("pls")
n <- 200
m <- 50000
set.seed(42)
X <- matrix(rnorm(n*m), nrow=n)
Y <- as.integer(sample(c(0,1), replace=TRUE, size=n))
data <- data.frame(cbind(X, Y))
pcr_model <- pcr(Y~., data=data, scale=TRUE, validation="CV") #not possible

Мне было интересно, возможна ли альтернатива / корректировка для строки pcr (...) в приведенном выше коде, которая не имеет никаких проблем с памятью, допускает модель логистической регрессии и выбирает метрику, используемую в кросс -Проверка. (Я могу реализовать процедуру самостоятельно, но предпочел бы, чтобы встроенная функция делала это для меня.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...