r ridge回归_机器学习 | LASSO回归姊妹篇:R语言实现岭回归分析

本文介绍了岭回归的概念及其在高通量数据中的应用,特别是用于解决线性回归中的共线性问题。通过两个案例分析,展示了如何在R中使用glmnet包构建岭回归模型,包括数据预处理、模型建立、系数变化与模型性能评估。案例涉及乳腺癌和前列腺癌数据,展示了模型在预测恶性肿瘤和术后PSA水平方面的效能。
摘要由CSDN通过智能技术生成

9c4cce70190015dcdd5d67caf4811152.png

作者:科研猫 | 西红柿

责编:科研猫 | 馋猫

前面的教程中,我们讲解了在高通量数据中非常常用的一种模型构建方法,LASSO 回归(见临床研究新风向,巧用LASSO回归构建属于你的心仪模型)。作为正则化方法的一种,除了LASSO,还有另外一种模型值得我们学习和关注,那就是岭回归(ridge regression)。今天,我们将简要介绍什么是岭回归,它能做什么和不能做什么。在岭回归中,范数项是所有系数的平方和,称为 L2-Norm。在回归模型中,我们试图最小化 RSS+λ (sumβj2)。随着λ增加,回归系数 β 减小,趋于 0,但从不等于 0。岭回归的优点是可以提高预测精度,但由于它不能使任何变量的系数等于零,很难满足减少变量个数的要求,因此在模型的可解释性方面会存在一些问题。为了解决这个问题,我们可以使用之前提到的 LASSO 回归。

此外,岭回归更常用于处理线性回归中的共线性问题。通常认为共线性会导致过度拟合,并且参数估计会非常大。因此,在回归系数β的最小二乘的目标函数中加入惩罚函数可以解决这个问题。正则化思想是一致的,因此岭回归可以解决这个问题。

案例分析

  • 案例一

数据介绍

我们选择载入同 LASSO 回归一样的数据 Biopsy Data on Breast Cancer Patients。我们载入MASS 包中来自威斯康星乳腺癌患者的数据集。目的是确定活检结果是良性还是恶性。研究人员使用细针抽吸 (FNA) 技术收集样本并进行活检以确定诊断(恶性或良性)。我们的任务是开发尽可能精确的预测模型来确定肿瘤的性质。数据集包含 699 名患者的组织样本,并存储在包含 11 个变量的数据框中。此数据框包含以下列:

ID:  sample code number (not unique).
 V1:  clump thickness.
 V2:  uniformity of cell size.
 V3:  uniformity of cell shape.
 V4:  marginal adhesion.
 V5:  single epithelial cell size.
 V6:  bare nuclei (16 values are missing).
 V7:  bland chromatin.
 V8:  normal nucleoli.
 V9:  mitoses.
 class:  “benign” or “malignant”.

数据处理

我们首先加载 MASS 包并准备乳腺癌数据:

1library(glmnet)
2library(MASS)
3biopsy$ID =NULL
4names(biopsy) =c(“thick”, “u.size”, “u.shape”, “adhsn”, “s.size”, “nucl”, “chrom”, “n.nuc”, “mit”, “class”)
5biopsy.v2 <-na.omit(biopsy)
6set.seed(123) #random number generator
7ind<-sample(2, nrow(biopsy.v2), replace =TRUE, prob =c(0.7, 0.3))
8 train <-biopsy.v2[ind==1, ] #the training data set
9Convert data to generate input matrices and labels:
10x <-as.matrix(train[, 1:9])
11y <-train[, 10]

岭回归模型

我们首先使用岭回归建立模型,并将结果存储在对象 ridge 中。请注意:glmnet 包在计算lambda 值之前对输入值进行了标准化。我们需要将响应变量的分布指定为“二项式”,

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值