关于数据挖掘:R语言组lasso改进逻辑回归变量选择分析高血压易感因素2型糖尿病和LDL可视化

33次阅读

共计 4511 个字符,预计需要花费 12 分钟才能阅读完成。

全文链接:https://tecdat.cn/?p=33015

原文出处:拓端数据部落公众号

本文用逻辑回归和 lasso 算法医学上的疾病的相干因素,帮忙客户确定哪种模型可用于某种疾病的相干因素剖析。3 个模型:Logistic 模型、成组 Lasso Logistic 模型、由组 Lasso 选出协变量的 Logistic 模型,有 3 个易感因素、高血压、2 型糖尿病和 LDL,得出误差率和变量数目的图。

为了比拟不同调整参数筛选解释变量的成果,建设如下三个蕴含不同协变量的模型并通过十折穿插验证计算判断误差:

1)模型 I:蕴含所有待选协变量的 Logistic 模型;
2)模型 II:成组 Lasso Logistic 模型;
3)模型 III:仅蕴含由成组 Lasso 选出协变量的 Logistic 模型

查看数据变量

读取数据

data=read.spss("test1_3.sav", to.data.frame=T)
head(data)

1)模型 I:蕴含所有待选协变量的 Logistic 模型;

蕴含所有待选协变量的 Logistic 模型是一种统计模型,用于预测二分类后果的概率。协变量是指与待预测后果相干的特色或变量。在这种模型中,应用了所有待选的协变量作为自变量,并基于这些自变量与待预测后果之间的关系,建设了一个数学模型。

具体而言,模型应用 logistic 函数(也称为 sigmoid 函数)来建设自变量和待预测后果之间的关系。logistic 函数将自变量的线性组合映射到一个 0 到 1 之间的概率值,示意该样本属于某个特定类别的概率。

在构建模型时,须要确定每个协变量的系数(也称为权重),以及和后果之间的关系。通常应用最大似然预计办法来确定这些系数,以最大化模型对观测数据的拟合度。

该模型的指标是通过看待选协变量的应用,最大化对后果的预测准确性和可解释性。然而,抉择适合的协变量须要基于畛域常识、统计分析和模型评估等综合思考。

须要留神的是,抉择所有待选协变量并不意味着所有的协变量都是对后果有帮忙的,也可能存在一些多余或不相干的协变量。因而,在模型构建过程中,还须要进行变量筛选、特色工程和模型评估等步骤来确保抉择的协变量和模型的可靠性和精确性。

split <- sample(1:nrow(data),nrow(data)*(2/3))  
  
data$HP=as.numeric(data$HP!=0)
HP ~.,family=binomial(link='logit'

混同矩阵

混同矩阵是用于评估分类模型性能的一种表格模式。它是由预测后果和理论后果组成的二维矩阵,其中行示意理论类别,列示意预测类别。每个单元格的值代表了在特定类别下的样本数量。

混同矩阵的四个次要单元格包含:

  1. 真正例(True Positive, TP):预测为正例且理论也为正例的样本数量。
  2. 假正例(False Positive, FP):预测为正例但理论为负例的样本数量。
  3. 假反例(False Negative, FN):预测为负例但理论为正例的样本数量。
  4. 真反例(True Negative, TN):预测为负例且理论也为负例的样本数量。

通过混同矩阵,咱们能够计算出一些罕用的分类模型评估指标,例如准确率(Accuracy)、准确率(Precision)、召回率(Recall)和 F1 值等。这些指标能够帮忙咱们理解模型在不同类别上的体现,并判断其分类能力的好坏。

res <- data.frame(real,predict =ifelse(predict>0.5,'good','bad'))  
  
  
table(res)

auc

AUC (Area Under the Curve) 是一种罕用的评估二分类模型性能的指标。它示意模型在不同阈值下的真阳性率(True Positive Rate,也称为召回率)与假阳性率(False Positive Rate)之间的关系。

AUC 的取值范畴在 0 到 1 之间,其中 0.5 示意模型的预测性能与随机猜想相当,而 1 示意模型完满地预测了正例和负例。

AUC 的计算方法是首先将模型的预测后果依照概率从高到低进行排序,而后依据不同的阈值,计算出对应的真阳性率和假阳性率。最初,通过对这些真阳性率和假阳性率的数值进行积分,失去 AUC 的值。

AUC 的长处是不受分类阈值的影响,可能全面评估模型的性能。它实用于不均衡数据集和多类别问题,并且对于数据集中存在噪声和异样值的状况也比拟鲁棒。因而,AUC 是评估和比拟分类模型性能的重要指标之一。


performance(prediction( predict, real),  "auc" )@y.values[[1]]

## [1] 0.7642045

2)模型 II:组 Lasso Logistic 模型;

组 Lasso Logistic 模型是一种用于分类问题的机器学习模型。它联合了 Lasso 回归和逻辑回归的办法。Lasso 回归是一种用于特征选择和正则化的线性回归办法,它偏向于将参数稠密化,行将一些参数设为零,从而取得更简略的模型。逻辑回归则是一种罕用的分类算法,实用于二分类或多分类问题。

组 Lasso Logistic 模型通过联合 Lasso 回归和逻辑回归的思维,旨在同时实现特征选择和分类工作。它在建模过程中思考了特征选择的问题,从而能够解决高维数据集中的冗余特色,并且可能在给定的特色集中抉择出对分类工作最有用的特色。通过对损失函数进行优化,模型能够找到最佳的参数设置,以最大水平地减小预测谬误,并加强模型的泛化能力。

