加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

数据科学与数据挖掘的区别

(2016-10-26 15:00:21)
标签:

数据挖掘

科学

分类: 数据库概念

1   基础篇 - 数据挖掘


 

1.1 基本概念
        数据挖掘(Data Mining)旨在从大量的、不完全的、有噪声的、模糊的、随机的数据中, 提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识。

 
1.2 主要任务 
  • 关联分析 Association Analysis
            关联分析是从大量数据中发现项集之间有趣的关联和相关联系。关联分析的一个典型例子是购物篮分析。该过程通过发现顾客放人其购物篮中的不同商品之间的联系,分析顾客的购买习惯。通过了解哪些商品频繁地被顾客同时购买,这种关联的发现可以帮助零售商制定营销策略。其他的应用还包括价目表设计、商品促销、商品的排放和基于购买模式的顾客划分。
  • 聚类分析 Clustering
            聚类是将数据分类到不同的类或者簇这样的一个过程,所以同一个簇中的对象有很大的相似性,而不同簇间的对象有很大的相异性。聚类分析是一种探索性的分析,在分类的过程中,人们不必事先给出一个分类的标准,聚类分析能够从样本数据出发,自动进行分类。聚类分析所使用方法的不同,常常会得到不同的结论。不同研究者对于同一组数据进行聚类分析,所得到的聚类数未必一致。 
  • 分类 Classification
            分类就是找出一个类别的概念描述,它代表了这类数据的整体信息,即该类的内涵描述,并用这种描述来构造模型,一般用规则或决策树模式表示。分类是利用训练数据集通过一定的算法而求得分类规则。分类可被用于规则描述和预测。
  • 预测 Predication
            预测是利用历史数据找出变化规律,建立模型并由此模型对未来数据的种类及特征进行预测。预测关心的是精度和不确定性,通常用预测方差来度量。
  • 时序模式 Time-series Pattern
            时序模式是指通过时间序列搜索出的重复发生概率较高的模式。与回归一样,它也是用己知的数据预测未来的值,但这些数据的区别是变量所处时间的不同。
  • 偏差分析 deviation
            在偏差中包括很多有用的知识,数据库中的数据存在很多异常情况,发现数据库中数据存在的异常情况是非常重要的。偏差检验的基本方法就是寻找观察结果与参照之间的差别。偏差分析是探测数据现状、历史记录或标准之间的显著变化和偏离,偏差包括很大一类潜在的有趣知识。如观测结果与期望的偏离、分类中的反常实例、模式的例外等。
1.3 基本技术
  • 统计学
            统计学是一门很古老的科学,一般认为其学理研究始于古希腊的亚里斯多德时代,迄今已有两千三百多年的历史。它起源于研究社会经济问题,在两千多年的发展过程中,统计学至少经历了“城邦政情”、“政治算数”和“统计分析科学”三个发展阶段。所谓“数理统计”并非独立于统计学的新学科,确切地说,它是统计学在第三个发展阶段所形成的所有收集和分析数据的新方法的一个综合性名词。概率论是数理统计方法的理论基础,但是它不属于统计学的范畴,而是属于数学的范畴。统计学虽然是一门“古老的”学科,但它依然是最基本的数据挖掘技术,特别是多元统计分析,如判别分析、主成分分析、因子分析、相关分析、多元回归分析等。
     
  • 聚类分析
            聚类分析主要是根据事物的特征对其进行聚类或分类,即所谓物以类聚,以期从中发现规律和典型模式。这类技术是数据挖掘的最重要的技术之一。除传统的基于多元统计分析的聚类方法外,近些年来模糊聚类和神经网络聚类方法也有了长足的发展。
  • 模式识别
            模式识别是人类的一项基本智能,在日常生活中,人们经常在进行“模式识别”。模式识别是指对表征事物或现象的各种形式的(数值的、文字的和逻辑关系的)信息进行处理和分析,以对事物或现象进行描述、辨认、分类和解释的过程,是信息科学和人工智能的重要组成部分。
  • 决策树分类
           决策树分类是根据不同的重要特征,以树型结构表示分类或决策集合,从而产生规则和发现规律。决策树分类算法是数据挖掘研究中的一个以样本数据集为基础的归纳学习方法,它着眼于从一组无次序、无规则的样本数据集中推理出决策树表示形式的分类规则,提取描述样本。 
  • 人工神经网络和遗传基因算法
            人工神经网络是一个迅速发展的前沿研究领域,对计算机科学人工智能、认知科学以及信息技术等产生了重要而深远的影响,而它在数据挖掘中也扮演着非常重要的角色。人工神经网络可通过示例学习,形成描述复杂非线性系统的非线性函数,这实际上是得到了客观规律的定量描述,有了这个基础,预测的难题就会迎刃而解。目前在数据挖掘中,最常使用的两种神经网络是BP网络和RBF网络,不过由于人工神经网络还是一个新兴学科,一些重要的理论问题尚未解决。 
  • 规则归纳
            规则归纳是机器学习的一个领域,是从观察集中将形式规则提取出来。提取的规则可能代表了全面的科学数据模型,或者只是代表了数据的本地模式。规则归纳相对来讲是数据挖掘特有的技术。它指的是在大型数据库或数据仓库中搜索和挖掘以往不知道的规则和规律,这大致包括以下几种形式:IF … THEN …
  • 可视化技术
            可视化技术是数据挖掘不可忽视的辅助技术。数据挖掘通常会涉及较复杂的数学方法和信息技术,为了方便用户理解和使用这类技术,必须借助图形、图象、动画等手段形象地指导操作、引导挖掘和表达结果等,否则很难推广普及数据挖掘技术。 
