您好,欢迎来到尚车旅游网。
搜索
您的当前位置:首页WEKA数据挖掘在糖尿病数据中的应用研究

WEKA数据挖掘在糖尿病数据中的应用研究

来源:尚车旅游网
信息技术 2010年(第39卷)第5期 WEKA数据挖掘在糖尿病数据中的应用研究牢 张瑞 ,付松波 (1.兰州商学院信息工程学院,甘肃兰州730020;2.兰州大学第一医院,甘肃兰州730000) 摘要:传统研究方式线性还原式存在着相当大的局限性。如何利用生物信息学的思想来发现规律对糖尿病的基础研究具 有实际意义。本论述通过全面分析利用开源WEKA数据挖掘软件的自带和二次开发的算法,从大量的糖尿病数据中学习2 型糖尿病的发病规律的知识,挖掘出需要的数据和规则,帮助构造糖尿病的分类和预测系统。 关键字:II型糖尿病;数据挖掘;WEKA软件 随着社会经济的进步与发展,威胁人类健康的疾 病谱正在变化。慢性非传染性疾病对国民、尤其是老 掘技术包括关联规则挖掘、分类模型挖掘、特征分析 和趋势分析预测等,它综合利用统计学、机器学习和 年人群的健康的威胁越来越大,最为明显的是2型糖 尿病在全球范围内的几近流行的上升趋势。糖尿病是 由于胰岛素的相对或绝对缺乏以及存在不同程度的 紊乱的综合征。80年代初,我国糖尿病的患病率为 人工智能的计算、分析和推理方法,将数据转化为知 识。应用于2型糖尿病发病规律的数据挖掘主要步骤 包括有数据选择、数据预处理、数据转换、数据挖掘和 胰岛素抵抗而导致碳水化合物、脂肪以及蛋白质代谢 数据分析。 o_67%,而1996年却上升到3.21%,在短短几年的时 间里上升了近5倍。了解这一疾病发生发展的规律, 针对重要途径、重点人群入手,才能达到理想效果。探 讨2型糖尿病发病规律是控制其发生的重要、基础的 一2 Weka数据挖掘平台应用 怀卡托智能分析环境Weka是一个基于iava 的,用于数据挖掘和知识发现的开源项目,经过l2 年的发展历程Weka已发展为现今最完备的数据挖 掘工具之一,被公认是数据挖掘开源项目中最著名 步 _ l1 数据挖掘与生物信息学  }的一个。和其他数据挖掘工具的艰深复杂不同,使用 weka软件的技术门槛很低,一般医疗工作者可以充 生物信息学产生于大家面对巨大而复杂的数据, 运用计算机管理数据、控制误差、加速分析的过程中。 它以核酸、蛋白质等生物大分子数据库及其相关的图 书、文献、资料为主要对象,以数学、信息学、计算机科 分利用软件的强大功能来实现医学信息的数据挖掘 工作。 在WEKA平台上进行数据挖掘的过程一般是数据 准备先输入测试数据集,再对数据进行预处理,然后再 建立模型将处理完的数据集导人一种学习方案或模型 学为主要手段,以计算机硬件、软件和计算机网络为 主要工具,对浩如烟海的原始数据和原始资料进行存 储、管理、注释、加工,使之成为具有明确生物意义的 生物信息。数据挖掘作为生物信息学的一个主要技 术,我们可以将挖掘算法引入2型糖尿病的发病规律 研究中。它能从巨大的糖尿病数据中挖掘出我们需要 中来预测未知的实例,也许会产生多种学习方案或模 型,那么就有必要进行模式评估,找出最佳性能的学习 方案。本文所用实验数据来源于2008年2月至2009 年12月兰大附属医院内分泌科就诊1362人的健康调 查,从中筛选出1 149条有效数据。用标准问卷采集个 人资料,包括体重、血糖、血脂(胆固醇、甘油三脂、低密 度脂蛋白、高密度脂蛋白)。糖尿病诊断标准为空腹血 糖>7.0mmol/L。 的数据和规则。由于数据挖掘可以从大规模数据中自 动进行规则的提取,将数据挖掘应用于2型糖尿病发 病规律的研究,一方面可以对大批量的糖尿病数据进 行处理,找出其发病规则,另一方面也可以仅从实际 经过预处理过的数据见表1所示,这也是数据挖 的糖尿病数据中获取实用规则,这将更有效。数据挖 基金项目:兰州商学院2010年度科研项目资助 掘算法的输入数据。 2010年(第39卷)第5期 "tg- 写乞技术 表1训练数据集 2.1挖掘中的分类 WEKA的第一个功能选择项是分类(Classiifca— tion),分类方法就是利用预先给定的类别集、一系列属 性和一个“训练集”来自动预测其它未分类的数据类 型,分类可以找出一组能够描述数据集合典型特征的 模型(或函数),就可以识别未知数据的归属或者类别。 在糖尿病及相关数据集中,选取是否为糖尿病作为目 标属性,其它屙陛作为条件屙眭。WEKA软件囊括的分 类算法最多,共包含C4.5算法、ID3算法、J4.8算法等 将近50种算法,但是目前来说还不存在一种通用的分 类方法,决策树以其计算量小、生成的规则易于理解、 能够处理连续型和离散型属性,以及能够明确的给出 最具决策力的属性等优点,得到了最为广泛的重视和 应用。决策树的构建过程一般分为两个阶段:第一阶段 是生成决策树,主要是利用训练样本数据集,产生决策 树做为最终输出结果。第二阶段是对决策树剪枝,主要 利用训练数据生成的测试函数,对决策树进行剪枝处 理,并建立分类或决策规则,利用这些规则数据进行分 类 本次试验从预测的准确率(模型正确地预测数据类 标号的能力),分类速度(产生和使用模型的计算花费) 和可伸缩性(对于数据量很大的数据集,有效构造模型 的能力)三方面出发,对数据集采用多种决策树算法进 行测试。最终采用C4.5算法能够处理描述性詹I生是连 续型的情况,这种算法利用比较各个描述性属性的信 息增益值(infonnation gain值)的大小,来选择Gain值 最大的属性进行分类。WEKA中的决策分类树是根据 C4.5算法自动提取,无人为干预,在决策树中还给出了 GLU=7.225的临界性数值。 2。2挖掘中的聚类 WEKA的第二个功能选择项是聚类(Classiifca— tion),就是将数据对象分组为多个类或簇(cluster),在 同一个簇中的对象之问具有较高的相似度,而不同簇 中的对象差别较大。通过聚类,人们能够识别密集的和 稀疏的区域,发现全局的分布模式,以及数据属性之间 的有趣的相互关系。糖尿病识别聚类算法面向的是未 分组数据,是一个将数据集划分为若干组或类的过程, 它使用自动方式将数据放入各组中,同一组内的数据 对象具有较高的相似度,机器发现数据之问的相似性 的过程是一个机器学习的过程。对上述的糖尿病实例 数据,我们选择K均值聚类分析方法进行聚类分析,可 以看出所有的数据被分解为两类,患病的占29%,不患 病的占71%。 2.3挖掘中的关联规则 WEKA的第三个功能选择项是关联规则挖掘就是 从大量的数据中挖掘出有价值描述数据项之间相互联 系的有关知识。关联规则是数据挖掘的一种主要形式, 而且它也是与大多数人想象的数据挖掘过程最为相似 的一种数据挖掘形式。关联规则挖掘工具对个人糖尿 病的信息表进行挖掘,得到一系列的关联规则。通过关 联规则的挖掘,可以发现患有糖尿病的患者具有什么 特征,无患病的具有什么特征,这样医院就可以有针对 性地对糖尿病疑似进行判断,从而减少风险,提高判断 精确率。本文利用Weka数据挖掘中的HopSpot算法应 用于医院的糖尿病检查中,取得很好的效果。根据挖掘 的结果,医院可以对不同的患者,采取不同的治疗措 施。如何能更快、更有效的产生频繁项目集是进一步研 究的重点。 3结束语 本论述将Weka数据挖掘软件应用到大量2型糖 尿病实测数据的处理之中,得出了多条有效规则。通过 测试。对于2型糖尿病患病和未患病的平均正确识别率 为92.5%,其得出的规则同医学上的认识基本一致。文 章对探讨2型糖尿病的发病规律提供了一种新的方法 和手段。但目前普遍认为不存在某种方法能适合各种 特点的数据,只有根据数据的特点来选择合适的算法, WEKA挖掘软件系统的功能比较完善,而且使用的技术 门槛比较低,同时它包含了常用的数据挖掘算法和方 法。同时,作为数据挖掘工具,WEKA还存在着一些问 题,比如它所集成的大部分算法对于大数据集的挖掘效 率低,但这些问题都可以在实际应用中逐步解决。 参考文献 [1]Pang—NingTan,MichaelSteinbach,VipinKumar.Introduction— toDataMinin g[M].北京:Posts&TeLecomPress,2007. [2]Jiawei Han.数据挖掘:概念与技术[M].北京:机械¨l:业出 版礼,2006 27 信息技术 2010年(第39卷)第5期 者之间是弱耦合关系;因为接口中都是抽象方法所以 接口是一个解耦合工具。当多个父接口(直接,间接)指 向接口同一个实现类的对象时,则各个接口引用能调 用的方法是该接口引用中的方法。实现了子接口的类 也可以调用间接父接口的方法,因为一个类实现了子 接口,也就是实现了父接口。 越大,生命周期越长,接口使得软件系统的灵活性和可 扩展性,可插人性方面得到保证。在理想的情况下,一 个具体的Java类应当只实现Java接口和抽象Java类 中声明的方法,而不应当给多余方法。Java接口(以及 抽象类)一般用来作为一个类型的等级结构的起点。 接口的特性:接口也是一个抽象类;接口也可以继 承;在一个接口文件中:只能有一个公开的接口,可以写 多个接口,编译生成的.class文件名与接口名一样;继承 接口后的子接口是抽象类,无需实现;接口之间可以实 现多继承的;接口不能new对象,但可以声明引用;接口 可以被一个类继承,类继承接口时用implements;一个 类在继承一个类的同时,还可以实现多个接口。 5结束语 抽象类(abstract class)和接口(interfaces)是Java 语言中的两种定义抽象类的方式,它们之间有很大的 相似性。但是对于它们的选择却又往往反映出对于问 题领域中的概念本质的理解、对于设计意图的反映是 否正确、合理,因为它们表现了概念间的不同的关系。 abstract class在Java语言中表示的是一种继承关 4抽象类(abstract class)和接口(interfaces) 从以上的说明中我们可以看出抽象类(abstract class)和接1:3(interfaces)在Java面向对象(object)程序 系,一个类只能使用一次继承关系。但是,一个类却可 以实现多个interface。在abstract class中可以有自己的 数据成员,也可以有非abstarct的成员方法,而在inter— face中,只能够有静态的不能被修改的数据成员(也就 是必须是static ifnal的,不过在interface中一般不定义 设计语言中是支持类定义的两种不同的机制。正是由 于这两种不同机制的存在,使得Java具有强大的功能。 抽象类(abstract class)和接口(interfaces)之间在对于抽 象类定义的支持方面具有很大的相似性,甚至可以相 互替换。而两者之间在联系的同时也有很大的区别。接 口的作用是实现多继承。接口继承和实现继承的规则 不同,一个类只有一个直接父类,但可以实现多个接 数据成员),所有的成员方法都是abstract的。abstract class和interface所反映出的设计理念不同。其实ah— stract class表示的是”is—a”关系,interface表示的是 ”like—a”关系。实现抽象类和接口的类必须实现其中的 所有方法。抽象类中可以有非抽象方法。接口中则不能 有实现方法。接口中定义的变量默认是public static 口。Java接口本身没有任何实现,因为Java接口不涉及 表象,而只描述public行为,所以Java接口比Java抽象 类更抽象化。Java接口的方法只能是抽象的和公开的, Java接口不能有构造器,Java接口可以有public,静态 的和final属性。接口把方法的特征和方法的实现分割 ifnal型,且必须给其初值,所以实现类中不能重新定 义,也不能改变其值。抽象类中的变量默认是friendly 型,其值可以在子类中重新定义,也可以重新赋值。接 口中的方法默认都是public,abstract类型的。 参考文献 开来。这种分割体现在接口常常代表一个角色,它包装 与该角色相关的操作和属性,而实现这个接口的类便 是扮演这个角色的演员。一个角色由不同的演员来演, 而不同的演员之间除了扮演一个共同的角色之外,并 不要求其它的共同之处。两个类中的两个类似的功能, l 1 j Patrick Chan.The Java Developers Almanac 1.4.New YDrk:Ad— dison Wesley,2002. [2]武传海(译).Java编程基础、应用与实例[M].北京:人民邮 电出版社,2005.10. 调用他们的类动态的决定一种实现,那他们提供一个 抽象父类,子类分别实现父类所定义的方法。接口提供 了关联以及方法调用上的可插人性,软件系统的规模 — “[3]刘万军,等.Java程序设计实践教程[M].北京:清华大学出 版社.2006.9. +”+”+一+-+ 十 十”-4--+ 一-+-一+-+・・+・・+…-4-+一+”十一+”+”+-+--4--+一+一+一+-+-+-+-+一-+-一+-+--+-一-+-一—卜一—卜一—・卜-+一—-卜・ (上接27页) [3]Ian H.Witten,Eibe Frank. 数据挖掘 实用机器学习技术 [M].北京:机械 业出版社,2006. [5]Han Jia—wei,KamberM.数据挖掘:概念与技术[M].北京:机械 工业出版社,2001. [6]罗森林,成华,张铁梅,等.多维2型糖尿病数据预处理技术 [J].计算机工程,2004,30(17):178—181. [4]王恒.2型糖尿病发病危险因素与血糖变化关系的研究[D]. 北京:IL京理工大学,2006. [7]成华擞据挖掘在糖尿病数据中的应用研究[D].北京:中国 科学院软件研究所,2003. 22 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- sceh.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务