R语言逻辑回归、决策树、随机森林、神经网络预测患者心脏病数据混淆矩阵可视化(下)

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: R语言逻辑回归、决策树、随机森林、神经网络预测患者心脏病数据混淆矩阵可视化

R语言逻辑回归、决策树、随机森林、神经网络预测患者心脏病数据混淆矩阵可视化(上):https://developer.aliyun.com/article/1498749


具有固定缺陷地中海贫血的人患心脏病的可能性更高

ggplot(heartDiseaseData,aes(target, fill=target)) +
...
  scale_fill_manual(values=c("#97BE11","#DC1E0B"))

image.png

可以观察到仅有少数参数,如胸痛类型、性别、运动诱发心绞痛、血管数量和ST段压低,对结果有显著影响。因此,可以舍弃其他参数。

log <- glm(...

image.png

image.png

显著特征的总结

d <- heartDiseaseDa...

image.png

逻辑回归


log <- glm(...=binomial)
summary(log)

image.png

log.df <- tidy...

观察表明,如果个体患有2型或3型胸痛,患心脏病的可能性更高。随着血管数量、运动诱发心绞痛、ST段压低和男性性别数值的增加,患心脏病的可能性较低。

log.df %>%
  mutate(term=reorder(term,estimate)) %>%
...
  geom_hline(yintercept=0) +
  coord_flip()

image.png

随着ST段压低值的增加,患心脏病的可能性降低。随着血管数量的增加,女性患心脏病的可能性降低,而男性的可能性增加。


逻辑回归


data <- d
set.seed(1237)
train <- sample(nrow(data), .8*nrow(data), replace = FALSE)
...
#调整参数
fitControl <- trainControl(method = "repeatedcv",
      ...
TrainSet$target <- as.factor(TrainSet$target)
gbm.ada.1 <- caret::train(target ~ ., 
                    ...
                          metric="ROC")
gbm.ada.1

image.png

ST段压低是最重要的特征,其次是胸痛类型2等等。

varImp(gbm.ada.1)

image.png

pred <- predict(gbm.ada.1,ValidSet)
....
res<-caret::confusionMatrix(t...

image.png

混淆矩阵

ggplot(data = t.df, aes(x = Var2, y = pred, label=Freq)) +
...
  ggtitle("Logistic Regression")

image.png

随机森林


gbm.ada.1 <- caret::train(target ~ ., 
                          ...
                                      metric="ROC")
gbm.ada.1

image.png

变量重要性


varImp(gbm.ada.1)

image.png

pred <- predict(gbm.ada.1,ValidSet)
...
res<-caret::confusionMatrix(t, positive="Heart Disease")
res

image.png

混淆矩阵

ggplot(data = t.df, aes(x = Var1, y = pred, label=Freq)) +
 ...
  ggtitle("Random Forest")

image.png

绘制决策树


gbmGrid <-  expand.grid(cp=c(0.01))
fitControl <- trainControl(method = "repeatedcv",
                    ...
                           summaryFunction = twoClassSummary)
d$target<-make.names(d$target)
system.time(gbm.ada.1 <- caret::train(target ~ ., 
                    ...
                                      tuneGrid=gbmGrid))
gbm.ada.1

image.png

varImp(gbm.ada.1)

image.png

rpart.plot(gbm.ada.1$finalModel,   
    ...
           nn=TRUE)

image.png

神经网络


fitControl <- trainControl(method = "repeatedcv",
                      ...
                           summaryFunction = twoClassSummary)
gbm.ada.1 <- caret::train(target ~ ., 
                             ...
                                      metric="ROC")

image.png


gbm.ada.1

image.png

变量重要性

varImp(gbm.ada.1)

image.png

pred <- predict(gbm.ada.1,ValidSet)
...
res<-caret::confusionMa...

image.png

混淆矩阵


混淆矩阵(Confusion Matrix)是用于评估分类模型性能的一种表格。它以四个不同的指标来总结模型对样本的分类结果:真阳性(True Positive, TP)、真阴性(True Negative, TN)、假阳性(False Positive, FP)和假阴性(False Negative, FN)。

ggplot(data = t.df, aes(x = Var1, y = pred, label=Freq)) +
...
  ggtitle("Neural Network")

image.png

相关文章
|
9月前
|
存储 机器学习/深度学习 监控
网络管理监控软件的 C# 区间树性能阈值查询算法
针对网络管理监控软件的高效区间查询需求,本文提出基于区间树的优化方案。传统线性遍历效率低,10万条数据查询超800ms,难以满足实时性要求。区间树以平衡二叉搜索树结构,结合节点最大值剪枝策略,将查询复杂度从O(N)降至O(logN+K),显著提升性能。通过C#实现,支持按指标类型分组建树、增量插入与多维度联合查询,在10万记录下查询耗时仅约2.8ms,内存占用降低35%。测试表明,该方案有效解决高负载场景下的响应延迟问题,助力管理员快速定位异常设备,提升运维效率与系统稳定性。
372 4
|
数据采集 机器学习/深度学习 数据可视化
R语言从数据到决策:R语言在商业分析中的实践
【9月更文挑战第1天】R语言在商业分析中的应用广泛而深入,从数据收集、预处理、分析到预测模型构建和决策支持,R语言都提供了强大的工具和功能。通过学习和掌握R语言在商业分析中的实践应用,我们可以更好地利用数据驱动企业决策,提升企业的竞争力和盈利能力。未来,随着大数据和人工智能技术的不断发展,R语言在商业分析领域的应用将更加广泛和深入,为企业带来更多的机遇和挑战。
|
机器学习/深度学习 数据采集 人工智能
基于Huffman树的层次化Softmax:面向大规模神经网络的高效概率计算方法
层次化Softmax算法通过引入Huffman树结构,将传统Softmax的计算复杂度从线性降至对数级别,显著提升了大规模词汇表的训练效率。该算法不仅优化了计算效率,还在处理大规模离散分布问题上提供了新的思路。文章详细介绍了Huffman树的构建、节点编码、概率计算及基于Gensim的实现方法,并讨论了工程实现中的优化策略与应用实践。
474 15
基于Huffman树的层次化Softmax:面向大规模神经网络的高效概率计算方法
|
网络虚拟化
生成树协议(STP)及其演进版本RSTP和MSTP,旨在解决网络中的环路问题,提高网络的可靠性和稳定性
生成树协议(STP)及其演进版本RSTP和MSTP,旨在解决网络中的环路问题,提高网络的可靠性和稳定性。本文介绍了这三种协议的原理、特点及区别,并提供了思科和华为设备的命令示例,帮助读者更好地理解和应用这些协议。
1096 4
|
机器学习/深度学习 数据采集 算法
机器学习在医疗诊断中的前沿应用,包括神经网络、决策树和支持向量机等方法,及其在医学影像、疾病预测和基因数据分析中的具体应用
医疗诊断是医学的核心,其准确性和效率至关重要。本文探讨了机器学习在医疗诊断中的前沿应用,包括神经网络、决策树和支持向量机等方法,及其在医学影像、疾病预测和基因数据分析中的具体应用。文章还讨论了Python在构建机器学习模型中的作用,面临的挑战及应对策略,并展望了未来的发展趋势。
1254 1
|
机器学习/深度学习 前端开发 数据挖掘
基于Python Django的房价数据分析平台,包括大屏和后台数据管理,有线性、向量机、梯度提升树、bp神经网络等模型
本文介绍了一个基于Python Django框架开发的房价数据分析平台,该平台集成了多种机器学习模型,包括线性回归、SVM、GBDT和BP神经网络,用于房价预测和市场分析,同时提供了前端大屏展示和后台数据管理功能。
523 9
|
网络协议
|
机器学习/深度学习 算法 数据库
数据分享|R语言用核Fisher判别方法、支持向量机、决策树与随机森林研究客户流失情况
数据分享|R语言用核Fisher判别方法、支持向量机、决策树与随机森林研究客户流失情况
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
519 17
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范能力。通过分析常见的网络安全漏洞,介绍加密技术的基本原理和应用,以及强调安全意识的重要性,帮助读者更好地保护自己的网络信息安全。
382 10