1.4 实施步骤
  1. 理解业务:从商业的角度理解项目目标和需求,将其转换成一种数据挖掘的问题定义,设计出达到目标的一个初步计划。
  2. 理解数据:收集初步的数据,进行各种熟悉数据的活动。包括数据描述,数据探索和数据质量验证等。
     
  3. 准备数据:将最初的原始数据构造成最终适合建模工具处理的数据集。包括表、记录和属性的选择,数据转换和数据清理等。
     
  4. 数据建模:选择和应用各种建模技术,并对其参数进行优化。
     
  5. 模型评估:对模型进行较为彻底的评价,并检查构建模型的每个步骤,确认其是否真正实现了预定的商业目的。
     
  6. 模型部署:创建完模型并不意味着项目的结束,即使模型的目的是为了增进对数据的了解,所获得的知识也要用一种用户可以使用的方式来组织和表示。通常要将活动模型应用到决策制订的过程中去。该阶段可以简单到只生成一份报告,也可以复杂到在企业内实施一个可重复的数据挖掘过程。控制得到普遍承认。
     
     
2   进阶篇 - 数据科学

 
2.1 传统商业智能面临的挑战
         BI系统所面临的技术挑战在不断增加,比以往任何时候都要多的数据必须要在更短的时间内处理完毕。爆炸般激增的数据量被公司IT系统收集,这庞大的信息量足以令IT经理手忙脚乱。传统的商业智能面临诸多的挑战,如:数据规模大、数据种类多、数据时效强,决策需要自动化,IT系统数据需要横向扩展,按业务之需的IT应用部署等等。

 
2.2 商业分析技术发展趋势
  • 第一阶段Descriptive Analytics:对历史数据进行统计分析,描述过去发生了什么。
  • 第二阶段Diagnostic Analytics:通过对历史数据进行数据挖掘,发现过去发生的原因。传统BI工具生成的报表内容都是这一以及第二阶段分析技术的产物。
  • 第二阶段Predictive Analytics:在第一阶段描述性分析结果的基础上,结合规则、数据科学、机器学习以及实时外界数据,能够对未来进行实时预测,实时动态分析一个事件发生的概率。例如交通流量预测、客户流失预测、用户画像。
  • 第三阶段Prescriptive Analytics:在第二阶段预测性分析分析的基础上,结合收益分析、风险分析给出最优决策,这一阶段的分析需要基于实时数据流做出动态预测决策,根据外界数据变化持续调整自动化决策以达到最优效益。例如RTB,推荐系统,客户挽留。
 
2.3 数据科学 Data Science
        数据科学包括数学统计、计算机科学以及领域知识,以从数据中提取价值为目的。数据科学可以看作是对数据的商业加工,其不仅仅可以将数据转化为信息,还可以转化为产品(个性化推荐、实时竞价、精准营销)。
        数据科学作为一门复合型科学,涉及到数学统计技术、计算机技术以及领域专业知识三个方面。相对于目前市场上使用多年的传统BI工具,数据科学在这三方面都具有更强的技术优势。数据统计方面,除了包含常规的数据挖掘算法(例如分类、聚类、回归等)以外,还需要扩展更强大的机器学习算法,例如深度学习。在计算机技术方面,相较于传统的单机垂直扩展计算能力,数据科学需要更加强调计算能力的横向扩展,通过分布式计算、分布式内存技术支持对海量数据的挖掘、建模
        在领域专业知识方面,相较于传统BI工具基于数据仓库结构化数据的分析技术,数据科学需要通过引入自然语言处理技术、本体技术、信号图像处理技术来支持对半结构化以及非结构化的文本、音频、视频数据进行处理,实现多源数据的统一集成,从而能够大大提高数据挖掘的精准性
 