组 Lasso Logistic 模型在许多理论利用中都体现出很好的性能。它在生物信息学、文本分类、图像识别和金融预测等畛域都有宽泛的利用。通过联合 Lasso 回归的特征选择能力和逻辑回归的分类能力,组 Lasso Logistic 模型可能提供更精确和可解释的分类后果。

## 建设 lasso 模型  
cv.lasso <- cv.ata_train$HP[1:nrow(xmat)] ) )

绘制误差

coef(cv.lasso

依据 lasso 筛选出最优的变量

Lasso(Least Absolute Shrinkage and Selection Operator)是一种用于变量抉择和模型建设的统计办法。它通过对指标函数增加一个惩办项,将某些变量的系数缩减为零,从而实现变量筛选和模型简化。

依据 Lasso 筛选出最优的变量的过程能够概括为以下几个步骤:

  1. 数据筹备:将数据集分为训练集和测试集,用于模型的训练和评估。
  2. 模型建设:应用训练集数据,通过 Lasso 算法建设回归模型。Lasso 算法通过最小化指标函数,其中包含了一个惩办项,该项是变量系数的绝对值之和与一个常数的乘积。这个常数称为惩办力度,用于控制变量膨胀的水平。
  3. 变量筛选:依据 Lasso 算法的特点,它会将一些变量的系数膨胀为零,从而将这些变量排除在最优模型之外。通过观察 Lasso 算法失去的变量系数,能够确定哪些变量被选中,即为最优的变量。
  4. 模型评估:应用测试集数据,对选中的最优变量建设回归模型进行评估。能够应用一些评估指标(如均方误差、决定系数等)来评估模型的性能。

总之,依据 Lasso 筛选出最优的变量是通过应用 Lasso 算法建设回归模型,并依据变量系数的膨胀状况来确定哪些变量被选中,从而失去最优的变量组合。这能够帮忙简化模型、进步预测准确性,并揭示出对指标变量具备显著影响的变量。

# 筛选变量  
data_train=data_train[,c(variables

=binomial(link='logit')

混同矩阵

table(res)

lot(performance( prediction(

"auc" )@y.values[[1]]

## [1] 0.75

3)模型 III:仅蕴含由成组 Lasso 选出协变量的 Logistic 模型。

仅蕴含由成组 Lasso 选出协变量的 Logistic 模型是一种统计模型,用于预测二元分类问题。在此模型中,应用了 Lasso 办法来抉择协变量(也称为特色或自变量),该办法能够帮忙确定对指标变量有最强预测能力的协变量。

Lasso 办法是一种特征选择和正则化技术,它能够通过对模型中的系数进行惩办,将某些系数推向零,从而实现变量抉择的成果。这意味着,在仅蕴含由成组 Lasso 选出的协变量的 Logistic 模型中,只有多数对预测指标有重要影响的协变量被保留下来,而其余对预测指标没有重要影响的协变量则被排除。

Logistic 模型是一种广泛应用于分类问题的模型。它应用逻辑函数(也称为 sigmoid 函数)来将输出特色映射到 0 和 1 之间的概率值,该概率值示意样本属于某个类别的可能性。在仅蕴含由成组 Lasso 选出的协变量的 Logistic 模型中,利用这些协变量的值来预测样本的分类标签。

这种模型在理论利用中具备肯定的劣势,因为它能够缩小模型的复杂性和计算成本,同时提供精确的预测能力。然而,须要留神的是,抉择哪些协变量是一个重要的决策,并且应该思考相干畛域的专业知识和理论需要。

reg(X, y ,colnames(data)[-14], penalty

select(fit, "AIC")


最受欢迎的见解

1.[](https://tecdat.cn/r%e8%af%ad%e8%a8%80%e7%bb%98%e5%88%b6%e7%94…)R 语言多元 Logistic 逻辑回归 利用案例

2.[](https://tecdat.cn/r%e8%af%ad%e8%a8%80%e7%94%9f%e5%ad%98%e5%88…)面板平滑转移回归 (PSTR) 剖析案例实现

3.[](https://tecdat.cn/r%e8%af%ad%e8%a8%80%e5%a6%82%e4%bd%95%e5%9c…)matlab 中的偏最小二乘回归(PLSR)和主成分回归(PCR)

4.[](https://tecdat.cn/r%e8%af%ad%e8%a8%80%e4%b8%ad%e4%bd%bf%e7%94…)R 语言泊松 Poisson 回归模型剖析案例

5.[](https://tecdat.cn/r%e8%af%ad%e8%a8%80%e7%94%9f%e5%ad%98%e5%88…)R 语言回归中的 Hosmer-Lemeshow 拟合优度测验

6.[](https://tecdat.cn/r%e8%af%ad%e8%a8%80ggplot2%e8%af%af%e5%b7%a…)r 语言中对 LASSO 回归,Ridge 岭回归和 Elastic Net 模型实现

7.[](https://tecdat.cn/r-%e8%af%ad%e8%a8%80%e7%bb%98%e5%88%b6%e5%8…)在 R 语言中实现 Logistic 逻辑回归

8.[](https://tecdat.cn/r%e8%af%ad%e8%a8%80%e5%a6%82%e4%bd%95%e6%89…)python 用线性回归预测股票价格

9.[](https://tecdat.cn/r%e8%af%ad%e8%a8%80%e4%b8%ad%e7%9a%84%e7%94…)R 语言如何在生存剖析与 Cox 回归中计算 IDI,NRI 指标

正文完
 0