正在阅读《第三节 糖尿病预测》
第(1/2)页


利用上一节讲述的理论,本节将使用朴素贝叶斯实现糖尿病患病预测。本节使用的数据来源于美国国家糖尿病和消化肾脏疾病研究所,原始数据可从UCI数据库获取。这是机器学习领域一个被广泛研究的标准数据集,一般认为,关于这个数据集的预测算法如果能达到70%~76%的预测准确率就是一个较好的预测算法。本教材所用数据已经根据需要进行过适当地处理,可从教材配套的资源平台下载。

首先从本教材的资源平台下载该数据文件,并以文件名pima-.csv保存为csv文件。这是一个关于皮马族糖尿病患者的医疗检测数据(表4-1)。皮马族是美国印第安原住民的一个种族,由于基因缺陷,这个种族的糖尿病患病率很高,数据集描述了768个皮马印第安糖尿病患者的医疗观测细节,所有患者都是21岁以上(含21岁)的女性,所有的特征属性取值都是数值型,且各属性取值的度量单位是不同的。

表4-1

双击打开数据文件可以看到这是一个包含9个数据项的表格。其中Pregnancies代表怀孕次数;Glucose代表口服葡萄糖耐量试验中的葡萄糖浓度;BloodPressure代表血压;SkinThickness代表皮脂厚度;Insulin代表血清胰岛素含量;BMI代表体重指数;DiabetesPedigreeFunction代表糖尿病系统功能;Age代表年龄;Outcome代表5年内是否患有糖尿病,1表示患病,0表示未患病。因此这可以对应到一个分类问题,输入数据是前8项检测数据,输出的分类结果是0或者1,表示该人未患病或者患病。

首先导入三个需要用到的Python库。csv是一种以逗号分隔存储数据的文件格式,csv模块可以很好地对这种格式的数据进行读取、存储和处理。random模块用于随机分割数据集,产生训练数据和测试数据。math模块用于计算数据的均值、标准差等数学结果时可以直接调用相应的计算函数。

In[1]:importcsv,random,math

这里提到了训练数据和测试数据的概念,在上一章对决策树模型进行评价时也提到过这些概念,下面对它们做一个简单的说明。对于分类算法来说,训练完成后需要对训练结果的性能进行评价,如估计模型分类的准确率。为了估计准确率,需要在已知分类结果的数据集上对分类器进行测试,通过对比分类器给出的分类结果与真实的分类结果,可以方便地对准确率进行评估。所以在取得人工标注的数据集后,一种常用的处理方式是对其按一定的比例进行划分,其中一部分用来训练模型,叫作训练数据;另一部分用来进行模型的测试,叫作测试数据。

定义读取数据文件的函数load_csv_file。把数据文件中的每一行封装到一个list中,然后对数据进行处理,把数据转换成浮点型数据并返回data_set。

In[2]:defload_csv_file(filename):

withopen(filename)asf:

lines=(f)

data_set=list(lines)

foriinrange(len(data_set)):

data_set[i]=[float(x)forxindata_set[i]]

returndata_set

把数据集分割成训练数据和测试数据,分割比例通过参数split_ratio确定,一般按“训练数据∶测试数据=2∶1”来分割。这里使用了random库进行随机划分,以保证用来训练和测试的数据尽量服从同样的分布。

In[3]:defsplit_data_set(data_set,split_ratio):

train_size=int(len(data_set)*split_ratio)

train_set=[]

相关小说

快穿之我是黑心莲 都市 / 完结
快穿之我是黑心莲
余香肉丝超好吃
苏瑜意外死亡后,遇到了一个智障系统。系统A009:我们的任务是,为炮灰逆袭,还她们一个公道!刚埋了天道之子的苏瑜认真点了点头,决定再加一锹土,踩实了......
82.2万字 6 小时前
纯情帝少:早安,亿万萌妻 都市 / 完结
纯情帝少:早安,亿万萌妻
灵小火
小可怜苏绵绵代姐相亲,结果一不小心相中了一个冷酷大叔. "咩咩,我爸爸不是坏人,他只是长得凶但其实他很温柔的." 对了,大叔还有个五岁的臭屁儿纸. "咩咩,如果你陪我去看喜洋洋大电影的话,晚上我就陪你睡觉,这样爸爸就不能压你了." 小屁孩,你懂的太多了! "咩咩是我的人,谁欺负她的话,我让我爸爸去揍谁!" "咩咩,你不喜欢我爸爸的话,要不等我长大了娶你好不好?" ……她可不可以不要老爸只要儿子哒?
102.21万字 6 小时前
倾世眷宠之皇叔别乱来 都市 / 完结
倾世眷宠之皇叔别乱来
婉柔T
上一世,一场英雄救美,让她一颗芳心错付了狼心狗肺之人。重活一世,她才想起,她是尚书府嫡出大小姐,京城贵女,那些曾经将她踩在脚底下的人,且看她如何翻手为云覆手为雨……“颜儿,本王记得曾经的事情!”她为复仇而来,他却为她而来……
36.29万字 6 小时前
分手后,我成了渣男小叔白月光 都市 / 完结
分手后,我成了渣男小叔白月光
纯爱娜娜子
相恋男友突然背叛,买醉的她与“鸭子”春风一度沈轻欢:算了算了,她又不是养不起,包养了这“鸭子”吧转头才发现,这男人不仅是季家少爷,更是……昔日“前科”不得不对她低头,做小辈礼沈轻欢:今个儿我真啊真开心
36.53万字 5 小时前
总裁大人,别贪爱! 都市 / 完结
总裁大人,别贪爱!
地瓜党
"小东西,你叫错人了……"他附耳低喃,却给她一夜疼痛.她被绑架,醒来莫名失了清白,为了家族利益,她破罐破摔,嫁给了空降而来的神秘总裁……"三个月内,怀上我的孩子."这是他对这场婚姻的唯一要求.
53.72万字 5 小时前
直播太子拯救计划 都市 / 完结
直播太子拯救计划
苏九念
标准白富美罗衣莫名其妙绑定了一个直播app后穿越了,成了裴国废太子的正妻。一睁眼就要千里赴云州,一路上艰难险阻也就算了,废太子对她还没有半点好脸色。最要命的是,要想回家就要完成直播任务:请帮助废太子裴清酌夺得皇位……罗衣:“这位子咱们说什么也得去搏一搏!...
43.14万字 5 小时前