2.4 如何用好数据科学?
  
2.4.1 模型评价是关键
 
        数据分析/机器学习/数据科学(或任何你能想到的领域)的主要目标,就是建立一个系统,要求它在预测未知数据上有良好的表现。区分监督学习(像分类)和无监督学习(如聚合)其实没有太大的意义,因为无论如何你总会找到办法来构建和设计你的数据集。方法行不行最后还是得看它在未知数据上的表现,你得保证它能得出同你过去的训练集一样的结果。
 
        初学者最常犯一个错误就是看到已知数据的表现,就想当然的认为未知数据也会一样。通常你会发现,现实是很骨感的。这里我们就只说监督学习,任务就是根据你的输入预测输出,例如把电子邮件分成垃圾邮件和非垃圾邮件。
 
        如果你只考虑训练数据,通过让机器记住一切,很轻松的就能得到完美的预测结果(除非这些数据自相矛盾)。这并不是什么新鲜事儿,人类自己就是这样的。还记得你学外语背单词的苦逼时光么,你必须检查单词字母的顺序,因为你的大脑需要按正确的顺序记住他们。
 
        机器在存储和检索大量数据上的优势是人类拍马不及的。但这也带来了过拟合和泛化能力差的问题。
 
        所以,一个好的评价方法是模拟未知数据的影响来分割数据,一部分用来训练,一部分用来检测效果。通常,用较大的训练集建模,然后用小的那部分进行预测,经过多次迭代来得到一个较稳定的模型。这个过程就是我们常说的交叉验证。 
 
        为了模拟未知数据的表现,把数据集分为两个部分,一部分用于训练,一部分用于预测。
        就算我们这么做了,还是很有可能出问题,特别是在数据非平稳的时候,数据的潜在分布会随着时间变来变去。利用真实数据预测时经常会碰到这种情况,同样是销售数据,六月和七月的就可能差别巨大。
 
        还有数据点间的相关性,如果你知道了一个数据点那么你肯定对另一个数据点也有了一些了解。好比股票价格,他们通常不会在两天之间任意的大幅波动,因此如果你胡乱的拆分训练/预测数据,就会破坏这种相关性。
        每当出现这种情况,你得到的结果就会过于乐观,而你的模型似乎不打算在现实应用中也这么给你面子。最糟糕的情况就是,你千辛万苦终于说服人们认可你的方法,结果下水一试,它当掉了……
        所以学习如何正确的进行模型评价是关键!
  
2.4.2 特征提取是要点

        学习一种新的算法感觉总是很棒,但现实是,最复杂的算法执行起来和那些老办法几乎没什么两样,真正的区别在于原始数据的特征学习。
 
        现在的模型功能看起来非常强大,随随便便就能处理成千上万的特征和数据点,其实本质上并没聪明到哪里。特别是线性模型(像logistic回归或线性支持向量机),就是个傻乎乎的计算器。
 
        这些模型确实很擅长在数据充足的情况下识别信息的特征,但是如果信息不充足,或者不能按线性组合的特征来表示,那基本就没什么可玩了。同样这些模型也不能通过“洞察”自行简化数据。
 
        换句话说,你可以通过寻找合适的特征,来大量简化数据。坦白来讲,如果你能为想做预测的功能简化掉所有特征,那还有什么需要学习的呢?!这就是多么强大的特征提取啊!
 
        这意味着两件事情:首先,你应该确保你确实掌握了这些几乎相同的方法中的一种,并且始终不抛弃它。你真的不需要同时掌握逻辑回归和线性支持向量机,你只要选择一个就够了。这些方法几乎都是相似的,关键的不同就在于底层模型。深度学习还有些特别的东西,但线性模型在表现能力上几乎都是相同的。虽然,训练时间、解决方案的稀疏度等可能会有些不同,但在大多数情况下你会得到相同的预测性能。
 
        其次,你应该了解所有的特征工程。这是一门艺术,不幸的是,几乎所有的教科书都没有涵盖这一点,因为关于它的理论太少了。它的常规化就像我们的雾霾一样,还有很长的路要走。有时,特征需要取对数。每当降低一定的自由度,就是摆脱那些与预测任务不相关的数据,可以显著降低你所需的训练集数量。
 
        有些情况下这种类型的转化会不可思议的简单。例如,如果你正在做手写字体识别,你就会发现有没有一个识别度高的颜色并不重要,你只要有一个背景和前景就OK了。
 
        教科书往往将算法模型描述的异常强大,好像只要你把数据扔给模型,他们就会把一些都做了。从理论和无限的数据源上看它可能是对的。但很遗憾,我们的时间和数据都是有限的,所以寻找包含信息大的特征是绝对有必要的。
 
 
