机器学习与数据挖掘的区别
机器学习的重点在优化,数据挖掘的重点在筛选。
机器学习:给定模型,根据数据优化模型参数。
机器学习通过最小化/最大化损失函数的均值来优化参数。
数据挖掘:从数据中筛选符合条件的模式、规则。
数据挖掘通过计算模式在每条数据中相应指标的均值来对其筛选。
机器学习是算法,数据挖掘是一个工程,数据挖掘注重的是产出,机器学习是数据挖掘的一种工具。数据挖掘中还有其他的工作是不能使用机器学习算法的,比如数据清洗、特征值补充。我们可以用机器学习算法来辅助挑选特征值,然后使用机器学习算法进行建模。
大数据处理系统分类
- 流式计算系统
流式计算系统就是因为流式计算具有很强的实时性,需要对应用源源不断产生的数据实时进行处理,使数据不积压、不丢失,常用于处理电信、电力等行业应用以及互联网行业的访问日志等。在Facebook 的 Scribe、 Apache的 Flume、 Twitter的 Storm、 Yahoo的S4、UCBerkeley的Spark Streaming是常用的流式计算系统。 - 数据查询分析计算系统
数据查询分析计算系统需要具备对大规模数据进行实时或准实时查询的能力,数据规模的增长已经超出了传统关系型数据库的承载和处理能力。正因为如此,数据查询分析计算系统是比较受欢迎的。其主要的数据查询分析计算系统包括很多内容,主要就是Hive、Cassandra、Hana、HBase、Dremel、Shark等。 - 批处理系统
批处理系统中的MapReduce是被广泛使用的批处理计算模式。MapReduce对具有简单数据关系、易于划分的大数据采用“分而治之”的并行处理思想,将数据记录的处理分为Map和Reduce两个简单的抽象操作,提供了一个统一的并行计算框架。批处理系统将复杂的并行计算的实现进行封装,大大降低开发人员的并行程序设计难度。 - 迭代计算系统
由于针对MapReduce不支持迭代计算的缺陷,人们对Hadoop的MapReduce进行了大量改进,Haloop、iMapReduce、Twister、Spark是典型的迭代计算系统。而Haloop是Hadoop MapReduce框架的修改版本,用于支持迭代、递归类型的数据分析任务,如PageRank、K-means等。iMapReduce是一种基于MapReduce 的迭代模型,实现了MapReduce 的异步迭代。Twister是基于Java的迭代MapReduce模型,上一轮Reduce的结果会直接传送到下一轮的Map。Spark是基于内存计算的开源集群计算框架。 - 图计算系统
如今,社交网络、网页链接等包含具有复杂关系的图数据,这些图数据的规模巨大,可包含数十亿顶点和上百亿条边,图数据需要由专门的系统进行存储和计算。 - 内存计算系统
随着内存价格的不断下降、服务器可配置内存容量的不断增长,使用内存计算完成高速的大数据处理已成为大数据处理的重要发展方向。目前常用的内存计算系统有分布式内存计算系统Spark、全内存式分布式数据库系统 HANA、 Google的可扩展交互式查询系统Dremel。
大数据处理基本流程
- 数据抽取与集成
大数据处理的数据来源类型丰富,大数据处理的第一步是对数据进行抽取和集成,从中提取出关系和实体,经过关联和聚合等操作,按照统一定义的格式对数据进行存储。现有的数据抽取和集成方法有三种,分别是基于物化或ETL方法的引擎、基于联邦数据库或中间件方法的引擎、基于数据流方法的引擎。这些引擎都是很重要的。 - 数据分析
数据分析是大数据处理流程的核心步骤,通过数据抽取和集成环节,我们已经从异构的数据源中获得了用于大数据处理的原始数据,用户可以根据自己的需求对这些数据进行分析处理,比如数据挖掘、机器学习、数据统计等,数据分析可以用于决策支持、商业智能、推荐系统、预测系统等。通过数据分析我们能够掌握数据中的信息。 - 数据解释
大数据处理流程中用户最关心的是数据处理的结果,正确的数据处理结果只有通过合适的展示方式才能被终端用户正确理解,因此数据处理结果的展示非常重要,可视化和人机交互是数据解释的主要技术。这个步骤能够让我们知道我们分析数据的结果。