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

简介: 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

相关文章
|
6天前
|
机器学习/深度学习 算法 数据库
数据分享|R语言用核Fisher判别方法、支持向量机、决策树与随机森林研究客户流失情况
数据分享|R语言用核Fisher判别方法、支持向量机、决策树与随机森林研究客户流失情况
|
6天前
|
机器学习/深度学习 数据可视化 算法
R语言神经网络与决策树的银行顾客信用评估模型对比可视化研究
R语言神经网络与决策树的银行顾客信用评估模型对比可视化研究
|
6天前
|
机器学习/深度学习 监控 数据可视化
R语言SOM神经网络聚类、多层感知机MLP、PCA主成分分析可视化银行客户信用数据实例2
R语言SOM神经网络聚类、多层感知机MLP、PCA主成分分析可视化银行客户信用数据实例
|
6天前
|
机器学习/深度学习 数据可视化 算法
R语言SOM神经网络聚类、多层感知机MLP、PCA主成分分析可视化银行客户信用数据实例1
R语言SOM神经网络聚类、多层感知机MLP、PCA主成分分析可视化银行客户信用数据实例
|
4天前
|
运维 网络协议 Linux
Docker网络_docker 网络,来看看这份超全面的《Linux运维面试题及解析》
Docker网络_docker 网络,来看看这份超全面的《Linux运维面试题及解析》
|
6天前
|
网络协议 Linux 网络架构
|
6天前
|
域名解析 网络协议 Linux
linux网络配置详解
linux网络配置详解
24 0
|
6天前
|
网络协议 Java Linux
【探索Linux】P.29(网络编程套接字 —— 简单的TCP网络程序模拟实现)
【探索Linux】P.29(网络编程套接字 —— 简单的TCP网络程序模拟实现)
14 0
|
6天前
|
存储 网络协议 算法
【探索Linux】P.28(网络编程套接字 —— 简单的UDP网络程序模拟实现)
【探索Linux】P.28(网络编程套接字 —— 简单的UDP网络程序模拟实现)
16 0

热门文章

最新文章