乐趣区

关于数据挖掘:R语言决策树随机森林逻辑回归临床决策分析NIPPV疗效和交叉验证附代码数据

全文链接:http://tecdat.cn/?p=32295

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

临床决策 (clinical decision making) 是医务人员在临床实践过程中,依据国内外医学科研的最新进展, 一直提出新计划,与传统计划进行比拟后, 取其 最优者 付诸实施,从而进步疾病诊治程度的过程。

在临床医疗实际中,许多事件的产生是随机的, 对个体患者来说医治措施的疗效、远期预后经常是不确定的和不可精确预测的,到底何种抉择最好很难简略做出决定。

本文帮忙客户进行决策分析 NIPPV 疗效数据,在充沛评估不同计划的危险及利益之后举荐一个最佳的计划,最大限度地保障患者权利,缩小临床实践及卫生决策失误。

决策树剖析步骤

决策树分析法是通过决策树图形展现临床重要事件的可能倒退过程及终局,比拟各种备选计划的预期后果从而进行择优决策的办法。决策树分析法通常有 6 个步骤。

明确决策问题,确定备选计划

对欲解决的问题有分明的界定, 应列出所有可能的备选计划。在决策树上决策的抉择利用 决策结 来代表,通常用方框示意,每个备选计划用从方框引出的臂示意,示意最终决策后果的决策结总是放在决策树的最左端。

用树形图展现决策事件决策

树的画法是 从左至右 ,可能产生的最终终局总是放在决策树最右端, 用小三角形示意,称为 终局结 。每一种终局都是一系列机会事件按工夫程序天然倒退的后果,在决策树上这种事件, 用圆圈符号示意, 称为 机会结。每一个机会事件的间接终局用与圆圈联结的臂示意, 不同机会结从左至右的程序是事件产生的时相关系的反映。一个机会结能够有多个间接终局,从每个机会结引出的终局必须是独立、互不容纳的状态。

表明各种事件可能呈现的概率

每一种事件呈现的可能性用概率示意,个别应从品质牢靠的文献中查找并联合专家的临床经验及本单位状况进行揣测。从每一个事件产生的各种后续事件的可能性遵从概率论的加法定律,即每一个机会结收回的间接终局的各臂概率之和必须为 1.0。

对最终终局赋值

可用效用值为最终终局赋值,效用值 是对患者衰弱状态偏好水平的测量, 通常利用 0~1 的数字示意, 最好的衰弱状态为 1, 死亡为 0。有时能够用寿命年、品质调整寿命年示意。

计算每一种备选计划的期望值

计算备选计划期望值的办法是从“树尖”开始向“树根”的方向(从右向左 )进行计算,效用值与其产生概率的乘积即是 冀望效用值,每个机会结的冀望效用值为该机会结所有可能事件的冀望效用值之总和。在决策树中如果有次级决策结时,与机会结冀望效用值的计算方法不同,只能抉择可提供最大冀望效用值的决策臂,而疏忽其余臂。最初, 抉择期望值最高的备选计划为决策计划。

对论断进行敏感性剖析

因为临床实践中的事件产生概率值及衰弱状态的效用值等都可能在肯定范畴内变动,须要进行敏感性剖析。敏感性剖析要答复的问题是: 当概率及终局效用值等在一个正当的范畴内变动时,决策分析的论断方向会扭转吗? 敏感性剖析的目标是测试决策分析论断的稳定性。

NIPPV 疗效数据

剔除缺失数据

datanew=**na.omit**(datanew)

建设决策树:疗效

datanew.train1=datanew.train[train2,]  
datanew.train2=datanew.train[-train2,]

剪枝

