什么是数据挖掘(Data mining)

数据挖掘,又称为数据库中知识发现。它是一个从大量数据中抽取挖掘出未知的、有价值的模式或规律等知识的过程,与数据库有着密切的联系。数据挖掘应用的领域非常广泛,生物医药领域也不例外。比如,大数据和精准医疗!不是搜集了大量体检报告就可以算作拥有了大数据,就可以用于精准医疗。大数据有四字箴言:大、快、杂、疑,即大数据资料量庞大、变化飞快、种类繁杂、以及真伪存疑。

图 1 大数据四字箴言

数据挖掘三要素

  • 统计
  • 数据库系统
  • 机器学习

数据库

数据库系统

数据 + 数据库管理系统 = 数据库系统

数据库的类型

  • 关系型数据库:MYSQL
  • 面向对象型数据库:XML-DB

机器学习(Machine Learning)

什么是机器学习

设计和分析一些让计算机可以自动“学习”的算法。这些算法是一类从数据中获得规律,并利用这些规律对未知数据进行预测的算法。

用向量描述物体

球(直径,重量,颜色,材质,纹路)

机器学习的任务

分类(Classification)

有背景知识,需要训练组数据学习背景知识,根据背景知识判断新物体属于哪一类。

聚类(Clustering)

没有背景知识,不需要训练组数据学习背景知识,对于一组新物体,通过判断其属性,将所有新物体分组。

回归(Regression)

有背景知识,需要训练组数据学习背景知识,根据背景知识推导出x与y之间的定量关系,并据此计算出新物体的y。

K次交叉检验

理论上,所有已知结果的数据都应该拿来训练,这样训练才充分。可是,这些训练数据以外的都是不知道结果的,无法拿来做测试。用训练数据本身做测试,肯定不行!因为你的算法就是基于你的这组数据产生,肯定适合你的这些数据,但是换这些数据以外的数据可能就不适合了,属于过学习。那么,我们从训练组数据里拿出一小部分做测试用,用剩下的做训练,这样是否可行呢?也不行,因为有一部分知识预测模型没有学习到,属于欠学习

所谓 K 次交叉检验就是把所有能够搜集到的已知结果的数据,分成 K 份。我们以 4 份为例。将第一份拿出来作为测试组数据,其余 3 份作为训练组数据。用选定的算法根据训练组数据训练出一个模型。再用测试组数据测试模型的准确度。然后将第二份拿出来作为测试组数据,其余 3 份作为训练组数据。用选定的算法根据训练组数据训练出一个模型。再用测试组数据测试模型的准确度。依次类推,让每一份都作一次测试组数据。这样就会用同一种选定的算法构建出 4 个模型,进行 4 次测试,得到 4 个准确度。最后取 4 个准确度的平均值,得到的平均准确度就是用全部训练组数据训练出的最终模型的准确度。利用K次交叉检验可以有效避免过学习的现象。因为测试组数据并未参与相应模型的构建。同时也避免了欠学习的现象,因为所有训练组数据都学习到了。

机器学习的常见算法

  • 贝叶斯
  • 支持向量机
  • 最近邻居
  • 决策树
  • 遗传算法
  • 人工神经网络
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