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

豌豆贴心提醒,本文阅读时间7分钟

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

一. 数据集介绍

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,偏差)

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

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

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

四、优化代码

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

运行结果如下所示:

绘制图形如下所示:

原文发布于微信公众号 - 马哥Linux运维(magedu-Linux)

原文发表时间:2017-04-07

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏企鹅号快讯

深度离散哈希算法,可用于图像检索!

-免费加入AI技术专家社群>> 智能感知与计算研究中心李琦博士提出了一种深度离散哈希算法(discrete hashing algorithm),该算法认为学习...

7496
来自专栏YoungGy

信息论中的各种熵

本文简单介绍了信息论中的各种熵,包括自信息、熵;联合熵、条件熵、互信息;KL散度、交叉熵。并在最后用信息论中的交叉熵推导了逻辑回归,得到了和最大似然法相同的结果...

2355
来自专栏人工智能头条

推荐收藏 | AI术语中英文对照

1391
来自专栏深度学习自然语言处理

近期有哪些值得读的QA论文?

■ 论文 | Making Neural QA as Simple as Possible but not Simpler

1793
来自专栏机器之心

NAACL2018 | 杰出论文:RNN作为识别器,判定加权语言一致性

选自arXiv 机器之心编译 参与:Pedro、刘晓坤 4月11日,NAACL 2018公布了四篇杰出论文,分别关注于词表征、语句映射、文本生成和RNN。机器之...

2815
来自专栏绿巨人专栏

强化学习读书笔记 - 10 - on-policy控制的近似方法

3745
来自专栏目标检测和深度学习

你不得不了解的8种神经网络结构!

机器学习已经在各个行业得到了大规模的广泛应用,并为提升业务流程的效率、提高生产率做出了极大的贡献。目前机器学习主要在以下方面应用: 模式识别:实际场景中的目标、...

4128
来自专栏大数据挖掘DT机器学习

【机器学习】迭代决策树GBRT

一、决策树模型组合 单决策树C4.5由于功能太简单,并且非常容易出现过拟合的现象,于是引申出了许多变种决策树,就是将单决策树进行模型组合,形成多决策树...

3904
来自专栏目标检测和深度学习

Hinton向量学院推出神经ODE:超越ResNet 4大性能优势

【导读】Hinton创建的向量学院的研究者提出了一类新的神经网络模型,神经常微分方程(Neural ODE),将神经网络与常微分方程结合在一起,用ODE来做预测...

2023
来自专栏机器之心

入门 | 从结构到性能,一文概述XGBoost、Light GBM和CatBoost的同与不同

选自Medium 机器之心编译 参与:刘天赐、黄小天 尽管近年来神经网络复兴并大为流行,但是 boosting 算法在训练样本量有限、所需训练时间较短、缺乏调参...

4825

扫码关注云+社区

领取腾讯云代金券