精华内容
下载资源
问答
  • 第一章 数据挖掘基础 数据挖掘的基本任务包括利用分类与预测、聚类分析、关联规则、时序模式、偏差检测、智能推荐等方法,帮助企业提取数据中蕴含的商业价值,提高企业的竞争力。 数据挖掘建模过程 ...

    目录

    第一章 数据挖掘基础

    1. 数据抽样

    2. 数据探索

    3. 数据预处理

    hadoop生态系统


    第一章 数据挖掘基础

    数据挖掘的基本任务包括利用分类与预测、聚类分析、关联规则、时序模式、偏差检测、智能推荐等方法,帮助企业提取数据中蕴含的商业价值,提高企业的竞争力。

    数据挖掘建模过程

    目标定义

    数据采集

    数据整理

    构建模型

    模型评价

    模型发布

    1. 任务理解
    2. 指标确定
    1. 建模抽样
    2. 质量把控
    3. 实时采集
    1. 数据探索
    2. 数据清洗
    3. 数据变换
    1. 模式发现
    2. 构建模型
    3. 验证模型
    1. 设定评价标准
    2. 多模型对比
    3. 模型优化
    1. 模型部署
    2. 模型重构

     

    数据抽样

    数据预处理

    数据探索性分析

    数据展示

    空间数据分析

    1. 概率抽样
    2. 非概率抽样
    3. 大数据抽样
    1. 数据清洗
    2. 数据变换
    3. 缺失值处理
    4. 异常点处理
    5. 变量选择
    1. 可视化
    2. 投影寻踪
    3. 独立成分
    1. 单变量
    2. 多变量
    3. 分布形态
    4. 高维数据
    5. 空间数据
    6. 图形美化
    1. 空间自相关
    2. 时空扫描
    3. 空间回归
    4. 空间面板
    5. 贝叶斯时空模型
    6. 空间估算

    1. 数据抽样

    概率抽样,又称随机抽样,是指依据随机原则,按照某种事先设定好的程序,从总体中抽取部分单元的抽样方法。

      非概率抽样,又称非随机抽样,最主要的特征是抽取样本时不依据随机原则。

    1.1 概率抽样

    1. 简单随机抽样
    2. 分层随机抽样:对总体样本的每层进行简单随机抽样
    3. 整群抽样:将总体划分为若干个群,以群为单位进行的简单抽样
    4. 系统抽样:首先抽取一个或一组起始单元的编号,然后按照某种和起始编号有关的规则确定其余入样的单元编号,直到抽满n个为止。常见的为等距系统抽样,即按照简单随机抽样方式抽取一个起始编号,固定间隔k抽取其余编号,抽满n个为止
    5. 多阶段抽样:指分多个阶段抽取到最终的样本。
    6. 不等概率抽样
    7. 二重抽样:指在抽样时分两步进行。由于对总体信息不了解,首先从总体N中抽取一个较大的样本n,对其进行调查以获得总体的某些辅助信息,然后进行第二重抽样,第二重抽样的样本量n’较小,一般从第一重样本中进行抽取,第二重抽样的结果才是主调查。

    1.2 非概率抽样

    1. 便利抽样:又称方便抽样,指调查者在抽取样本时依据方便原则,以达到最大限度降低调查成本的目的。
    2. 滚雪球抽样:在对稀有总体进行调查时,往往采取滚雪球抽样。滚雪球抽样即在调查某一特定的总体时,先找到该总体的若干个体,再通过这些个体去识别其他符合要求的个体,然后再请新找到的个体去识别更多的个体,以此类推,直到获得足够的样本量。
    3. 判断抽样:指在抽取样本时,调查者根据调查目的,以及对调查对象情况的了解,人为地确定样本单元。
    4. 配额抽样:又称定额抽样,即将总体中的各单元按照一定的标准划分为若干类型,将样本数额分配到各个类型中。

     

    2. 数据探索

    数据探索和预处理的目的是保证样本数据的质量,从而保证模型质量打下基础。

    常用的数据探索方法主要包括两方面:数据质量分析;数据特征分析

    数据质量分析:缺失值、异常值、数据一致性分析

    数据特征分析:分布分析、对比分析、统计量分析、周期性分析、贡献度分析、相关性分析。

    3. 数据预处理

    当采样数据维度过大时,如何进行降维处理、缺失值处理等都是数据预处理要解决的问题。

    常用的数据预处理主要包括:数据清洗、数据集成、数据变换、数据规约等。

    1. 数据清洗:主要是删除原始数据中的无关数据、重复数据、平滑噪声数据、筛选掉与挖掘主题无关的数据,处理缺失值、异常值等。缺失值处理的方法可分为三类:删除记录、数据插补和不处理。
    2. 数据集成:即将多个数据源合并存放在一个一致的数据存储(如数据仓库)中的过程。
    3. 数据转换:主要是对数据进行规范化处理,将数据转换成“适当的”形式,以适应于挖掘任务及算法的需要。常用的数据变换方法有:简单函数变换、规范化、连续属性离散化、属性构造、小波变换。
    4. 数据规约:数据规约产生更小的蛋保持原数据完整性的新数据集。数据规约主要包括:属性规约和数值规约。属性规约通过合并创建新属性维度,或者直接通过删除不相关的属性(维)来减少数据维度,从而提高数据挖掘的效率、降低计算成本。属性规约的目标是找出最小的属性子集并确保新数据子集的概率分布尽可能接近原来数据集的概率分布。数值规约则是通过选择替代的、较小的数据来减少数据量,包括有参数方法和无参数方法两类。

    hadoop生态系统

        Hadoop是Apache软件基金会旗下的一个开源分布式计算平台,以HDFS(hadoop distributed file system)分布式文件系统和MapReduce(Google MapReduce的开源实现)为核心的为用户提供系统底层细节透明的分布式基础架构。

    Hadoop生态系统主要包括:Hive、HBase、Spark、Storm、Pig、Sqoop、Flume、ZooKeeper、Mahout、Shark、Phoenix、Tez、Ambari,每个项目简介:

    Hive用于Hadoop的一个数据仓库系统,它提供了类似于SQL的查询语言,通过使用该语言,可以方便地进行数据汇总,特定查询以及分析存放在hadoop兼容文件系统中的大数据。

    Hbase一种分布的、可伸缩的、大数据存储库,支持随机、实时读/写访问。

    Spark一个开源的数据分析集群计算框架,最初由加州大学伯克利分校AMPLab开发,建立于HDFS之上。Spark与Hadoop一样,用于构建大规模、低延时的数据分析应用。Spark采用Scala语言实现,使用Scala作为应用框架。

    Storm一个分布式的、容错的实时计算系统,由BackType开发,后被Twitter收购。Storm属于流处理平台,多用于实时计算并更新数据库。Storm也可被用于“连续计算”,对数据流做连续查询,在计算时就将结果以流的形式输出给用户。它还可用于“分布式RPC”,以并行的方式运行大型的运算。

    Pig分析大数据集的一个平台,该平台由一种表达数据分析程序的高级语言和对这些程序进行评估的基础设施一起组成。

    Sqoop为高效传输批量数据而设计的一种工具,其用于Apache Hadoop和结构化数据存储库如关系数据库之间的数据传输。

    Flume一种分布式的、可靠的、可用的服务,其用于高效搜集、汇总、移动大量日志数据。

    ZooKeeper一种集中服务,其用于维护配置信息,命名,提供分布式同步,以及提供分组服务。

    Mahout一种基于Hadoop的机器学习和数据挖掘的分布式计算框架算法集,实现了多种MapReduce模式的数据挖掘算法。

    Shark即Hive on Spark,一个专为Spark打造的大规模数据仓库系统,兼容Apache Hive。无需修改现有的数据或者查询,就可以用100倍的速度执行Hive QL。Shark支持Hive查询语言、元存储、序列化格式以及自定义函数,与现有Hive部署无缝集成,是一个更快、更强大的替代方案。

    Phoenix一个构建在Apache HBase之上的一个SQL中间层,完全使用Java编写,提供了一个客户端可嵌入的JDBC驱动。Phoenix查询引擎会将SQL查询转换为一个或多个HBase 手残,并编排执行以生成标准的JDBC结果集。直接使用HBase API、协同处理器与自定义过滤器,对于简单查询来说,其性能量级是毫秒,对于百万级别的行数来说,其性能量级是秒。

    Tez一个基于Hadoop YARN之上的DAG(有向无环图,directed acyclic graph)计算框架。它把Map/Reduce过程拆分成若干个子过程,同时可以把多个Map/Reduce任务组合成一个较大的DAG任务,减少了Map/Reduce之间的文件存储。同时合理组合其子过程,减少任务的运行时间。

    Ambari一个供应、管理和监视Apache Hadoop集群的开源框架,它提供一个直观的操作工具和一个健壮的Hadoop API,可以隐藏复杂的Hadoop操作,使集群操作大大简化。

    参考书籍:《大数据探索性分析》《hadoop大数据分析与挖掘实战》

     

    展开全文
  • 本资源是《Hadoop与大数据挖掘》配套资源【完整版】,包含源数据和代码。 本书主要分为两个部分,基础篇和挖掘实践篇。基础篇介绍了大数据相关技术:Hadoop、Hive、HBase、Pig、Spark、Oozie等。针对每个技术有每个...
  • 数据挖掘和大数据可以做什么? 简而言之,它们赋予我们预测能力。 我们的生活已经数字化了 我们每天所做的许多事情都可以记录下来。 每张信用卡交易都是数字化和可追溯的。 我们的公众形象一直受到许多中央电视台...

    数据挖掘和大数据可以做什么?

    简而言之,它们赋予我们预测能力。

    我们的生活已经数字化了

    我们每天所做的许多事情都可以记录下来。 每张信用卡交易都是数字化和可追溯的。 我们的公众形象一直受到许多中央电视台在城市各个角落的监控; 对于企业而言,大多数财务和运营数据都保存在某些类型的ERP中; 随着可穿戴设备的兴起 ,每一次心跳和呼吸都被数字化并保存为可用数据。正当我们的大部分生活被数字化时,计算机现在可以比以往更好地“理解”我们的世界。

     

    2.如果模式保持不变,则过去=未来

    我们生活中的许多不同事物都表现出模式。例如,一个人可能在任何工作日内在工作和家庭之间旅行,或者在任何非工作日去度假或看电影,这种模式不太可能改变。商店将拥有任何一天的高峰时段和闲置时间,这种模式不太可能改变。企业将在一年中的某些月份要求更高的劳动力投入,这种模式不太可能改变。

    总结第1点和第2点,我们可以得出结论,如果提供过去的模式,计算机很可能预测未来,因为这些模式在很长一段时间内最可能是一致的。

    如果计算机可以预测人们的生活方式,它将准确知道什么时候是适合促销的最佳时间,例如,如果这个人每周五的星期五都要洗车,或者是优惠券,那就是洗车促销如果这个人每年三月都要去度假,那就留下来。Businesswise,计算机还可以 预测商店全天的销售预测,然后制定业务战略以最大化总收入。对于企业而言,计算机还可以设计出最合理的劳动力安排的最佳运营计划。

    一旦未来变得可预测,我们可以随时提前计划并为可能的最佳行动做好准备。就像“黑客帝国”中的Neo一样,他能够躲避所有的子弹,因为他可以清楚地看到子弹的来源。根据夏洛克·福尔摩斯的说法,“对概率数学的高级掌握,对人类心理学的彻底理解,以及任何特定个体的已知倾向都可以大大减少变量的数量”,换句话说,“大数据给了我们预测未来的力量“。 这是数据挖掘的力量。数据挖掘始终与大数据联系在一起,因为大数据支持大量数据集,从而为所有预测提供了基础。

     

    那么,大数据,数据挖掘和机器学习到底是什么?

    大数据

    当数据量巨大时,很明显这些数据无法在任何一台机器上处理。一个非常大的文件,比方说10GB,你可能无法在任何Windows系统中打开它,然后崩溃整个事情。 为此目的开发了大数据。您可以将其视为一种特殊的软件,它将大文件拆分为更小的文件,然后可以在多台计算机上进行处理。分割和组合数据片段的过程称为MapReduce。最常用于此过程的软件框架,称为Hadoop。Hadoop解决了基本问题,并且有许多工具可以与Hadoop一起使用,例如Pig,Zookeeper和Hive,以使过程更加容易。Hadoop连同它的许多相关工具通常被称为“大数据技术”。

    机器学习

    刚才我们根据一块数据的处理方式进行了触摸。假设这条数据包含一组购物者的购买行为,包括购买的商品总数,每个购物者购买的商品数量。这是迄今为止简单的统计分析。但是,如果我们的目标是分析不同类型的购物者之间的相关性,或者如果我们想要推断特定类型的购物者的特定偏好,或者甚至预测任何购物者的性别或年龄,我们将需要更多复杂的模型,我们称之为算法。机器学习可以更容易理解为为数据挖掘目的而开发的所有不同类型的算法,例如逻辑回归,决策树,协同过滤等等。

     

    数据挖掘

    通过应用机器学习算法,现有数据实际上可用于预测未知数,这正是数据挖掘的奇迹与机器学习密切相关的原因。然而,任何机器学习算法的强度在很大程度上取决于大量数据集的供应。请记住,无论算法有多复杂,都不能从几行数据中做出灵感预测。大数据技术是机器学习的前提,通过使用机器学习,我们能够从现有数据集中获得有价值的见解,这就是数据挖掘。

    数据挖掘思维导图

    学术上的数据挖掘研究方向比较传统,主要是处理数据,挖掘数据,评估模型。随着互联网和大数据的发展,数据挖掘的应用领域却越来越广。我们大可不必拘泥于数据挖掘、数据分析、机器学习的边界和区别,或许这些边界和区别都是人为设置的。毕竟不管哪种技术,能解决实际问题的都是好技术。

                                        

    为什么究竟哪里好?

            数据挖掘就是从海量的数据中挖掘隐含在其中的、事先不为人知的、潜在的、 有用信息和知识的技术。这些信息是可能有潜在价值的,是用户感兴趣的、可理 解的、可运用的,支持决策,可以为企业带来利益,或者为科学研究寻找突破口。

            数据挖掘的应用非常广泛,只要该产业有分析价值与需求的数据库,皆可利 用数据挖掘工具进行有目的的发掘分析,在当今数据和内容作为互联网的核心, 不论是传统行业还是新型行业,谁率先与互联网融合成功,能够从大数据的金矿 中发现暗藏的规律,就能够抢占先机,成为技术改革的标志,获得利益。常见的 应用案例多发生在零售业、制造业、财务金融保险、通讯及医疗服务。大数据挖 掘商业价值的方法主要分为四种:第一:客户群体细分,然后为每个群体量定制 特别的服务。第二:模拟现实环境,发掘新的需求同时提高投资的回报率。第三: 加强部门联系,提高整条管理链条和产业链条的效率。第四:降低服务成本,发 现隐藏线索进行产品和服务的创新。在理论上来看:所有产业都会在数据挖掘的 发展中受益。

            例如在电子商务中数据挖掘的作用越来越大,可以用其对网站进行分析,识 别用户的行为模式,保留客户,提供个性化服务,优化网站设计,帮助电子商务 网站把真正有价值的知识从海量的信息提取出来,从而更好地为电子商务网站的 用户提供更方便的服务以及指导企业决策,数据挖掘在电子商务中的具体应用: 在电子商务中应用数据挖掘技术可以直接跟踪数据,分析顾客的购买行为并辅助 商家快速做出商业决策。在电子商务营销方面的应用它是以市场营销学的市场细分 原理为基础,其基本假定是消费者过去的行为是其今后消费倾向的最好说明。通 过收集、加工和处理涉及消费者消费行为的大量信息,确定特定消费群体或个 体的兴趣、消费习惯、消费倾向和消费需求,进而推断出相应消费群体或个体 下一步的消费行为。需要做到产品生命周期策略分析,市场细分,制定合理的产 品策略和定价策略,制定合理的产品营销策略,优化促销活动。

            数据挖掘在未来的发展趋势上,在我看来,Web 网路中数据挖掘的应用,特 别是在互联网上建立数据挖掘服务器,与数据库服务器配合,实现数据挖掘,从 而建立强大的数据挖掘引擎与数据挖掘服务市场。融合各种异构数据的挖掘技术, 加强对各种非结构化数据的开采,如对文本数据,图形数据,视频图像数据,声 音数据乃至综合多媒体数据的开采。

           数据挖掘是一个新兴的领域, 具有广阔应用前景,随着计算机的处理能力 的日益强大,你能获得的数据量越大,你能挖掘到的价值就越多。实验的不断反 复、大数据的日渐积累让人类发现规律,预测未来不再是科幻电影里的读心术。 推动数据掘技术的深入发展和广泛应用,创造出更多的社会和经济价值。

     

    展开全文
  • 从数据中“淘金”,从大量数据(文本)中挖掘出隐含的、未知的、对决策有潜在的关系、模型和趋势,并用这些知识和规则建立用于决策支持的模型,提供预测性决策支持的方法、工具和过程,这就是数据挖掘。 它是利用...

    前言

    阅读时间:20180318-20180322

    来源:Kindle

    数据挖掘基础

    数据挖掘的概念:

    从数据中“淘金”,从大量数据(文本)中挖掘出隐含的、未知的、对决策有潜在的关系、模型和趋势,并用这些知识和规则建立用于决策支持的模型,提供预测性决策支持的方法、工具和过程,这就是数据挖掘。
    它是利用各种分析工具在大量数据中寻找其规律和发现模型与数据之间关系的过程,是统计学、数据技术和人工职能技术的综合。

    数据挖掘的基本任务:

    包括利用分类与预测、聚类分析、关联规则、时序模式、偏差检测、职能推荐等方法,帮助企业提取数据中蕴含的商业价值,提高企业的竞争力。

    数据挖掘建模过程

    ![屏幕快照 2018-03-18 上午9.58.40](http://ovblf5i76.bkt.clouddn.com/2018-03-18-屏幕快照 2018-03-18 上午9.58.40.png)

    1 目标定义

    • 任务理解
    • 指标确认

    针对具体的挖掘应用需求
    明确本次挖掘目标是什么?
    系统完成后能达到什么样的效果?

    2 数据采集

    • 建模抽样

    抽样数据的标准,一是相关性、二是可靠性、三是有效性。

    抽样的方式
    随机抽样:比如按10%比例随机抽样
    等距抽样:比如按5%比例,一共100组,取20、40、60、80、100
    分层抽样:将样本分若干层次,每个层次设定不同的概率。
    从起始顺序抽样:从输入数据集的起始处开始。
    分类抽样:依据某种属性的取值来选择数据子集。如按客户名称分类、按地址区域分类等。分类抽样的选取方式就是前面所述的几种方式,只是抽样以类为单位。

    • 质量把控

    • 实时采集

    3 数据整理

    • 数据探索

    对所抽样的样本数据进行探索、审核和必要的加工处理,是保证最终的挖掘模型的质量所必须的。
    常用的数据探索方法主要包括两方面:数据质量分析,数据特征分析。

    数据质量分析:得主要任务是检查原始数据中是否存在脏数据。包括缺失值分析、异常值分析、数据一致性分析。
    数据特征分析:在质量分析后可通过绘制图标、计算某种特征量等手段进行特征分析,
    主要包括
    分布分析:能揭示数据的分布特征和分布类型。可用直方图、饼图、条形图等展示
    对比分析:将两个相互联系的指标进行比较,从数据量上展示和说明研究对象规模的大小,水平的高低,速度的快慢,以及各种关系是否协调。比如,各部门的销售金额的比较、各年度的销售额对比。
    统计量分析:用统计指标对定量数据进行统计描述,常从集中和离中趋势两个方面进行分析。平均水平的指标是对个体集中趋势的度量,最广泛是均值和中位数;反映变异程度的指标则是对个体离开平均水平的度量,使用较广泛的是标准差(方差)、四分卫间距。

    周期性分析:分析某个变量是否跟着时间变化而呈现出某种周期变化趋势。
    贡献度分析:原理是帕累托法则(又称20/80定律)
    相关性分析:分析连续变量之间线性相关程度的强弱,并用适当的统计指标表示出来的过程称为相关分析。判断两个变量是否具有线性相关关系的最直观的方法是直接绘制散点图。多元线性回归。

    • 数据清洗
      数据清洗主要是删除原始数据集中的无关数据、重复数据、平滑噪音数据,刷选调与挖掘主题无关的数据,处理缺失值,异常值等。
      缺失值处理:删除记录、数据插补和不处理。
      异常值处理:直接删除、提油现有变量,进行填补。

    • 数据变换
      数据变换主要是对数据进行规范化处理,将数据转换成“适当”形势,以适用与挖掘任务与算法的需要。
      常见的数据变换方法,简单函数变换、规范化、连续属性离散化,属性构造,小波变换。

    • 数据规约
      数据规约产生更小但保持元数据完整性的新数据集。提高效率。主要包括属性规约和数值规约。

    • 数据集成
      数据来源往往分布在不同的数据源中,数据集成就是将数据源合并存在一个一致性的数据存储。

    4 构建模型

    样本抽取完并经预处理,对本次建模进行确认,是分类、聚合、关联规则、时序模式或者职能推荐,以便后续选用哪种算法进行模型构建。这一步是核心环节。
    针对餐饮行业的数据挖掘应用,挖掘建模主要基于关联规则算法的动态菜品职能推荐、基于聚类算法的餐饮客户价值分析、基于分类与预测算法的菜品销售预测、基于整体优化的新店选址。

    • 模型发现
    • 构建模型
    • 验证模型

    5 模型评价

    为了确保模型有效,需要对其进行测试评价,目的找出一个最好的模型。
    为了有效判断一个越策模型的性能表现,需要一组没有参与预测模型建立的数据集,并在该数据集上评价预测模型的精准率。

    • 设定评价标准
    • 多模型对比
    • 模型优化

    6 模型发布

    • 模型部署
    • 模型重构

    小结

    本章从一个知名餐饮企业经营过程中存在的困惑出发,引出数据挖掘的概念、基本任务、建模过程。
    针对建模过程,简要分析了定义挖掘目标、数据取样、数据塔索、数据预处理以及挖掘建模的各个算法概述和模型评价。
    如何帮助企业从数据中洞察商机、提取价值,这是现阶段几乎所有企业都关心的问题。通过发生在身边的案例,由浅入深引出深奥的数据挖掘理论,让读者感悟数据挖掘的非凡魅力。点赞
    个人看完这一章,对于数据挖掘的落地有了一个大概得了解,我们选择、使用、学习这些大数据的技术应该是结果导向的,这里会让人更清晰去选择技术,使用技术。

    Hadoop基础

    大数据技术,是指从各种类型的数据中,快速获得由价值信息的能力。适用大技术的技术,包括大规模并行处理(MPP)数据库,数据挖掘,分布式文件系统,分布式数据库,云计算平台,互联网和可扩展的存储系统。

    大数据特点4V

    • 数据量大(Volume)
    • 数据类型复杂(Variety)
    • 数据处理速度快(Velocity)
    • 数据真实性高(Veracity)

    当前,Hadoop已经成为了事实上的标准。
    Hadoop除了社区版,还有其他厂商发行的版本。

    • Cloudera:最成型的发行版本,拥有最多的部署案例;
    • Hortonworks:100%开源的Apache Hadoop唯一提供商。
    • MapR:
    • Amazon Elastic Map Reduce(EMR):这是一个托管的解决方案。

    生态系统

    Hadooop生态系统主要包括:Hive、HBase、Pig、Sqoop、Flume、Zookeeper、Mahout、Spark、Storm、Shark、Phoenix、Tex、Ambari

    Hive[haɪv]:数据仓库系统

    用于Hadoop的一个数据仓库系统,它提供了类似SQL的查询语言,通过使用该语言, 可以方便地进行数据汇总,特定查询以及分析存放在Hadoop兼容文件系统中的大数据。

    hive基于hdfs构建了数据仓库系统,它以hdfs作为存储,依赖于数据库(嵌入式的数据库derby或者独立的数据mysql或oracle)存储表schema信息,并完成基于sql自动解析创建mapreduce任务(由于mapreduce计算效率比较差,目前官方推荐的是底层计算模型采用tez或者spark)。
    所以hive可以理解为:hdfs原始存储+DB Schema信息存储+SQL解析引擎+底层计算框架组成的数据仓库。

    Hbase:分布式数据库

    一种分布式、可伸缩的、大数据库存储库,支持随机、实施读/写访问。

    Pig:工作流引擎

    Pig是一种编程语言,它简化了Hadoop常见的工作任务。Pig可加载数据、表达转换数据以及存储最终结果。Pig内置的操作使得半结构化数据变得有意义(如日志文件)。同时Pig可扩展使用Java中添加的自定义数据类型并支持数据转换。

    sqoop[skup]:数据库ETL工具

    为高效传输批量数据而设计的一种工具,其用于Apache Hadoop和结构化数据存储库如关系数据库 之间的数据传输。

    Flume:日志收集

    一种分布式、可靠的、可用的服务,其用于高效搜集、汇总、移动大量日志数据

    ZooKeeper[ˈzu:ki:pə(r)]:协同服务管理

    一种集中服务、其用于维护配置信息,命名,提供分布式同步,以及提供分组服务。

    HDFS:分布式数据存储系统

    hdfs是大数据系统的基础,它提供了基本的存储功能,由于底层数据的分布式存储,上层任务也可以利用数据的本地性进行分布式计算。hdfs思想上很简单,就是namenode负责数据存储位置的记录,datanode负责数据的存储。使用者client会先访问namenode询问数据存在哪,然后去datanode存储;写流程也基本类似,会先在namenode上询问写到哪,然后把数据存储到对应的datanode上。所以namenode作为整个系统的灵魂,一旦它挂掉了,整个系统也就无法使用了。在运维中,针对namenode的高可用变得十分关键。

    Mahout[məˈhaʊt]:算法集

    一种基于Hadoop的机器学习和数据挖掘的分布式计算框架算法集,实现了多重MapReduce模式的数据挖掘算法。

    spark:计算模型

    一种开源的数据分析集群计算框架,建立于HDFS纸上。于Hadoop一样,用于构建大规模、低延时的数据分析应用。它采用Scala语言实现,使用Scala作为应用框架。

    spark是现在大数据中应用最多的计算模型,它与java8的stream编程有相同的风格。封装了很多的计算方法和模型,以延迟执行的方式,在真正需要执行的时候才进行运算。既可以有效的做计算过程的容错,也可以改善我们的编程模型。
    Spark是一款很棒的执行引擎,我们可以看到大部分的Spark应用,是作为Hadoop分布式文件系统HDFS的上层应用。
    ( Spark 典型的取代了已经过时的MapReduce引擎,与Hadoop YARN (Yet Another Resource Negotiator,另一种资源协调者)或者分布式计算框架Mesos一起工作,有时候同时与两者一起作为一个计划进行)
    但是Cutting强调:“还有许多事情Spark是做不到的。”比如:它不是一个全文本搜索引擎;是Solr在Hadoop里扮演着这个角色。它可以运行SQL查询对抗Spark,但是它没有被设计成一个交互式查询系统,对此,Cutting提出,Impala可以实现交互查询。

    如果你只是要需要进行streaming 编程或者batch 编程,那么你需要一个执行引擎,Spark就是很棒的一个。但是人们想做的事情远不止于此,他们想实现交互式SQL(结构化查询语言),他们想实现搜索,他们想做各种涉及系统的实时处理,如Kafka(一种高吞吐量的分布式发布订阅消息系统)…我认为那些认为Spark就是整个堆的人是确实存在的少数情况。

    Storm:

    一个分布式、容错的实时计算系统。

    Shark[ʃɑ:k]:SQL查询引擎

    Hive on Spark,一个专门为Spark打造的大规模数据仓库系统,兼容Apache Hive。无需修改现有的数据或者查询,就可以用100倍的速度执行Hive SQL。Shark支持Hive查询语言、元存储、序列化格式及自定义函数,与现有Hive部署无缝集成,是一个更快、更强大的替代方案。

    Phoenix:

    一个构建在Apache HBase之上的一个SQL中间层,完全使用Java编写,提供了一个客户端可嵌入的JDBC驱动。

    Tez:

    一个机遇Hadoop YARN之上的DAG计算框架。它把Map/Reduce过程拆分成若干个子过程。同时可以把多个Map/Reduce任务组合成一个较大的DAG任务,减少Map/Reduce之间的文件存储。同时合理组合其子过程,减少任务的运行时间。

    Amari:安装部署工具

    一个供应、管理和监视Apache Hadoop集群的开源框架,它提供一个直观的操作工具和一个健壮的Hadoop Api,

    MapReduce:

    说穿了就是函数式编程,把所有的操作都分成两类,map与reduce,map用来将数据分成多份,分开处理,reduce将处理后的结果进行归并,得到最终的结果。

    ChuKwa:

    YARN[jɑ:n]:Hadoop 资源管理器

    Hadoop HDFS

    HDFS被设计成适合在通用硬件上的分布式文件系统。具有如下特点

    • 具有高度容错性的系统。设计用来部署在低廉的硬件上,提供高吞吐量,适合那些有超大数据集的应用程序,放宽了POSIX的要求这样可以实现以流的形式(streaming access)访问文件系统中的数据。
    • HDFS采用master/slave。一个集群由一个NameNode和多个DataNodes组成。

    • Active Namenode:主 Master(只有一个),管理 HDFS 的名称空间,管理数据块映射信息;配置副本策略;处理客户端读写请求。
    • Secondary NameNode:NameNode 的热备;定期合并 fsimage 和 fsedits,推送给 NameNode;当 Active NameNode 出现故障时,快速切换为新的 Active NameNode。
    • Datanode:Slave(有多个);存储实际的数据块;执行数据块读 / 写。
    • Client:与 NameNode 交互,获取文件位置信息;与 DataNode 交互,读取或者写入数据;管理 HDFS、访问 HDFS。

    Hive

    概念

    Hive最初是Facebook面对海量数据和机器学习的需求而产生和发展的,是建立在Hadoop上数据仓库基础架构,它可以将结构化的数据文件映射为一张数据库表,并提供简单的SQL查询功能。
    Hive作为数据仓库,提供一系列工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。
    Hive定义了简单的类SQL查询语言,成为HQL,它允许熟悉SQL用户查询数据。

    特点

    • 支持索引,加快数据查询。
    • 不同的存储类型,如纯文本文件、HBase中的文件。
    • 将元数据保存在关系数据库中,大大减少了在查询过程中执行语义检查的时候。
    • 可以直接使用存储在Hadoop文件系统中的数据。
    • 内置大量用户函数UDF来操作时间、字符串和其他的数据挖掘工具,支持用户扩展UDF函数来完成内置函数无法实现的操作。
    • 类SQL的查询方式,将SQL查询转换为MapReduce的Job在Hadoop集群上执行

    Hive并不能够在大规模数据集上实现低延迟快速的查询,不能提供实时的查询和基于行级的数据更新操作。比如几百MB的数据集上执行查询一般有分钟级的时间延迟。所以它不适合低延迟的应用。最佳应用在大数据集的批处理作业,如网络日志分析。

    Hive支持的数据模型

    表:存在在HDFS目录底下,固定目录
    外部表:跟表差不多,指定目录
    分区:
    桶:对指定的列计算其哈希值,根绝哈希值切分数据,目的是并行,每个桶对应一个文件。

    Hbase

    Hbase的应用场景、原理及架构分析
    深入了解HBASE架构(转)
    B-,B树,B+

    概念

    Hbase是一个分布式、面向列的开源数据库,利用HBASE技术可以在廉价PC服务器搭建大规模结构化存储集群。它不是关系型数据库,是一个适合非结构化的数据存储数据库。它利用Hadoop MapReduce来处理HBase中的海量数据,同时利用Zookeeper作为其协同服务。
    采购LSM算法,后面继续深入研究,这个算法,实在内存中对未排序的值进行,拆分排序,比如N个数,每M个拆分一次做排序,那么每次寻找的计算量应该是N/M*log2M

    特点

    • 线性和模块化可扩展性
    • 严格一致的读取和写入
    • 表的自动配置和分片
    • 支持RegionServers之间的自动故障转移
    • 方便的基类支持Hadoop的MapReduce作业与Apache HBase的表
    • 易于使用的Java API的客户端访问
    • 块缓存和布鲁姆过滤器实时查询
    • Thrift网管和REST-FUL Web服务支持XML、protobuf和二进制的数据编码选项;
    • 可扩展的基于JRuby(JIRB)的脚本;
    • 支持监控信息通过Hadoop子系统导出到文件或Ganglia

    Pig和Hive还未HBase提供了高层语言支持,这使得HBase上进行数据统计处理变得非常简单。Sqoop则为HBase提供了RDBMS数据导入功能,使用传统数据库向HBase迁移变得很方面。

    原理


    HBase构建在HDFS之上,其组件包括 Client、zookeeper、HDFS、Hmaster以及HRegionServer。Client包含访问HBase的接口,并维护cache来加快对HBase的访问。Zookeeper用来保证任何时候,集群中只有一个master,存贮所有Region的寻址入口以及实时监控Region server的上线和下线信息。并实时通知给Master存储HBase的schema和table元数据。HMaster负责为Region server分配region和Region server的负载均衡。如果发现失效的Region server并重新分配其上的region。同时,管理用户对table的增删改查操作。Region Server 负责维护region,处理对这些region的IO请求并且切分在运行过程中变得过大的region。

    Hbase底层使用还是Hadoop的HDFS。同时包含3个重要组件,
    Zookeeper:为整个HBase集群提供协助的服务(信息传输);
    HMaster:监控和操作集群中所有的RegionServer;
    HregionServer:服务和管理分区(regions)。

    **Region:**Hbase的Table中的所有行都按照row key的字典序排列。Table 在行的方向上分割为多个Region。、Region按大小分割的,每个表开始只有一个region,随 着数据增多,region不断增大,当增大到一个阀值的时候, region就会等分会两个新的region,之后会有越来越多的 region。


    Region是HBase中分布式存储和负载均衡的最小单元。 不同Region分布到不同RegionServer上。

    Region虽然是分布式存储的最小单元,但并不是存储 的最小单元。Region由一个或者多个Store组成,每个store保存一个 columns family。每个Strore又由一个memStore和0至多个StoreFile组成。memStore存储在内存中,StoreFile存储在HDFS上。

    HBase和RDBMS的区别

    HBASE设计的初衷是针对大数据进行随机地、实时地读写操作。区别

    特点类型HBaseRDBMS
    数据类型简单的字符串类型,用户自己处理有数值、字符串、时间类型等丰富选择
    数据操作简单的插入、查询、删除、清空等操作,表和表分离有各种各样的函数、连接操作等。
    存储模式基于列存储,每个列由几个文件保存,不同列的文件是分离的基于表结构和行模式保存
    数据维护更新操作不应该叫更新,实际是插入数据真正替换
    可伸缩性方便、快速需要增加中间层,复杂
    具体应用适应海量存储和互联网应用,灵活分布式架构可以组建大的数据仓库具有ACID特性,丰富的SQL,具备面向磁盘存储、带有索引结构、多线程访问、基于锁的同步访问机制、基于log记录的恢复机制等

    HBase数据模型

    传统型数据库以行的形式存储数据,每行数据包含多列,每列只有单个值。在HBase中,数据实际存储在一个“映射”中,并且“映射”的键(key)是被排序的。类似JavaScript Object(JSON)
    HBase包含如下几个概念:
    1 Row key
    一条记录的唯一标示
    2 column family
    一列数据的集合的存储体,作为列簇
    3 Column qualifier
    在列簇中的每个列数据的限定符,用于指定数据的属性
    4 Cell
    实际存储的数据,包含数据和时间戳

    小结

    这里介绍大数据数据库HBASE的基础概念,分析了HBase的原理,主要包括其与RDBMS的对比、访问接口、数据模型等。最后结构HBase的架构图介绍各个模块组件,包括HMaster、HRegionServer、Zookeeper

    大数据挖掘建模平台

    本章首先介绍常用的大数据平台,采用开源的TipDM-HB大数据挖掘建模平台。
    SOA架构,面向服务架构,以为着服务接口、流程整合、资源可利用、管控。

    挖掘建模

    经过数据探索与数据预处理,得到了可以建模的数据。
    根据挖掘目标和数据形式可以建立分类与预测、聚类分析、关联规则、职能推荐等模型。

    展开全文
  • 本文首先介绍数据挖掘的基本内容,然后按照数据挖掘基本的处理流程,以性别预测实例来讲解一个具体的数据挖掘任务是如何实现的。数据挖掘的基本内容 首先,对于数据挖掘的概念,目前比较广泛认可的一种解释如下: ...

    互联网的迅猛发展,催生了数据的爆炸式增长。面对海量的数据,如何挖掘数据的价值,成为一个越来越重要的问题。本文首先介绍数据挖掘的基本内容,然后按照数据挖掘基本的处理流程,以性别预测实例来讲解一个具体的数据挖掘任务是如何实现的。

    数据挖掘的基本内容

    • 首先,对于数据挖掘的概念,目前比较广泛认可的一种解释如下:

    Data mining is the use of efficient techniques for the analysis of very large collections of data and the extraction of useful and possibly unexpected patterns in data.
    数据挖掘是一种通过分析海量数据,从数据中提取潜在的但是非常有用的模式的技术。

    • 主要的数据挖掘任务

    数据挖掘任务可以分为预测性任务和描述性任务。预测性任务主要是预测可能出现的情况;描述性任务则是发现一些人类可以解释的模式或规律。数据挖掘中比较常见的任务包括分类、聚类、关联规则挖掘、时间序列挖掘、回归等,其中分类、回归属于预测性任务,聚类、关联规则挖掘、时间序列分析等则都是解释性任务。

    按照数据挖掘的基本流程,来谈谈分类问题

    在简单介绍了数据挖掘的基本内容后,我们来切入主题。以数据挖掘的流程为主线,穿插性别预测的实例,来讲解分类问题。根据经典教科书和实际工作经验来看,数据挖掘的基本流程主要包括五部分,首先是明确问题,第二是对数据进行预处理,第三是对数据进行特征工程,转化为问题所需要的特征,第四是根据问题的评价标准选择最优的模型和算法,最后将训练的模型用于实际生产,产出所需结果(如图1所示)。

    图片描述

    图1 数据挖掘的基本流程

    下面我们分别介绍各环节涉及的主要内容:

    1.明确问题和了解数据

    这一环节最重要的是需求和数据的匹配。首先需要明确需求,有着怎样的需求?是需要做分类、聚类、推荐还是其他?实际数据是否支持该需求?比如,分类问题需要有或者可以构造出training set,如果没有training set,就没有办法按照分类问题来解决。此外,数据的规模、重要feature的覆盖度等,也是需要特别考虑的问题。

    2.数据预处理

    1)数据集成,数据冗余,数值冲突

    数据挖掘中准备数据的时候,需要尽可能地将相关数据集成在一起。如果集成的数据中,有两列或多列值一样,则不可避免地会产生数值冲突或数据冗余,可能需要根据数据的质量来决定保留冲突中的哪一列。

    2)数据采样

    一般来说,有效的采样方式如下:如果样本是有代表性的,则使用样本数据和使用整个数据集的效果几乎是一样的。抽样方法有很多,需要考虑是有放回的采样,还是无放回的采样,以及具体选择哪种采样方式。

    3)数据清洗、缺失值处理与噪声数据

    现实世界中的数据,是真实的数据,不可避免地会存在各种各样的异常情况。比如某列的值缺失,或者某列的值是异常的,所以,我们需要在数据预处理阶段进行数据清洗,来减少噪音数据对模型训练和预测结果的影响。

    3.特征工程

    数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。下面的观点说明了特征工程的特点和重要性。

    Feature engineering is another topic which doesn’t seem to merit any review papers or books, or even chapters in books, but it is absolutely vital to ML success. […] Much of the success of machine learning is actually success in engineering features that a learner can understand.
    — Scott Locklin, in “Neglected machine learning ideas

    1)特征:对所需解决问题有用的属性

    特征是对你所需解决问题有用或者有意义的属性。比如,在计算机视觉领域,图片作为研究对象,可能图片中的一个线条就是一个特征;在自然语言处理领域中,研究对象是文档,文档中的一个词语的出现次数就是一个特征;在语音识别领域中,研究对象是一段话,phoneme(音位)可能就是一个特征。

    2)特征的提取、选择和构造

    既然特征是对我们所解决的问题最有用的属性。首先我们需要处理的是根据原始数据抽取出所需要的特征。亟需注意的是,并不是所有的特征对所解决的问题产生的影响一样大,有些特征可能对问题产生特别大的影响,但有些则可能影响甚微,和所解决的问题不相关的特征需要被剔除掉。因此,我们需要针对所解决的问题选择最有用的特征集合,一般可以通过相关系数等方式来计算特征的重要性。当然,有些模型本身会输出feature重要性,如Random Forest等算法。而对于图片、音频等原始数据形态特别大的对象,则可能需要采用像PCA这样的自动降维技术。另外,还可能需要本人对数据和所需解决的问题有深入的理解,能够通过特征组合等方法构造出新的特征,这也正是特征工程被称之为是一门艺术的原因之一。

    实例讲解(一)

    接下来,我们通过一个性别预测的实例来说明数据挖掘处理流程中的“明确问题”、“数据预处理”和“特征工程”三个部分。

    假设我们有如下两种数据,想根据数据训练一个预测用户性别的模型。

    • 数据1: 用户使用App的行为数据;
    • 数据2: 用户浏览网页的行为数据;

    第一步:明确问题

    1. 首先明确该问题属于数据挖掘常见问题中的哪一类, 是分类、聚类,推荐还是其他?假设本实例数据有部分数据带有男女性别,则该问题为分类问题;
    2. 数据集是否够大?我们需要足够大的数据来训练模型,如果数据集不够大,那么所训练的模型和真实情况偏差会比较大;
    3. 数据是否满足所解决问题的假设?统计发现男人和女人使用的App不太一致,浏览网页的内容也不太一致,则说明我们通过数据可以提取出对预测性别有用的特征,来帮助解决问题。如果根据数据提取不出有用的特征,那么针对当前数据,问题是没法处理的。

    第二步:数据预处理

    1. 实际工作中,在数据预处理之前需要确定整个项目的编程语言(如Python、Java、 Scala)和开发工具(如Pig、Hive、Spark)。通常而言,编程语言和开发工具的选择都依赖于所处的数据平台环境;
    2. 选取多少数据做模型训练?这是常说的数据采样问题。一般认为采样数据量越大,对所解决的任务帮助越大,但是数据量越大,计算代价也越大,因此,需要在解决问题的效果和计算代价之间折中一下;
    3. 把所有相关的数据聚合在一起,如果有相同字段则存在数据冗余的问题,需要根据数据的质量剔除掉冗余的数据;数据中可能存在异常值,则需要过滤掉;数据中可能有的值有缺失,则需要填充默认值。

    数据预处理后可能的结果(如表1、表2所示):

    表1 数据1预处理后结果

    图片描述

    表2 数据2预处理后结果

    图片描述

    第三步:特征工程

    由于数据1和数据2的类型不太一样,所以进行特征工程时,所采用的方法也不太一样,下面分别介绍一下:

    1. 数据1的特征工程

    数据1的单个特征的分析主要包括以下内容:

    • 数值型特征的处理,比如App的启动次数是个连续值,可以按照低、中、高三个档次将启动次数分段成离散值;
    • 类别型特征的处理,比如用户使用的设备是三星或者联想,这是一个类别特征,可以采用0-1编码来处理;
    • 需要考虑特征是否需要归一化。

    数据1的多个特征的分析主要包括以下内容:

    • 使用的设备类型是否决定了性别?需要做相关性分析,通常计算相关系数;
    • App的启动次数和停留时长是否完全正相关,结果表明特别相关,则说明App的停留时长是无用特征,将App的停留时长这个特征过滤掉;
    • 如果特征太多,可能需要做降维处理。

    2.数据2的特征工程

    数据2是典型的文本数据,文本数据常用的处理步骤包含以下几个部分:

    网页 → 分词 → 去停用词 → 向量化

    • 分词。可以采用Jieba分词(Python库)或张华平老师的ICTCLAS;
    • 去除停用词。停用词表除了加入常规的停用词外,还可以将DF(Document Frequency)比较高的词加入停用词表,作为领域停用词;
    • 向量化。一般是将文本转化为TF或TF-IDF向量。

    特征工程后数据1的结果(如表3所示,A1低表示启动App1的次数比较低,以此类推,is_hx表示设备是否是华为,Label为1表示Male)。

    表3 数据1特征工程后结果

    图片描述

    特征工程后数据2的结果(如表4所示,term1=5表示user1浏览的网页中出现词1的频率,以此类推)。

    表4 数据2特征工程后结果

    图片描述

    第四步:算法和模型

    做完特征工程后,下一步就是选择合适的模型和算法。算法和模型的选择主要考虑一下几个方面:

    1. 训练集的大小;
    2. 特征的维度大小;
    3. 所解决问题是否是线性可分的;
    4. 所有的特征是独立的吗?
    5. 需要不需要考虑过拟合的问题;
    6. 对性能有哪些要求?

    上面中提到的很多问题没法直接回答,可能我们还是不知道该选择哪种模型和算法,但是奥卡姆剃刀原理给出了模型和算法的选择方法:

    Occam’s Razor principle: use the least complicated algorithm that can address your needs and only go for something more complicated if strictly necessary.

    业界比较通用的算法选择一般是这样的规律:如果LR可以,则使用LR;如果LR不适合,则选择Ensemble的方式;如果Ensemble方式不适合,则考虑是否尝试Deep Learning。下面主要介绍一下LR算法和Ensemble方法的相关内容。

    • LR算法(Logistic Regression,逻辑回归算法)

    只要认为问题是线性可分的,就可采用LR,通过特征工程将一些非线性特征转化为线性特征。 模型比较抗噪,而且可以通过L1、L2范数来做参数选择。LR可以应用于数据特别大的场景,因为它的算法效率特别高,且很容易分布式实现。

    区别于其他大多数模型,LR比较特别的一点是结果可以解释为概率,能将问题转为排序问题而不是分类问题。

    • Ensemble方法(组合方法)

    组合方法的原理主要是根据training set训练多个分类器,然后综合多个分类器的结果,做出预测(如图2所示)。

    图片描述

    图2 组合方法的基本流程

    组合方式主要分为Bagging和Boosting。Bagging是Bootstrap Aggregating的缩写,基本原理是让学习算法训练多轮,每轮的训练集由从初始的训练集中随机取出的n个训练样本组成(有放回的随机抽样),训练之后可得到一个预测函数集合,通过投票方式决定预测结果。

    而Boosting中主要的是AdaBoost(Adaptive Boosting)。基本原理是初始化时对每一个训练样本赋相等的权重1/n,然后用学习算法对训练集训练多轮,每轮结束后,对训练失败的训练样本赋以较大的权重。也就是让学习算法在后续的学习中集中对比较难的训练样本进行学习,从而得到一个预测函数集合。每个预测函数都有一定的权重,预测效果好的预测函数权重较大,反之较小,最终通过有权重的投票方式来决定预测结果。

    Bagging和Boosting的主要区别如下:

    1. 取样方式不同。Bagging采用均匀取样,而Boosting根据错误率来取样,因此理论上来讲Boosting的分类精度要优于Bagging;
    2. 训练集的选择方式不同。Bagging的训练集的选择是随机的,各轮训练集之间相互独立,而Boostng的各轮训练集的选择与前面的学习结果有关;
    3. 预测函数不同。Bagging的各预测函数没有权重,而Boosting是有权重的。Bagging的各个预测函数可以并行生成,而Boosting的各个预测函数只能顺序生成。

    对于像神经网络这样极其耗时的学习方法,Bagging可通过并行训练节省大量时间开销。Bagging和Boosting都可以有效地提高分类的准确性。在大多数数据集中,Boosting的准确性比Bagging要高。

    分类算法的评价
    上一部分介绍了常用的模型和算法,不同的算法在不同的数据集上会产生不同的效果,我们需要量化算法的好坏,这就是分类算法的评价。在本文中,笔者将主要介绍一下混淆矩阵和主要的评价指标。

    1.混淆矩阵(如图3所示)

    图片描述

    图3 混淆矩阵

    1)True positives(TP):即实际为正例且被分类器划分为正例的样本数;
    2)False positives(FP):即实际为负例但被分类器划分为正例的样本数;
    3)False negatives(FN):即实际为正例但被分类器划分为负例的样本数;
    4)True negatives(TN):即实际为负例且被分类器划分为负例的样本数。

    2.主要的评价指标

    1)准确率accuracy=(TP+TN)/(P+N)。这个很容易理解,就是被分对的样本数除以所有的样本数。通常来说,准确率越高,分类器越好;
    2)召回率recall=TP/(TP+FN)。召回率是覆盖面的度量,度量有多少个正例被分为正例。
    3)ROC和AUC。

    实例讲解(二)

    实例(一)产出的特征数据,经过“模型和算法”以及“算法的评价”两部分所涉及的代码实例如图4所示。

    图片描述

    图4 模型训练示例代码

    总结

    本文以数据挖掘的基本处理流程为主线,以性别预测为具体实例,介绍了处理一个数据挖掘的分类问题所涉及的方方面面。对于一个数据挖掘问题,首先要明确问题,确定已有的数据是否能够解决所需要解决的问题,然后就是数据预处理和特征工程阶段,这往往是在实际工程中最耗时、最麻烦的阶段。经过特征工程后,需要选择合适的模型进行训练,并且根据评价标准选择最优模型和最优参数, 最后根据最优模型对未知数据进行预测,产出结果。希望本文的内容对大家有所帮助。

    作者简介:王琪,友盟高级数据挖掘工程师,武汉大学硕士,工作涉及友盟的各类数据挖掘和分析任务。对数据挖掘和分析、自然语言处理和文本检索有多年的理论和实践经验。

    本文为《程序员》杂志2月版特约文章,订阅详情可点击:http://dingyue.programmer.com.cn/

    第一时间掌握最新移动开发相关信息和技术,请关注mobilehub公众微信号(ID: mobilehub)。

    图片描述

    2016年3月18日-19日,由CSDN重磅打造的数据库核心技术与实战应用峰会、互联网应用架构实战峰会将在上海举行。这两场峰会将邀请业内顶尖的架构师和技术专家,共同探讨高可用/高并发系统架构设计、新技术应用、移动应用架构、微服务、智能硬件架构、云数据库实战、新一代数据库平台、产品选型、性能调优、大数据应用实战等领域的热点话题与技术。

    2月29日24点前仍处于最低六折优惠票价阶段,单场峰会(含餐)门票只需799元,5人以上团购或者购买两场峰会通票更有特惠,限量供应,预购从速。(票务详情链接)。

    展开全文
  • 这是一本适合教学和零基础自学的Hadoop与大数据挖掘的教程,即便你完全没有Hadoop编程基础和大数据挖掘基础,根据本书中的理论知识和上机实践,也能迅速掌握如何使用Hadoop进行大数据挖掘。全书主要分为两篇:基础篇...
  • 数据挖掘概述1.1 数据挖掘的概念1.2 数据挖掘的功能1.2.1常见的数据挖掘功能:1.2.2数据挖掘功能详细介绍:1.3 数据挖掘运用到的技术1.4 大数据挖掘和传统数据挖掘的区别2. 大数据挖掘的计算框架2.1 大数据挖掘计算...
  • 数据挖掘算法和实际应用案例

    万次阅读 多人点赞 2018-07-27 10:29:33
    第一次写博客,这次主要引用Little_Rookie大佬的一篇博客,主要来说明一下数据挖掘的主要算法和分类,以及实际生活中的应用案例,同时也是为了方便自己 以后的学习。 如何分辨出垃圾邮件”、“如何判断一笔交易是否...
  • 海量数据离线处理 2.易开发 3.易运行 缺点:实时流计算 MapReduce计算框架,基于磁盘(硬盘)IO输入输出 我从磁盘上读取数据到内存中,计算,得出结果放到磁盘 spark计算框架 ,基于内存的(内存条) 很短的时间内,...
  • 原先我对于数据挖掘只停留在了爬虫获取数据,使用工具对数据进行清洗,然后整理汇总出需要的信息的这个层次。看完这本书之后才发现了之前使用爬虫得到数据只能叫做数据获取,真正的数据挖掘远远复杂,在数据挖掘中...
  • 本文简要介绍了大数据、数据挖掘和机器学习。对于任何想要理解什么是大数据、数据挖掘和机器学习以及它们之间的关系的人来说,这篇文章都应该很容易读懂。 数据挖掘和大数据能做什么? 简而言之,它们赋予我们...
  • 海量数据挖掘MMDS week1: MapReduce

    千次阅读 2015-09-14 19:21:28
    海量数据挖掘Mining Massive Datasets(MMDs) -Jure Leskovec courses学习笔记 Distributed File Systems分布式文件系统DFS why we need Map-Reduce in the first pla
  • 数据分析:Hive、Pig和Impala

    千次阅读 2016-12-09 14:34:11
    主要是针对Hive、Pig和Impala各自的特点、应用、区分,以及与传统数据库的区别来进行阐述,对于深入了解数据分析工具在实际中的运用有着重要作用。
  • 阿里巴巴集团研究员薛贵荣就曾表示,“大数据分析师就是一群玩数据的人,玩出数据的商业价值,让数据变成生产力。”而大数据和传统数据的最大区别在于,它是在线的、实时的、规模海量且形式不规整,无章法
  • 数据挖掘知识框架

    千次阅读 2015-05-26 15:49:58
    本文详细介绍数据挖掘知识框架,主要从基础、统计、编程、机器学习、文本挖掘、自然语言处理、可视化、大数据、数据获取、数据清理、数据转换、工具箱等几个方面介绍数据挖掘工程师所需要具备的知识。
  • 几个名词解释:大数据、Hadoop、云计算、机器学习、NLP、数据挖掘 大数据: 大数据是相对于传统"小数据"的, 传统由于数据处理的成本很高,所以只能处理部分信息系统中产生的非常规范的数据,而对于文本、...
  • 数据挖掘导论,机器学习,andrew ng机器学习课程,机器学习实战(其中,数据挖掘导论主要讲概念,andrew ng进行比较细致的学习,实现算法参考机器学习实战) kaggle找几个简单题进行实战 数据结构基础:...
  • Hadoop 的普及和其生态系统的不断壮大并不令人感到意外。...Apache Pig 改变了这种状况,它在 MapReduce 的基础上创建了更简单的过程语言抽象,为 Hadoop 应用程序提供了一种更加接近结构化查询语言 (SQL) 的接
  • 目前大数据已经成为了各家互联网公司的核心资产和竞争力了,其实不仅是互联网公司,包括传统企业也拥有大量的数据,也想把这些数据发挥出作用。在这种环境下,大数据技术的重要性和火爆程度相信没有人去怀疑。 而AI...
  • Hive和Pig是高级数据语言,基于Mapreduce,底层处理的时候会转换成Mapreduce去提交,Hive和Pig都是开源的,Hive最初由Facebook开发,Pig最初由Yahoo!开发,下面进行分别介绍: 一、什么是Hive? Hive可以看做是SQL到...
  • 数据挖掘简述

    2018-02-15 16:41:00
    2.写给程序员的数据挖掘指南 3.数学之美 4.introduction to data mining 5.data mining:concepts and techniques MOOCs(慕课): Andrew NG(machine learning) ; maching learning foundations ; DOCs...
  • 作者:ZakeXu ...amp;amp;order=4&...《数据挖掘 —— 从入门到求职》 by ZakeXu PS:文中所涉及资料可从以下链接获取(包括简历模版) http://pan.baidu.com/s/1o8r0ux0 最近秋招也已经...
  • 数据挖掘工具

    2011-11-17 10:11:00
    ETL工具:Talend, Kettle 分布式开源框架: Hadoop, hive, pig, hbase 搜索开源框架:lucene, solr, sphinx
  • 教你如何迅速秒杀掉:99%的海量数据处理面试题海量数据处理:十道面试题与十个海量数据处理方法总结MapReduce技术的初步了解与学习 面试归类 下面6个方面覆盖了大多数关于海量数据处理的面试题: ...
  • 自从开源分布式数据处理平台在5年前发布时讨论之声就不绝于耳。在过去的一年中,Hadoop赢得了客户的认可,并得到众多商业化的支持以及众多数据库和数据集成软件商的整合。   Hadoop可以管理结构化数据,以及...
  • 大数据是指无法在一定时间内用常规软件工具对其内容进行抓取、管理和处理的数据集合,对大数据的分析已经成为一个非常重要且紧迫的需求。目前对大数据的分析工具,首选的是Hadoop平台。Hadoop在可伸缩性、健壮性、...
  • 人们对于海量数据挖掘和运用,预示着新一波生产率增长和消费者盈余浪潮的到来。”早在2012年,大数据(big data)一词已经被广泛提起,人们用它来描述和定义信息爆炸时代产生的海量数据,并命名...
  • 什么时候用Apache Pig? 什么时候用Apache Hive? 什么时候用SQL? 有人说对于大数据分析来说Hadoop才是炙手可热的新技术,SQL虽然久经考验但已经有些过时了。这话说得不错,但有非常多的项目都用Hadoop作为数据存储,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,317
精华内容 2,126
关键字:

数据挖掘的pig