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

一. 数据集介绍

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爬虫数据分析挖掘,回复【开源源码】免费获取更多开源项目源码

公众号每日更新python知识和【免费】工具

python预测糖尿病_Python预测糖尿病相关推荐

  1. python预测发展趋势_Python预测算法哪家强?权游龙妈是生还是凉凉?

    这个世界上只有两种人,看「权游」(权利的游戏)的,和不看「权游」的. 你们心心念的权游终于迎来了最终季,狼家史塔克的家训「Winter is coming」终终终终终于是应验了,人类与异鬼的战争一触即 ...

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

    全文下载链接:http://tecdat.cn/?p=23848 在本文中,决策树是对例子进行分类的一种简单表示.它是一种有监督的机器学习技术,数据根据某个参数被连续分割.决策树分析可以帮助解决分类和 ...

  3. python预测糖尿病_使用机器学习的算法预测皮马印第安人糖尿病

    皮马印第安人糖尿病预测 pima_diabetes_analysis_and_prediction 文件夹: data --> 存储原始样本 和 数据清洗后的样本 data_analysis_a ...

  4. python预测糖尿病_实战 | 糖尿病预测项目

    项目介绍 这次我们要学习的项目是糖尿病的预测,数据保存在diabetes.csv文件中.数据一共有8个特征和1个标签: Pregnancies:怀孕次数Glucose:葡萄糖测试值BloodPress ...

  5. uci数据集中的缺失数据_从uci早期糖尿病风险预测数据集中创建分类器

    uci数据集中的缺失数据 To begin we must first go and download the dataset from the UCI dataset repository. The ...

  6. Keras之MLP:利用MLP【Input(8)→(12)(relu)→O(sigmoid+二元交叉)】模型实现预测新数据(利用糖尿病数据集的八个特征实现二分类预测

    Keras之MLP:利用MLP[Input(8)→(12)(relu)→O(sigmoid+二元交叉)]模型实现预测新数据(利用糖尿病数据集的八个特征实现二分类预测 目录 输出结果 实现代码 输出结果 ...

  7. Keras之DNN:利用DNN【Input(8)→(12+8)(relu)→O(sigmoid)】模型实现预测新数据(利用糖尿病数据集的八个特征进行二分类预测

    Keras之DNN:利用DNN[Input(8)→(12+8)(relu)→O(sigmoid)]模型实现预测新数据(利用糖尿病数据集的八个特征进行二分类预测 目录 输出结果 设计思路 实现代码 输出 ...

  8. 【阿旭机器学习实战】【6】普通线性线性回归原理及糖尿病进展预测实战

    [阿旭机器学习实战]系列文章主要介绍机器学习的各种算法模型及其实战案例,欢迎点赞,关注共同学习交流. 本文对机器学习中的线性回归模型原理进行了简单介绍,并且通过实战案例糖尿病进展预测,介绍了其基本使用 ...

  9. python方差分析模型的预测结果中endog表示_python时间序列分析

    题记:毕业一年多天天coding,好久没写paper了.在这动荡的日子里,也希望写点东西让自己静一静.恰好前段时间用python做了一点时间序列方面的东西,有一丁点心得体会想和大家分享下.在此也要特别 ...

最新文章

  1. Python_note3 基本数据类型+time库使用
  2. 简介——云计算,大数据,人工智能
  3. python123程序设计题说句心里话_用c++写一个简单的计算器程序
  4. 概念模型让产品更简单
  5. Intel Realsense D435 开始运行启动时报错:RuntimeError: Couldn't resolve requests 原因及解决办法
  6. Linux下载源码编译出错,linux下fortran中编译代码时“undefined reference to `_gfortran_st_”错误...
  7. IfElseActivity
  8. poj 2503 Trie树
  9. Spring中@Autowired和@Resource的区别
  10. Python计算机视觉编程pdf
  11. 解决在eclipse里没有“Dynamic Web Project“这个选项的问题
  12. python 数据分析论文_用Python数据处理分析入门必备系列文章:基本类型与运算...
  13. Openwrt 摄像头使用
  14. 换行符CR,LF和CRLF
  15. php怎么在图片上加文字居中,php GD库为图片添加文字且自动换行,水平居中
  16. 我的JAVA求学之路
  17. 10 种为React应用程序设计样式的方法
  18. 靖哥哥教你一步一步安装redis监控redis-stat-超详细
  19. stm32cubeide烧写程序_STM32Cube工具,覆盖开发全过程(一)
  20. 打开viewer.jnlp文件

热门文章

  1. 【建议收藏】18个适合程序员的在线学习网站,每个我都帮您试过了!
  2. 【RW007系列综合实战2】使用RW007模块连接小米蓝牙温湿度计2代
  3. 菜鸟麒麟10操作系统达梦v8 命令行祥细步骤
  4. java 构造器 构造方法_Java构造器(构造方法/constructor)
  5. C#通过OPC协议连接PLC
  6. 平台币的新周期 |链捕手
  7. 通达OA文件上传+文件包含导致远程代码执行漏洞复现
  8. 80后的程序员,你们存了多少钱,买房还差多少?
  9. XXE漏洞详解 一文了解XXE漏洞
  10. 那些好用真香的工具网站