2.4.3 模型选择最耗神

        在大数据时代,很多你不想被人知道的事情都被你的主内存以数据集的方式完美的记录下来。你的模型可能不需要花太多时间就能跑完这些数据,但是却要花费非常多的时间从原始数据中提取特征,利用交叉验证的方法来比较不同学习模型的渠道和参数。
  
        为了选择合适的模型,你需要大量的组合参数,再利用备份数据来评估它的表现。问题来了,组合参数的爆发式增长。如果你只有两个参数,可能只需要花费1分钟就能完成训练,并且得到性能的评估结果(用合适的评估像我上面说的那样)。但如果每个参数有5个候选值,那就需要执行5倍的交叉验证(把数据集分成5份,每个测试都跑5遍,在每一次迭代中用不同的数据测试),这意味着你需要把上面的步骤重复125次去找到一个好的模型,你要等待的就不是1分钟,而是两小时。
        好消息是,在多参数的情况下你可以并行操作,因为每个部分都是独立运行的。这种对每个独立数据集进行相同操作(分割,提取,转换等)的过程,被称为“密集并行”(没错,这是一个技术术语)。
 
        这里的坏消息大多针对大数据,因为这些都意味着很少需要复杂模型的可扩展实现。在大多数情况下,仅仅通过对内存中的数据执行相同的非分布式算法,再把这种方法并行化就足够了。
 
        当然,像用于TB级日志数据的广告优化和面向百万用户推荐的 learning global models这样的应用也是存在的,但是最常见的用例都是这里描述的类型。
 
        最后,拥有很多数据并不意味着你都需要他们。最大的问题在于底层学习的复杂性。如果这个问题能被一个简单的模型解决,你就不需要用这么多的数据来检验模型,也许一个随机的数据子集就可以解决问题了。像我上面说的,一个好的特征表现能帮助你急剧的降低所需要数据点的量。
 
3   观点 - 数据科学平台工具很重要 

         知道如何正确的评估,对降低模型在面对未知数据时的风险是非常有帮助的。掌握合适的特征提取方法,可能是帮助你取得一个好的结果的最佳方法,并没有那么多大数据,通过分布式计算可以降低训练时间。数据科学是一门综合性学科,相关的技术工具往往对于使用者有较强的技术经验知识的要求,但是由于市场需求与人才数量之间严重失衡,导致数据科学家这类的人才严重短缺。

        为了应对这一行业难题,如果有一款可以快速建模的数据科学平台产品工具将大大降低数据科学的学习成本并可以快速将模型应用于生产中数据科学平台产品需要提供面向平民化的数据分析、机器学习工具,简化甚至自动化模型构建流程,从而降低使用者的专业要求,使得数据科学技术能够得到快速普及
 
延伸阅读
东软大数据:SaCa RealRec 数据科学平台软件
 
SaCa RealRec 数据科学平台 

 

产品概述
        SaCa RealRec数据科学平台是聚焦大数据智能战略的分析挖掘平台及服务。整个系统基于分布式批处理框架、分布式内存处理框架、分布式流数据实时框架以及大规模机器学习算法库等大数据科学相关技术,提高企业构建智能应用的能力及效率,简化复杂机器学习算法的使用成本,从而帮助企业实现数据驱动的商业模式。
 
产品组成 
        SaCa RealRec致力于提供简单易用的预测分析平台,通过流程化的Web UI大大降低大数据挖掘的使用成本,使得每一个平凡的软件工程师都能够利用精妙的数学模型以及大数据处理技术构建自有模型来解决当今企业面临的具有挑战的业务问题。整个数据科学平台由SaCa RealRec Core基础分析平台、SaCa RealRec Feature多维特征分析、SaCa RealRec Notebook可视化模型构建平台、SaCa RealRec Graph图挖掘平台,SaCa RealRec Stream流计算平台、SaCa RealRec Service预测服务接口、SaCa RealRec Monitor监控管理调度平台以及SaCa RealRec Template数据挖掘流程模库8个组件。
  
应用领域

  
转自:https://mp.weixin.qq.com/s?__biz=MzI2NjQ0MjYwMQ==&mid=2247483707&idx=1&sn=65e61573cd3b86c1f3320e466706c870

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有