Pourquoi il n'y a aucune possibilité de transmettre seulement 1 variable explicative pour modéliser dans glmnet
fonction de glmnet
package quand c'est possible dans glm
fonction de base? Le code et l'erreur sont ci-dessous:Pourquoi ne peut pas passer seulement 1 coulmn à glmnet quand c'est possible dans la fonction glm dans R?
> modelX<-glm(ifelse(train$cliks <1,0,1)~(sparseYY[,40]), family="binomial")
> summary(modelX)
Call:
glm(formula = ifelse(train$cliks < 1, 0, 1) ~ (sparseYY[, 40]),
family = "binomial")
Deviance Residuals:
Min 1Q Median 3Q Max
-0.2076 -0.2076 -0.2076 -0.2076 2.8641
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -3.82627 0.00823 -464.896 <2e-16 ***
sparseYY[, 40] -0.25844 0.15962 -1.619 0.105
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 146326 on 709677 degrees of freedom
Residual deviance: 146323 on 709676 degrees of freedom
AIC: 146327
Number of Fisher Scoring iterations: 6
> modelY<-glmnet(y =ifelse(train$cliks <1,0,1), x =(sparseYY[,40]), family="binomial" )
Błąd wif (is.null(np) | (np[2] <= 1)) stop("x should be a matrix with 2 or more columns")
Il convient de noter que vous pouvez lier un tout 0 colonne à une variable de colonne x et glmnet céderas le coefficient 1er approprié et un coefficient de zéro pour la colonne tous les 0. '' 'x = cbind (sparseYY [, 40], 0)' '' – Wart
Le paquet 'glmnet' implémente des méthodes de régularisation. Quel serait le but d'appliquer LASSO ou rigde pour adapter un modèle avec une seule variable explicative? Pourquoi voudriez-vous réduire votre coefficient un (crête) ou le mettre égal à zéro (LASSO)? Ces méthodes commencent seulement à avoir un sens à 'k> = 2'. –
@AlvaroFuentes juste assez. Mon esprit a dû être limité ce jour-là .. –