Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >数据分享|PYTHON用决策树分类预测糖尿病和可视化实例|附代码数据

数据分享|PYTHON用决策树分类预测糖尿病和可视化实例|附代码数据

原创
作者头像
拓端
发布于 2023-06-22 02:42:10
发布于 2023-06-22 02:42:10
39100
代码可运行
举报
文章被收录于专栏:拓端tecdat拓端tecdat
运行总次数:0
代码可运行

全文下载链接:http://tecdat.cn/?p=23848

最近我们被客户要求撰写关于决策树的研究报告,包括一些图形和统计输出。

在本文中,决策树是对例子进行分类的一种简单表示。它是一种有监督的机器学习技术,数据根据某个参数被连续分割。决策树分析可以帮助解决分类和回归问题

决策树算法将数据集分解成更小的子集;同时,相关的决策树也在逐步发展。决策树由节点(测试某个属性的值)、边/分支(对应于测试的结果并连接到下一个节点或叶子)和叶子节点(预测结果的终端节点)组成,使其成为一个完整的结构。”

扩展:GBDT (Gradient Boosting Decision Tree) 梯度提升决策树

GBDT (Gradient Boosting Decision Tree) 梯度提升决策树。DT-Decision Tree决策树,GB是Gradient Boosting,是一种学习策略,GBDT的含义就是用Gradient Boosting的策略训练出来的DT模型。

在这篇文章中,我们将学习Python中决策树的实现,使用scikit learn包。

对于我们的分析,我们选择了一个非常相关和独特的数据集,该数据集适用于医学科学领域,它将有助于预测病人是否患有糖尿病 查看文末了解数据免费获取方式 ,基于数据集中采集的变量。这些信息来自国家糖尿病、消化道和肾脏疾病研究所,包括预测变量,如病人的BMI、怀孕情况、胰岛素水平、年龄等。让我们直接用决策树算法来解决这个问题,进行分类。

用Python实现决策树

对于任何数据分析问题,我们首先要清理数据集,删除数据中的所有空值和缺失值。在这种情况下,我们不是在处理错误的数据,这使我们省去了这一步。 

  1. 为我们的决策树分析导入所需的库并拉入所需的数据
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 加载库
from sklearn.model_selection import train_test_split #导入 train_test_split 函数
from sklearn import metrics #导入scikit-learn模块以计算准确率

# 载入数据集
data = pd.read_csv("diabs.csv", header=None, names=col_names)

让我们看看这个数据集的前几行是什么样子的

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pima.head()
  1. 在加载数据后,我们了解结构和变量,确定目标变量和特征变量(分别为因变量和自变量)。
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#在特征和目标变量中拆分数据集
X = pima[feature] # 特征
y = pima.label # 目标变量
  1. 我们把数据按70:30的比例分成训练集和测试集。
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 将数据集分成训练集和测试集
train_test_split(X, y, test_size=0.3, random_state=1) # 70%的训练和30%的测试

标准做法,你可以根据需要调整70:30至80:20。 

  1. 使用scikit learn进行决策树分析
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 创建决策树分类器对象
clf = DecisionTreeClassifier()
  1. 估计分类器预测结果的准确程度。准确度是通过比较实际测试集值和预测值来计算的。
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 模型准确率,分类器正确的概率是多少?
print("准确率:",metrics.accuracy_score(y_test, y_pred))

我们的决策树算法有67.53%的准确性。这么高的数值通常被认为是好的模型。 

  1. 现在我们已经创建了一棵决策树,看看它在可视化的时候是什么样子的

决策树的可视化。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Image(graph.create_png())

Python输出

你会注意到,在这个决策树图中,每个内部节点都有一个分割数据的决策规则。

衡量通过决策树分析创建的节点的不纯度

Gini指的是Gini比,衡量决策树中节点的不纯度。人们可以认为,当一个节点的所有记录都属于同一类别时,该节点是纯的。这样的节点被称为叶子节点。

在我们上面的结果中,由于结果的复杂性,完整的决策树很难解释。修剪一棵树对于结果的理解和优化它是至关重要的。这种优化可以通过以下三种方式之一进行。

  • 标准:默认="gini"
  • splitter:字符串,可选(默认="best")或分割策略。选择分割策略。可以选择 "best"来选择最佳分割,或者选择 "random"来选择最佳随机分割。
  • max_depth: int或None,可选(默认=None)或树的最大深度 这个参数决定了树的最大深度。这个变量的数值越高,就会导致过度拟合,数值越低,就会导致拟合不足。

在我们的案例中,我们将改变树的最大深度作为预修剪的控制变量。让我们试试max_depth=3。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 创建决策树分类器对象
DecisionTree( max_depth=3)

在Pre-pruning上,决策树算法的准确率提高到77.05%,明显优于之前的模型。

决策树在Python中的实现

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Image(graph.create_png())

结果:

Python输出

