Presentation is loading. Please wait.

Presentation is loading. Please wait.

生 物 信 息 学 Bioinformatics 巩晶 癌症研究中心 山东大学 医学院 2015.11.04.

Similar presentations


Presentation on theme: "生 物 信 息 学 Bioinformatics 巩晶 癌症研究中心 山东大学 医学院 2015.11.04."— Presentation transcript:

1 生 物 信 息 学 Bioinformatics 巩晶 癌症研究中心 山东大学 医学院

2 注意:每人最多投三票,多投无效! #我的最美蛋白质#已进入投票环节。海选出45个参赛作品。 请大家登陆课程中心,点击“待投票问卷”投票!
投票截止时间为2015年12月10日24:00,颁奖时间为2015年12月11日课上。

3 第七章 数据挖掘

4 7.1 什么是数据挖掘? (1)数据挖掘是从存放在数据集中的大量数据里挖掘出有趣知识的过程。
(2)数据挖掘,又称为数据库中知识发现(Knowledge Discovery in Databases)或知识发现,它是一个从大量数据中抽取挖掘出未知的、 有价值的模式或规律等知识的过程,它与数据库有着密切的联系。

5 7.1 什么是数据挖掘? 统计 机器学习 数据库系统 (1)数据挖掘是从存放在数据集中的大量数据里挖掘出有趣知识的过程。
(2)数据挖掘,又称为数据库中知识发现(Knowledge Discovery in Databases)或知识发现,它是一个从大量数据中抽取挖掘出未知的、 有价值的模式或规律等知识的过程,它与数据库有着密切的联系。 统计 机器学习 数据库系统

6 7.2 数据库系统 数据库,数据库管理系统,数据库系统 DB DBMS DBS

7 7.2 数据库系统 传统关系型数据库: 面对对象型数据库:(如XML-DB) 病人资料 <病人资料> <病人>
<编号>1</编号> <性别>女</性别> <年龄>42</年龄> <疾病>关节炎</疾病> </病人> <编号>2</编号> <性别>男</性别> <年龄>55</年龄> <疾病>癌症</疾病> </病人资料> 病人编号 性别 年龄 疾病 1 42 关节炎 2 55 癌症

8 7.2 数据库系统 传统关系型数据库 面对对象型数据库:(如XML-DB) 管理系统: 管理系统:
管理系统: 管理系统: Eg. MySQL Eg. eXist-DB SQL语言 XQuery语言 SELECT * FROM 病人资料 WHERE 疾病 = ‘癌症’ let $癌症病人 := doc(“病人资料.xml”)/病人资料/病人[疾病=‘癌症’] return $癌症病人

9 7.3 机器学习 机器学习(Machine Learning)理论主要是设计和分析一些让计算机可以自动“学习”的算法。机器学习算法是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法。 统计 机器学习 数据库系统 篮球 足球? 排球

10 7.3 机器学习 用向量描述物体 球(直径,重量,颜色,材质,纹路) :(70cm, 420g, 黑白,皮革,纹路1)
图片数据库 颜色柱状图 基因-数据库 表达水平

11 7.3 机器学习 是什么球? 机器学习的任务: 分类(Classification): 聚类(Clustering):
回归(Regression): ? ? ? 篮球 足球 排球 一堆球 球1 球2 球3

12 7.3 机器学习 球 重量 (x1) 直径 (x2) 材质 (x3) 价格 (y) 620g 70cm 9 750 630g 75cm 7
450 640g 8 600 625g 73cm 5 350 6 ? 机器学习的任务: 分类(Classification): 聚类(Clustering): 回归(Regression): y = 0 * x1 + 0 * x2 * x3 414

13 7.3 机器学习 机器学习的任务: 分类(Classification) 回归(Regression) 聚类(Clustering):
分类和回归需要训练组数据(training dataset)训练算法。 聚类不需要。 算法训练好后还需要测试组数据(test dataset)用来测试根据训练组数据训练出的算法的准确度。 测试组数据亦来源于训练组数据,为了有效评估算法的准确度,需要进行K次交叉检验。 Supervised Unsupervised

14 7.3 机器学习 K次交叉检验(K-fold cross validation)
将原始数据分成K组(一般是均分),将每组数据分别做一次测试集,其余的K-1组数据作为训练集,这样会得到K个算法模型,用这K个模型最终的测试集的准确率的平均数作为此K次交叉检验下该算法的性能指标。K一般大于等于2,实际操作时一般从3开始取,只有在原始数据集数据量小的时候才会尝试取2。 K次交叉检验可以有效的避免过学习以及欠学习状态的发生,最后得到的结果也比较具有说服性。 4-fold cross validation:

