专栏首页Python爬虫数据分析挖掘Python数据挖掘 | 实战案例之预测糖尿病

Python数据挖掘 | 实战案例之预测糖尿病

今天给大家讲解一个实战案例:如何根据现有数据预测糖尿病。在这个案例开始之前,希望大家回忆一下大学里讲过的线性回归的知识,这是数据挖掘里非常重要的一部分知识。当然,鉴于大家都学过,本篇就不再赘述。

一. 数据集介绍

diabetes dataset数据集

这是一个糖尿病的数据集,主要包括442行数据,10个属性值,分别是:Age(年龄)、性别(Sex)、Body mass index(体质指数)、Average Blood Pressure(平均血压)、S1~S6一年后疾病级数指标。Target为一年后患疾病的定量指标。

输出如下所示:

二、LinearRegression使用方法

LinearRegression模型在Sklearn.linear_model下,它主要是通过fit(x,y)的方法来训练模型,其中x为数据的属性,y为所属类型。

sklearn中引用回归模型的代码如下:

输出的函数原型如下所示:

fit(x, y): 训练。分析模型参数,填充数据集。其中x为特征,y位标记或类属性。

predict(): 预测。它通过fit()算出的模型参数构成的模型,对解释变量进行预测其类属性。预测方法将返回预测值y_pred。

引用搬砖小工053"大神的例子:

运行结果如下所示,首先输出数据集,同时调用sklearn包中的LinearRegression()回归函数,fit(X, Y)载入数据集进行训练,然后通过predict()预测数据12尺寸的匹萨价格,最后定义X2数组,预测它的价格。

输出的图形如下所示:

线性模型的回归系数W会保存在他的coef_方法中,截距保存在intercept_中。score(X,y,sample_weight=None) 评分函数,返回一个小于1的得分,可能会小于0。

三、线性回归判断糖尿病

1.Diabetes数据集(糖尿病数据集)

糖尿病数据集包含442个患者的10个生理特征(年龄,性别、体重、血压)和一年以后疾病级数指标。

然后载入数据,同时将diabetes糖尿病数据集分为测试数据和训练数据,其中测试数据为最后20行,训练数据从0到-20行(不包含最后20行),即diabetes.data[:-20]。

输出结果如下所示,可以看到442个数据划分为422行进行训练回归模型,20行数据用于预测。输出的diabetes_x_test共20行数据,每行仅一个特征。

2.完整代码

改代码的任务是从生理特征预测疾病级数,但仅获取了一维特征,即一元线性回归。【线性回归】的最简单形式给数据集拟合一个线性模型,主要是通过调整一系列的参以使得模型的残差平方和尽量小。

线性模型:y = βX+b

X:数据 y:目标变量 β:回归系数 b:观测噪声(bias,偏差)

运行结果如下所示,包括系数、残差平方和、方差分数。

绘制图形如下所示,每个点表示真实的值,而直线表示预测的结果,比较接近吧。

同时绘制图形时,想去掉坐标具体的值,可增加如下代码:

四、优化代码

下面是优化后的代码,增加了斜率、 截距的计算,同时增加了点图到线性方程的距离,保存图片设置像素。

运行结果如下所示:

绘制图形如下所示:

本文分享自微信公众号 - Python爬虫数据分析挖掘(zyzx3344)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-09-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 网站数据挖掘--从零开始建立数据分析师个人成长体系

    1、了解数据采集的意义在于真正了解数据的原始面貌,包括数据产生的时间、条件、格式、内容、长度、限制条件等。同时,对数据采集逻辑的认识增加了数据分析师对数据的理解...

    孤独的明月
  • 30行爬虫代码实现中英互译

    ),加上看英文论文难免少不了要翻译,所以就用python爬虫实现中英翻译的小程序,于是今天就记录一下这个过程,同时也希望分享给粉丝们能够学习,谢谢。

    孤独的明月
  • python-利用python写一个购物小程序

    孤独的明月
  • Python数据挖掘 | 实战案例之预测糖尿病

    豌豆贴心提醒,本文阅读时间7分钟 今天给大家讲解一个实战案例:如何根据现有数据预测糖尿病。在这个案例开始之前,希望大家回忆一下大学里讲过的线性回归的知识,...

    小小科
  • 通过单细胞RNA序列揭示乳腺癌的功能异质性

    我们都知道单细胞转录组测序的关注点一直是 (1)异质性; (2)发育; (3)新亚型

    生信技能树jimmy
  • 如何通过“重用”提高原型设计的工作效率

    随着信息时代的发展,各种类型的软件、app、网页井喷似的涌现。每天新上线的产品不计其数。互联网产品飞速的迭代和更新不仅仅对程序员程序施加了很大的压力,对设计师...

    奔跑的小鹿
  • 高频错误:ORA-01555深入剖析

    黄玮(Fuyuncat) 资深Oracle DBA,个人网站www.HelloDBA.com,致力于数据库底层技术的研究,其作品获得广大同行的高度评价. ORA...

    数据和云
  • WebGL2系列之引言

    时光荏苒岁月如梭,不知不觉间,青丝变白发,哦不是,应该是WebGL已经发展到了2.0阶段:WebGL2,WebGL2相比WebGL增加了很多新的特性,这些新的特...

    用户3158888
  • 独家 | 如何改善你的训练数据集?(附案例)

    这张幻灯片是Andrej Karpathy 在Train AI 演讲的一部分,我很赞同它表达的观点。它充分体现了深度学习在研究和应用上的差异。学术论文几乎全部集...

    数据派THU
  • 深度 | 生产级深度学习的开发经验分享:数据集的构建和提升是关键

    本文从生产层面强调了深度学习项目开发中需要更加重视数据集的构建,并以作者本人的亲身开发经验为例子,分享了几个简单实用的建议,涉及了数据集特性、迁移学习、指标以及...

    机器之心

扫码关注云+社区

领取腾讯云代金券