这个修剪过的模型的结果看起来很容易解释。有了这个,我们就能够对数据进行分类,并预测一个人是否患有糖尿病。但是,决策树并不是你可以用来提取这些信息的唯一技术,你还可以探索其他各种方法。

如果你想学习和实现这些算法,那么你应该探索通过辅助方法学习,并得到专业人士的1对1指导。拓端数据科学职业轨道计划保证了1:1的指导,项目驱动的方法,职业辅导,提供实习工作项目保证,来帮助你将职业生涯转变为数据驱动和决策的角色。请联系我们以了解更多信息!

本文摘选 PYTHON用决策树分类预测糖尿病和可视化实例 ,点击“阅读原文”获取全文完代码和数据资料。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
MaAfee 2020 网络安全威胁报告
MaAfee发布了一份关于 2020 年第二季度网络威胁演变与相关网络犯罪活动的分析报告。在跟踪时间段内,恶意软件新样本总数增长了 11.5%,每分钟会出现 419 个新威胁。 恶意 Office 文档的快速增长使得新增 PowerShell 恶意软件激增 117%,COVID-19 造成的影响促使网络犯罪者调整相关攻击策略,比如以新冠病毒大流行为主题吸引受害者并利用许多人在家工作的事实。 McAfee 首席科学家 Raj Samani 表示:“到 2020 年第二季度,PowerShell 恶意软件等
FB客服
2023/04/26
2810
MaAfee 2020 网络安全威胁报告
Nat Rev Drug Discov|2021年的生物制药交易情况
2022年1月18日,Nat Rev Drug Discov杂志发表文章,概述了2021年的生物制药交易情况。
智药邦
2022/03/04
3440
Nat Rev Drug Discov|2021年的生物制药交易情况
全球FinTech2017一季度投资风向报告:峰值可能已过,VC投资将继续下降
大数据文摘作品,转载要求见文末 编译|卞峥,蒋宝尚, 范玥灿,Elaine CB Insights发布了一份全球FinTech17年第一季度报告,从数据上可以看出专业投资者对于FinTech这个曾经的香馍馍的谨慎态度。热闹是媒体的事,具体怎样还得看数据说话。 FinTech火了好几年,今年对金融科技的风投交易速度相比于2016年开始放缓,比特币、支付工具、区块链依然是活跃的字眼,但已经不像前两年,只要是个金融科技创业公司就要挂上“区块链”的金字招牌。 浪退之后,经历过足够市场教育的投资人,开始冷静下来慢慢甄
大数据文摘
2018/05/25
3590
万达体育走到新的十字路口
从2020年一季度财报数据来看,当年王健林提出的“万达体育2020年净利润要做到十位数(10亿)甚至几十个十位数”的目标,恐怕要落空。
刘旷
2020/06/16
3270
葡萄牙二季度威胁报告:银行成为主要攻击目标
0xSI_f33d是一个开放共享的威胁数据库,从多个数据来源收集威胁指标,专注于针对葡萄牙的攻击威胁。近日,该社区披露了葡萄牙第二季度的网络威胁统计报告。
FB客服
2021/08/24
2770
谷歌冻结招聘并削减预算;AT&T位居托管SD-WAN服务榜首;国美表示与拼多多无业务合作
据外媒报道,谷歌的一份内部材料显示,该公司将把下半年营销预算最多削减一半。谷歌营销员工本周收到了这封关于压缩预算的电子邮件。邮件显示,谷歌不仅要削减预算,还会针对全职员工和合同工展开新一轮招聘冻结。
SDNLAB
2020/04/25
5280
网络安全2020年Q1垃圾和钓鱼邮件报告
2020年2月举行了第92届奥斯卡颁奖典礼, 诈骗网站会弹出免费观看所有提名电影的信息。
FB客服
2020/06/18
8330
网络安全2020年Q1垃圾和钓鱼邮件报告
2020第一季度安全威胁分析
卡巴斯基第一季度共发现全球203个国家/地区发起的726,536,269次攻击;识别出442,039,230个恶意URL;发现249,748起银行攻击案件;发现勒索软件攻击数量178922次;检测到164,653,290个恶意文件。针对移动设备发现1,152,662个恶意安装包;42,115个移动银行木马安装包;移动勒索软件木马4339个。
FB客服
2020/06/16
5360
2020第一季度安全威胁分析
科技公司第一季度营收大乱斗 与 全球芯片短缺持续|Decode the Week
随着三大洲的汽车制造商加入科技巨头苹果和三星电子削减产量并因芯片危机而损失收入的行列,全球芯片短缺问题正变得越来越严重。
LiveVideoStack
2021/09/01
2960
科技公司第一季度营收大乱斗 与 全球芯片短缺持续|Decode the Week
Juniper在第二季度软件业务增长,净收入下降8%
根据Seeking Alpha的数据,Juniper首席执行官Rami Rahim表示,“我们看到了Contrail的势头,并在本季度获得了几个新客户,他们是三家全球一级运营商和一家位居“财富500强”榜单的企业。” 该公司计划在本季度开始发售Contrail Enterprise Multi-Cloud软件,“我们认为这将推动整个企业数据中心解决方案的发展,这实际上是一个软件主导的解决方案,”Rahim补充说。但软件收入并不足以推动这家网络公司回到去年同期的增长。
SDNLAB
2018/07/31
3750
前程无忧2020新财报:曾经风光,今夕已老
受年初疫情的影响,大量企业为了降低人力成本,纷纷缩招,甚至裁员,2020的市场招聘需求相比往年显著下降。
刘旷
2020/05/12
1.1K0
前程无忧2020新财报:曾经风光,今夕已老
2020年第一季度DDoS攻击报告
2020年初以来受COVID-2019的影响,人们的生活完全转移到了网上,世界各地的人们在网上工作、学习、购物和娱乐。近期DDoS攻击的目标也反映了这一点,第一季度针对性最强的目标是医疗组织、支付服务以及游戏和教育平台。
FB客服
2020/06/05
6750
2020年第一季度DDoS攻击报告
诺基亚赢得10亿美元订单;美国警告印度:收“谷歌税”可能会招致报复;苹果赔偿1800万美元
据外媒报道,诺基亚周二表示,该公司已与印度第三大电信公司Bharti Airtel签署一份为期多年的合作协议,为后者提供网络设备和服务。
SDNLAB
2020/05/06
5280
诺基亚赢得10亿美元订单;美国警告印度:收“谷歌税”可能会招致报复;苹果赔偿1800万美元
以色列风险投资协会(IVC):以色列创业企业1季度融资10.9亿美元
2016年第一季度,173家以色列高科技企业融资10.9亿美元,相比2015年同期的162家融资10亿美元增长8%,这是最近IVC-KPMG以色列高科技融资调查得出的数据。 调查指出2016年第一季度相比2015年4季度的201家企业融资12亿美元略有下降,2015年4季度达到历史最高纪录。第4季度的融资额是历史最高的,而且5年的趋势表明去年4季度至来年一季度之间的投资额平均下降12%。 IVC研究中心CEO Koby Simana说,“尽管美国高科技企业融资和风险投资下降,尽管对以色列相关产业的预测数据
点滴科技资讯
2018/04/28
2.7K0
LightCounting:光通信行业疫情复苏后将迎来增长
LightCounting于5月6日发布了最新更新的光通信市场预测报告。报告中指出2020年光通信行业将首先从疫情中复苏并发展迅猛。虽然,2020年的第一季度,COVID-19的爆发致使供应链压力上升到一个全新的水平,大多数组件供应商收入均低于预期。
亿源通科技HYC
2020/05/08
3440
LightCounting:光通信行业疫情复苏后将迎来增长
得益于5G iPhone,中国消费者推动苹果在中国实现第二季度新高
总部位于加州的Cupertino周三表示,在5G iPhone的强劲需求以及首次购买Mac电脑和iPad的推动下,苹果在包括香港和台湾在内的大中华区的销售额在截至3月的季度几乎翻了一番。
海大指南针
2022/05/16
2510
得益于5G iPhone,中国消费者推动苹果在中国实现第二季度新高
Coindesk发布2018年1季度区块链发展报告:六大趋势值得关注
(微信公众号 点滴科技资讯) 在2017年达到历史最高点后,从多个指标来看今年第一季度加密数字货币市场持续下跌。 不安的情绪渗透到整个行业,主要由于监管不确定性和经历了一年的告诉增长之后的回落。 为了分析动荡不安的2018年1季度,CoinDesk最新的区块链发展报告利用90多张幻灯片对整个市场进行了全面分析。 该报告周一发布,涵盖公共区块链,分布式账本技术(DLT),联盟链,初始代币发售(ICO),交易和投资以及监管。该报告还包括了对50多个问题的情绪调查结果,该调查提供420多个CoinDesk读者的洞
点滴科技资讯
2018/06/07
2.9K0
又一家金融科技公司走到了退市边缘
曾记得,2019年全年财报发布后,小赢科技创始人、首席执行官兼董事长唐越称:由于新冠病毒导致的疫情在海外蔓延,公司业务将在2020年第一季度受到不利影响,预计贷款总额将持续下降。
刘旷
2020/07/07
4640
又一家金融科技公司走到了退市边缘
全球AI第一大厂首季度净利同比大涨73%(但,股价还跌了)
相较而言,Alphabet本季度财报略超此前华尔街分析师预期。不过,近期投资者仍然对搜索业务增长放缓有担忧。
量子位
2018/07/24
3550
全球AI第一大厂首季度净利同比大涨73%(但,股价还跌了)
IBM存储“复苏”,这次还是大机的功劳!
根据IBM最新财报显示,由于对System z15大型机的强劲需求,带动了IBM DS8900存储阵列的销售,使得2020年IBM第一季度存储收入增长良好。
大数据在线
2020/04/30
8210
IBM存储“复苏”,这次还是大机的功劳!
推荐阅读
相关推荐
MaAfee 2020 网络安全威胁报告
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验