R语言笔记之广义线性模型压缩方法1

glmnet包可以对一系列调优参数值同时计算参数估计。
该包可以用于线性回归,也可以拟合广义线性模型,如逻辑回归,多项式回归,泊松回归,cox回归。

初始glmnet

> install.packages("glmnet")
trying URL 'https://cran.rstudio.com/bin/windows/contrib/3.4/glmnet_2.0-13.zip'
Content type 'application/zip' length 1769153 bytes (1.7 MB)
downloaded 1.7 MB

package ‘glmnet’ successfully unpacked and MD5 sums checked

The downloaded binary packages are in
    C:\Users\LLJiang\AppData\Local\Temp\RtmpCswyie\downloaded_packages
> library(glmnet)
载入需要的程辑包:Matrix
载入需要的程辑包:foreach
Loaded glmnet 2.0-13

Warning messages:
1: 程辑包‘glmnet’是用R版本3.4.3 来建造的 
2: 程辑包‘foreach’是用R版本3.4.3 来建造的 
> dat=read.csv("https://raw.githubusercontent.com/happyrabbit/DataScientistR/master/Data/SegData.csv")
#对数据进行一些清理,删除错误的样本观测,消费金额不能为负数
> dat=subset(dat,store_exp>0&online_exp>0)
> trainx=dat[,grep("Q",names(dat))]
#将实体店消费量和在线消费之和当作因变量
#得到总消费量=实体店消费+在线消费
> trainy=dat$store_exp+dat$online_exp
> glmfit=glmnet(as.matrix(trainx),trainy)
> 

我们可以通过plot(),coef(),predict()等函数来得到相应的信息。

> plot(glmfit,label=T)
> 

这里写图片描述
图中每种颜色的线代表对应一个自变量,展示的是随着Lasso罚函数对应调优参数的变化,各个变量对应的参数估计路径。
图中有上下两个X轴标度,下X轴是调优参数变化对应最优解的一阶范数值,上X轴是调优参数对应的非0参数估计个数,也就是Lasso模型的自由度。

> print(glmfit)

Call:  glmnet(x = as.matrix(trainx), y = trainy) 

      Df   %Dev   Lambda
 [1,]  0 0.0000 3042.000
 [2,]  2 0.1038 2771.000
 [3,]  2 0.1919 2525.000
 [4,]  2 0.2650 2301.000
 [5,]  3 0.3264 2096.000
 [6,]  3 0.3894 1910.000
 [7,]  3 0.4417 <
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值