CARTmodel1 = **rpart**((疗效) ~.
**printcp**(CARTmodel1)

不剪枝

输入决策树 cp 值

依据 cp 值对决策树进行剪枝

able[**which.min**(CARTmodel$c
**prune**(CARTmodel, cp= C

对数据进行预测

失去训练集混同矩阵准确度和 MSE

######################################### 准确度  
**sum**(**diag**(tab))/**sum**(tab)

## [1] 0.7755102

###############################################MSE##############  
  
MSE=function(y,pred)**sqrt**(**mean**(**as.numeric**(y)-**as.numeric**(pred))^2)  
  
**MSE**(tree.pred,datanew.test$ 疗效)

## [1] 0.06122449

用 predict 的算下错率

预测分类号

输入后果到 excel


**brules.table**(CARTmodel2)[,**c**("Subrule","Variable","Value")]

变量重要水平

随机森林

变量重要水平

**importance**(rf)
**plot**(d,center=TRUE,leaflab=

混同矩阵

 


########################################### 准确率  
**sum**(**diag**(tab))/**sum**(tab)

## [1] 0.8163265

*# [1] 0.7755102*  
  
###############################################MSE##############  
**MSE**(**predict**(rf,datanew.test),datanew.test$ 疗效)

## [1] 0.02040816

预测分类号

逻辑回归模型

M2 <- **glm**(formula = 疗效 ~ .,fami

迭代回归之前的回归模型参数

迭代回归后的模型参数

逻辑回归预测

######################################### 准确度  
**sum**(**diag**(tab))/**sum**(tab)

## [1] 0.7755102

############################################## 预测分类号  
pred

##   2   3   9  13  14  15  17  22  23  26  29  30  32  35  38  39  42  44  
##   1   1   1   1   1   1   1   1   1   2   1   1   2   2   1   1   1   2  
##  52  53  56  57  60  61  63  64  66  68  69  79  83  87  88  92  94  99  
##   1   2   1   1   1   2   1   1   2   1   1   2   1   2   2   1   2   1  
## 102 105 106 108 109 112 113 118 123 134 139 140 143  
##   2   2   2   2   2   2   1   1   1   2   2   2   1

穿插验证

决策树穿插验证

cv.model=**cv.tree**(cpus.ltr, , prune.tree,K =10)  
best.size <- cv.model$size[**which**(cv.model$dev==**min**(cv.model$dev))] *# wh*

十折穿插验证

k=10  
for(kk in 1:k){index=**sample**(1:**dim**(data)[1],**floor**(**dim**(data)[1]*(1/k)),replace=F) *# 筛选样本 *  
  test=**as.data.frame**(data[index,]) *# 训练集 *
  
  
  *# 正确率 *  
precisek/k

## [1] 0.7285714

随机森林穿插验证

**rfcv**(**na.omit**(datanew.train), **na.omit**(datanew.train)$ 疗效, cv.fold=10)

十折穿插验证

*# 正确率 *  
precisek/k

## [1] 0.8424495

逻辑回归穿插验证

(cv.err <- **cv**
summary(cv.err)

十折穿插验证

*# 正确率 *  
precisek/k

## [1] 0.6416667

最受欢迎的见解

1.[](http://tecdat.cn/r%e8%af%ad%e8%a8%80%e7%bb%98%e5%88%b6%e7%94%…)R 语言分布式滞后非线性模型(DLNM)空气污染钻研温度对死亡率影响建模

2.[](http://tecdat.cn/r%e8%af%ad%e8%a8%80%e7%94%9f%e5%ad%98%e5%88%…)R 语言散布滞后线性和非线性模型(DLNM)剖析空气污染(臭氧)、温度对死亡率工夫序列数据

3.[](http://tecdat.cn/r%e8%af%ad%e8%a8%80%e5%a6%82%e4%bd%95%e5%9c%…)R 语言群组变量抉择、组惩办 GROUP LASSO 套索模型预测剖析新生儿出世体重危险因素数据和穿插验证、可视化

4.[](http://tecdat.cn/r%e8%af%ad%e8%a8%80%e4%b8%ad%e4%bd%bf%e7%94%…)R 语言逻辑回归、随机森林、SVM 反对向量机预测 FRAMINGHAM 心脏病危险和模型诊断可视化

5.[](http://tecdat.cn/r%e8%af%ad%e8%a8%80%e7%94%9f%e5%ad%98%e5%88%…)R 语言非线性混合效应 NLME 模型 (固定效应 & 随机效应) 反抗哮喘药物茶碱动力学钻研

6.[](http://tecdat.cn/r%e8%af%ad%e8%a8%80ggplot2%e8%af%af%e5%b7%ae…)R 语言应用限度均匀生存工夫 RMST 比拟两条生存曲线剖析肝硬化患者

7.[](http://tecdat.cn/r-%e8%af%ad%e8%a8%80%e7%bb%98%e5%88%b6%e5%8a…)分类回归决策树交互式修剪和更好看地可视化剖析细胞图像宰割数据集

8.[](http://tecdat.cn/r%e8%af%ad%e8%a8%80%e5%a6%82%e4%bd%95%e6%89%…)PYTHON 深度学习实现自编码器 AUTOENCODER 神经网络异样检测心电图 ECG 工夫序列

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

退出移动版