15 7.3 机器学习 几种常见算法: 贝叶斯 最近邻居 决策树 支持向量机 人工神经网络 遗传算法 。。。。。。

16 7.3 机器学习 司机ID 年龄 车型 风险 1 23 家庭车 高 2 17 跑车 3 43 4 68 低 5 32 大卡车 几种常见算法:
贝叶斯 最近邻居 决策树 支持向量机 人工神经网络 遗传算法 。。。。。。

17 7.3 机器学习 几种常见算法: 贝叶斯 最近邻居 决策树 支持向量机 人工神经网络 遗传算法 。。。。。。

18 7.3 机器学习 几种常见算法: 贝叶斯 最近邻居 决策树 支持向量机
训练 几种常见算法: 贝叶斯 最近邻居 决策树 支持向量机 人工神经网络 遗传算法 。。。。。。 赫布定律(Hebb's rule)--- 描述了突触可塑性的基本原理,即突触前神经元向突触后神经元的持续重复的刺激可以导致突触传递效能的增加。

19 7.4 WEKA WEKA的全名是怀卡托智能分析环境(Waikato Environment for Knowledge Analysis)。同时weka也是新西兰的一种鸟名。WEKA的主要开发者来自新西兰怀卡托大学(University of Waikato)。 作为一个大众化的数据挖掘工作平台(完全免费),WEKA集成了大量能承担数据挖掘任务的机器学习算法。

20 7.4 WEKA WEKA存储数据的格式是ARFF(Attribute-Relation File Format)文件,这是一种ASCII文本文件。下图右边的是WEKA自带的“weather.numeric.arff” 文件,在WEKA安装目录的“data”子 目录下可以找到。他也可以以左边二 维表格的形式表示出来。

21 7.4.1 WEKA中的术语 WEKA中的术语 表格里的一个横行称作一个实例(Instance),相当于统计学中的一个样本,或者数据库中的一条记录。 竖行称作一个属性(Attrbute),相当于统计学中的一个变量,或者数据库中的一个字段。 这样一个表格,或者叫数据集,在WEKA看来,呈现了属性之间的一种关系(Relation)。 这个例子中一共有14个实例,5个属性,关系的名称为“weather”。

22 7.4.1 WEKA中的术语 注意:识别ARFF文件的重要依据是分行,因此不能在这种文件里随意的断行。空行(或全是空格的行)将被忽略。
以“%”开始的行是注释,WEKA将忽略这些行。如果你看到的某个arff文件中多了或少了些“%”开始的行,是没有影响的。除去注释后,整个ARFF文件可以分为两个部分: 第一部分给出了头信息(Head information),包括了对关系的声明和对属性的声明。 第二部分给出了数据信息(Data

23 7.4.1 WEKA中的术语 注意:识别ARFF文件的重要依据是分行,因此不能在这种文件里随意的断行。空行(或全是空格的行)将被忽略。
关系声明 关系名称在ARFF文件的第一个有效行来定义,格式为 <relation-name>是一个字符串。如果这个字符串包含空格,它必须加上引号(指英文标点的单引号或双引号)。 @relation <relation-name>

24 7.4.1 WEKA中的术语 属性声明 这些声明语句的顺序很重要。首先它表明了该项属性在数据部分的位置。例如,“humidity”是第三个被声明的属性,这说明数据部分那些被逗号分开的列中,第三列数据 是相应的“humidity”值。其次,最后一个声明的属性被称作class属性,在分类或回归任务中,它是默认的目标变量。 属性声明的格式为 其中<attribute-name>是必须以字母开头的字符串。和关系名称一样,如果这个字符串包含空格,它必须加上引号。 WEKA中的术语 @attribute <attribute-name> <type>

25 7.4.1 WEKA中的术语 WEKA中的术语 数据信息
value),用问号“?”表示,且这个问号不能省略。例如: @data sunny,85,85,FALSE,no ?,78,90,?,yes 字符串型属性和标称型属性的值是区分大小写的。若值中含有空格,必须被引号括起来。

26 7.4.2 WEKA的数据类型 WEKA支持的数据类型有四种 numeric 数值型
<nominal-specification> 标称型 string 字符串型 date [<date-format>] 日期和时间型 还可以使用两个类型“integer”和“real”,但是WEKA把它们都当做numeric看待。 注意“integer”,“real”,“numeric”, “date”,“string”这些关键字是区分大小写的,而“relation”,“attribute”和“data”则不区分大小写。

27 7.4.2 WEKA的数据类型 WEKA支持的数据类型有四种 numeric 数值型
<nominal-specification> 标称型(名称型,关键词型) string 字符串型 date [<date-format>] 日期和时间型 标称属性由<nominal-specification>列出一系列可能的类别名称并放在大括号中: {<nominal-name1>, <nominal-name2>, <nominal-name2>, … } outlook {sunny, overcast, rainy}

28 7.4.2 WEKA的数据类型 WEKA支持的数据类型有四种 numeric 数值型
<nominal-specification> 标称型 string 字符串型 date [<date-format>] 日期和时间型 字符串属性中可以包含任意的文本。这种类型的属性在文本挖掘中非常有用。 LCC string @data “Science–Soviet Union-History” Encycolpedias 数据值区分大小写,如有空格,需要用引号括起来。

29 7.4.2 WEKA的数据类型 WEKA支持的数据类型有四种 numeric 数值型
<nominal-specification> 标称型 string 字符串型 date [<date-format>] 日期和时间型 日期和时间属性统一用“date”类型表示,格式是: @attribute <name> date [<date-formate>] 其中<name>是这个属性的名称,<date-format>是一个字符串,用来规定怎样解析和显示日期或时间的格式。 timestamp date “yyyy-mm-dd hh:mm:ss” @data “ :47:09”

30 7.4.3 ARFF文件格式的转化 数据准备 CSV -> ARFF 把Excel里的数据转存到arff文件里。
Excel的XLS文件可以让多个二维表格放到不同的工作表(Sheet)中,我们只能把每个工作表存成不同的CSV文件。打开一个XLS文件并切换到需要转换的工作表,另存为CSV类型,点“确定”、“是”忽略提示即可完成操作。 再将CSV转换为ARFF办法有三种: 1. 命令行 运行WEKA的主程序,出现GUI后点击进入“Simple CLI”模块提供的命令行功能。在新窗口的最下方(上方是不能写字的)输入框写上 即可完成转换。 java weka.core.converters.CSVLoader filename.csv > filename.arff

31 7.4.3 ARFF文件格式的转化 数据准备 CSV -> ARFF
把Excel里的数据转存到arff文件里。再将CSV转换为ARFF办法有三种: 2. Arff Viewer 在WEKA中提供了一个“Arff Viewer”模块,我们可以用它打开一个CSV文件将进行浏览,然后另存为ARFF文件。

32 7.4.3 ARFF文件格式的转化 数据准备 CSV -> ARFF
把Excel里的数据转存到arff文件里。再将CSV转换为ARFF办法有三种: 3. Explorer 进入“Explorer”模块,从上方的按钮中打开CSV文件然后另存为ARFF文件亦可。

33 7.4.4 WEKA的使用 数据准备 Explorer界面
1 2 使用WEKA “Explorer”界面打开“weather.numeric. arff”文件。根据不同的功能可以把这个界面分成8个区域。 3 4 6 7 5 8

34 7.4.4 WEKA的使用 数据准备 Explorer界面 区域1的几个选项卡是用来切换不同的挖掘任务面板。
区域2是一些常用按钮。包括打开数据,保存及编辑功能。 区域3中“Choose”某个“Filter”,可以实现筛选数据或者对数据进行某种变换。数据预处理主要就利用它来实现。 区域4展示了数据集的一些基本情况。 区域5中列出了数据集的所有属性。“Remove”可以删除某些属性,删除后可利用区域2的“Undo”按钮找回。区域5上方的一排按钮是用来实现快速勾选的。 在区域5中选中某个属性,则在区域6中会出现关于这个属性的摘要。注意对于数值属性和分类属性,摘要的方式是不一样的。图中显示的是对标称属性“outlook”的摘要。

35 7.4.4 WEKA的使用 数据准备 Explorer界面
区域7是区域5中选中属性的直方图。若数据集的最后一个属性(我们说过这是分类或回归任务的默认目标变量)是分类变量(这里的“play”正好是),直方图中的每个长方形就会按照该变量的比例分成不同颜色的段。要想换个分段的依据,在区域7上方的下拉框中选个不同的分类属性就可以了。下拉框里选上“No Class”或者一个数值属性,则直方图会变为黑白。 区域8是状态栏,可以查看Log以判断是否有错。右边的weka鸟在动的话说明WEKA正在执行挖掘任务。右键点击状态栏还可以执行JAVA内存的垃圾回收。

36 7.4.4 WEKA的使用 数据准备 预处理 有些算法,只能处理所有的属性都是标称型的情况。这就需要对数值型的属性进行离散化。在这个数据集中有2个变量是数值型的,分别是“temperature”和“humidity”。 离散化这两个属性可以借助“Discretize”这个Filter来完成。在区域2中点“Choose”,出现一棵“Filter树”,逐级找到:weka – filters – unsupervised – attribute - Discretize。此时“Choose”旁边的文本框会显示该filter的各种参数。可点击该文本框以修改参数。 因只更改第2个和第3个属性(见区域5属性名左边的数字),故把attributeIndices右边改成“2,3”。计划把这两个属性分成3段,把“bins”改成“3”。其它参数不动。点“OK”回到“Explorer”界面,此时可见 “temperature”和“humidity”已经被离散化成标称型的属性。

37 7.4.4 WEKA的使用 数据准备 预处理 可手动替换自动产生的标识名。 离散处理后

38 7.4.4 WEKA的使用 数据准备 预处理 此外, 在weka – filters – unsupervised – attribute 里还有许多属性类型转换的filters,比如: NumericToNominal StringToNominal NominalToString …… 添加一个公式产生的新属性,新属性的值是“temperature”除以“humidity” :weka – filters – unsupervised – attribute – AddExpression 双击文本框修改参数。

39 7.4.4 WEKA的使用 WEKA分类预测 WEKA把分类(Classification)和回归(Regression)都放在“Classify”选项卡中,这是有原因的。 在这两个任务中,都有一个目标属性(输出变量),都是根据一个样本(WEKA中称作实例)的一组特征(输入变量),对目标进行预测。为了实现这一目的,首先需要有一个训练数据集,这个数据集中每个实例的输入和输出都是已知的。观察训练集中的实例,可以建立起预测的模型。有了这个模型,就可以对新的输出未知的实例进行预测了。衡量模型的好坏就在于预测的准确程度。 在WEKA中,待预测的目标(输出)被称作Class属性(通常是arff文件中定义的最后一个属性,如不是可以人为指定),这应该是来自分类任务的“类”。一般的,若Class属性是标称型时我们的任务才叫分类,Class属性是数值型时我们的任务叫回归。

40 7.4.4 WEKA的使用 WEKA中的典型分类算法 Bayes:贝叶斯分类器 BayesNet:贝叶斯信念网络
NaÏveBayes:朴素贝叶斯网络 Functions:人工神经网络和支持向量机 MultilayerPerceptron:多层前馈人工神经网络 SMO:支持向量机 Trees:决策树分类器 Id3:ID3决策树学习算法 J48:C4.5决策树学习算法 RandomTree:随机决策树算法 RandomForest:基于决策树的组合方法

41 7.4.4 WEKA的使用 WEKA中的典型回归算法 Functions: LinearRegression:除目标变量以外,支持多个变量
SimpleLinearRegression:除目标变量以外,只支持一个变量 PaceRegression 。。。。。。

42 7.4.5 WEKA的应用实例 实例1 用决策树法建立分类模型 9个属性,768个实例,21岁以上女性 数据文件:
weka安装目录下的data/diabetes.arff 9个属性,768个实例,21岁以上女性 1. preg:怀孕次数 2. plas:2小时口服葡萄糖耐受检测中体葡萄糖含量 3. press:血压 (mm Hg) 4. skin:三头肌皮褶厚度 (mm) 5. insu:2小时血清胰岛素 (mu U/ml) 6. mass:体重除以身高的平方 7. pedi:糖尿病家系功能 8. age:年龄 9. class:分类(阴性或阳性)

43

44 7.4.5 WEKA的应用实例 实例1 用决策树法建立分类模型 数据文件: weka安装目录下的data/diabetes.arff 算法:
weka – calssifiers – trees – RandomTree

45 7.4.5 WEKA的应用实例 实例1 用决策树法建立分类模型 数据文件: weka安装目录下的data/diabetes.arff 算法:
weka – calssifiers – trees – RandomTree 检验方法: 10-fold cross validation 目标变量: class

46 结果 已完成任务列表 文本形式的决策树

47 结果 右键单击

48 可将窗口最大化,然后点右键,选“Fit to screen”,这样这个树能看得清楚些。
图形化的决策树

49 模型的准确度 各种准确度衡量参数

50 7.4.5 WEKA的应用实例 实例2 用线性回归法建立回归模型 数据文件: 讲义网站下载house.arff 算法:
weka – calssifiers – functions – LinearRession 在同一个分支还有另外一个选项,称为 SimpleLinearRegression 。请不要选择该选项,因为简单回归除目标变量外只能有一个变量,而我们有五个变量。

51 7.4.5 WEKA的应用实例 实例2 用线性回归法建立回归模型 数据文件: 讲义网站下载house.arff 算法:
weka – calssifiers – functions – LinearRession 检验方法: Use training set 目标变量: sellingPrice

52 结果: 回归模型


Download ppt "生 物 信 息 学 Bioinformatics 巩晶 癌症研究中心 山东大学 医学院 2015.11.04."

Similar presentations


Ads by Google