《大数据导论》第3章 从产业结构来探索大数据技术_第1页
《大数据导论》第3章 从产业结构来探索大数据技术_第2页
《大数据导论》第3章 从产业结构来探索大数据技术_第3页
《大数据导论》第3章 从产业结构来探索大数据技术_第4页
《大数据导论》第3章 从产业结构来探索大数据技术_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

从产业结构来探索大数据技术第3章LOGO目录3.1大数据产业结构概述013.2大数据的解决方案023.3大数据采集技术033.4大数据预处理技术04053.5大数据可视化技术

产业结构概述产业结构(IndustrialStructure)是指农业、工业和服务业在一国经济结构中所占的比重。近年来,随着互联网、云计算、物联网等信息技术的进步,在工业化和信息化快速发展的背景下,大数据产业欣欣向荣。大数据的快速发展是产业结构转型升级的重要推动力。之后主要介绍三方面内容:①从产业结构探索大数据技术的产生、发展以及处理的基本流程;②介绍大数据采集技术及大数据预处理技术;③介绍大数据可视化技术及其分类。当前以微电子、大数据、信息产品制造业为代表的技术密集型产业正迅猛发展,成为带动发达国家经济增长的主导产业。因此可以说,技术密集型产业的发展水平决定一个国家的竞争力和经济增长的前景。技术创新与技术结构变动是产业结构优化的决定性因素。从产业角度看,大数据产业指以数据生产、采集、存储、加工、分析、服务为主的相关经济活动,包括数据资源建设、数据软硬件产品的开发、销售和租赁活动,以及相关信息技术服务。大数据融入产业结构图主要可以分为三大类如左图所示3.1大数据产业结构示意图概述

大数据产业结构所需的技术支持我们从硬件、基础软件、应用软件、信息服务和数据生成、数据存储、数据处理、数据应用共两条路线、四个维度来划分大数据产业结构所需的技术支持,其中共涉及11个大类主要的产品和服务,如图所示。其中,基础软件(数据库软件和分布式文件系统)、应用软件是大数据产业价值转化变现的最关键部分,其他7种在某种意义上是在原有基础上持续更新并与大数据发展配套的过程。对大数据的处理主要包括:数据生成(也称为数据采集、数据获取)、数据存储、数据处理和数据应用(也称为数据分析与挖掘)。硬件支持软件支持采集设备、存储设备和服务器等支持;数据库软件、分布式文件系统、智能搜索软件、采集软件、分析软件、监测软件等各类软件技术支持;信息服务有系统集成、IT基础设施服务、咨询服务等,并且要保证信息安全;3.2大数据的解决方案大数据如此重要,以至于其采集、储存、搜索、共享、分析、乃至可视化呈现,都成为了当前重要的研究课题。技术是大数据价值体现的手段和前进的基石。下面从大数据数据源的产生和处理,以及大数据处理的基本流程来讨论大数据的解决方案。数据产生方式的改变1.运营式系统阶段2.用户原创内容阶段3.感知式系统阶段运营式系统阶段的代表是数据库的出现,使得数据管理的复杂度大大降低。在实际使用中,数据库大多为运营系统所采用,如银行的交易记录系统等。这个阶段的最主要特点是数据的产生往往伴随着一定的运营活动,而且数据是记录在数据库中的,这种数据的产生方式是被动的。用户原创内容阶段的代表是Web2.0的产生,Web2.0的最重要标志就是用户原创内容。Web2.0的诞生促使人类社会数据量出现第二次大的飞跃,这个阶段的数据产生方式是主动的。感知式系统阶段的代表是物联网。随着技术的发展,人们已经有能力制造极其微小的带有处理功能的传感器,并开始将这些设备广泛地布置于社会的各个角落,通过这些设备来对整个社会的运转进行监控。这些设备会源源不断地产生新数据,这种数据的产生方式是自动的。人类社会数据量第三次大的飞跃最终导致了大数据的产生,这次飞跃的根本原因在于感知式系统的广泛使用。数据采集方式的改变1.传统的数据采集2.大数据时代数据采集来源单一,且存储、管理和分析的数据量也相对较小,大多采用关系型数据库和并行数据仓库即可处理。对依靠并行计算提升数据处理速度方面而言,传统的并行数据库技术追求高度的一致性和容错性,难以保证其可用性和扩展性,并且以往进行数据采集时的采样密度较低,获得的采样数据有限。有了大数据处理平台的支撑,可以对需要分析的事件的数据进行更加密集地采样,从而精确地获取事件的全局数据。数据的采集方式由以往的被动采集数据转变为主动生成数据。在大数据的采集过程中,其主要特点和挑战是并发数高,因为同时有可能会有成千上万的用户来进行访问和操作。大数据处理的基本流程及相应技术支持大数据的处理流程可以定义为在适合工具的辅助下,对广泛异构的数据源进行抽取和集成,结果按照一定的标准统一存储,利用合适的数据分析技术对存储的数据进行分析,从中提取有益的知识并利用恰当的方式将结果展示给终端用户。大数据的处理步骤分为:①获取源数据;②进行数据清洗;③数据分析;④数据解释;⑤将数据分析与解释的结果呈现给用户。(1)数据抽取与集成1.基于物化或ETL(Extract-Transform-Load)方法的引擎。2.基于联邦数据库或中间件方法的引擎由于大数据处理的数据来源类型丰富,大数据处理的第一步就是对数据进行清洗,从中提取出关系和实体,经过关联和聚合等操作,按照统一定义的格式对数据进行存储,即实现大数据预处理。方法有以下四种ETL是利用某种装置(如摄像头、麦克风),从系统外部采集数据并输入到系统内部的一个接口。3.基于数据流方法的引擎联邦数据库系统是一个彼此协作却又相互独立的单元数据库集合。联邦数据库技术就是为了实现对相互独立运行的多个数据库进行互操作,从而进行数据抽取与集成。数据流引擎可以在数据到达时处理数据,从而过滤掉不需要的数据,或者在将结果数据发送到最终目的地之前改变传入的数据。4.基于搜索引擎的方法搜索引擎将网页大量抓取下来,通过分析器解析,将有价值的数据入库,检索器(索引器)对有效的内数据建立检索。(2)数据分析数据分析是大数据处理流程的核心步骤,通过数据抽取和集成环节,已经从异构的数据源中获得了用于大数据处理的原始数据,用户可以根据自己的需求对这些数据进行分析处理,如数据挖掘、机器学习、数据统计等,数据分析可以用于决策支持、商业智能、推荐系统、预测系统等。目前采集到的大数据85%以上是非结构化和半结构化数据,传统的关系数据库无法胜任这些数据的处理。如何高效处理非结构化和半结构化数据,是大数据计算技术的核心要点。如何能够在不同的数据类型中,进行交叉计算,是大数据计算技术要解决的另一核心问题。大数据计算技术可分为批处理计算和流处理计算,批处理计算主要操作大容量、静态的数据集,并在计算过程完成后返回结果,适用于需要计算全部数据后才能完成的计算工作;流处理计算会对随时进入的数据进行计算,流处理计算无需对整个数据集执行操作,而是对通过传输的每个数据项执行操作,处理结果立刻可用,并会随着新数据的抵达继续更新结果。(2)数据分析目前主要流行以下大数据分析技术Hive是Facebook团队开发的一个可以支持PB级别的可伸缩的数据仓库。这是一个建立在Hadoop之上的开源数据仓库解决方案。其使用类SQL(HiveQL)语言,底层经过编译转为MapReduce程序,在Hadoop上运行,最终将数据存储在HDFS上。,用户可以使用的HiveQL将自定义的MapReduce脚本插入到查询中。该语言支持基本数据类型,类似数组和Map的集合或者他们的嵌套组合。Hive简化了对于那些不熟悉HadoopMapReduce接口的用户学习门槛,Hive提供的一些HiveQL语句不只是可以进行查询操作,还可以对数据仓库中的数据进行简要的分析与计算。同属于Hadoop开源生态系统的新成员ApacheSpark提供了一个比Hive更快的查询引擎,因为它依赖于自己的数据处理框架而不是依靠Hadoop的HDFS服务。同时,它还用于事件流处理、实时查询和机器学习等方面。这是一个ETL(Extract,Transform,andLoad)工具,可执行数据仓库到数据库之间的数据同步,提供基于EclipseRCP的图形操作界面。Talend工具用于协助进行数据质量、数据集成和数据管理等方面工作。它是一个统一的平台,通过提供一个统一的,跨企业边界生命周期管理的环境,使数据管理和应用更简单便捷。这种设计可以帮助企业构建灵活、高性能的企业架构,在此架构下,集成并启用百分之百开源服务的分布式应用程序变为可能。(3)数据解释大数据处理流程中用户最关心的是数据处理的结果,计算结果的展现方式有标签云、关系图等。正确的数据处理结果只有通过合适的展示方式才能被终端用户正确理解,因此数据处理结果的展示非常重要,可视化和人机交互是数据解释的主要技术。标签云关系图3.3大数据采集技术从上一节的学习中可以了解到大数据处理关键技术一般包括:大数据采集、大数据预处理、大数据存储及管理、大数据分析与解释、大数据展现和应用等。可以看到,数据采集属于数据分析生命周期的第一步,它通过传感器数据、社交网络数据、移动互联网数据使用ETL、Flume等方式获得各种类型的结构化、半结构化或者非结构化的海量数据。那什么是大数据采集技术,以及大数据采集有哪些方法呢?3.3.1大数据采集概述

大数据采集技术是指对数据进行ETL(Extract-Transform-Load)操作,即用户从数据源抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据模型,将数据加载到数据仓库中的过程。数据从数据来源端经过提取(Extract)、转换(Transform)、加载(Load)到目的端,然后进行处理分析,最终挖掘数据的潜在价值,提供给用户解决方案或者决策参考。

大数据的采集依靠多个数据库接收来自客户端(Web、APP或传感器等)的数据,并且用户可以通过这些数据库来进行简单的查询和处理工作。如电商使用传统的关系型数据库MySQL和Oracle等来存储每一笔事务数据,除此之外,Redis和MongoDB这样的NoSQL数据库也常用于数据的采集。

大数据采集技术系统分类1.日志采集系统收集日志数据,供离线和在线的数据分析使用。目前常用的开源日志收集系统有Flume、Scribe等。2.网络数据采集系统通过网络爬虫和一些网站平台提供的公共API(如Twitter和新浪微博API)等方式从网站上获取数据。目前常用的网页爬虫系统有ApacheNutch、Crawler4j、Scrapy等框架。3.数据库采集系统一些企业使用传统的关系型数据库MySQL和Oracle等来存储数据。除此之外,Redis和MongoDB这样的NoSQL数据库也常用于数据的采集。企业每时每刻都在产生业务数据,而这些复杂的数据按照关系结构模型被归结为二元关系(即二维表格形式)再写到数据库中,通过对这些关系表格的分类、合并、连接或选取等操作来实现数据的管理,最后由特定的处理分析系统进行系统分析。3.3.2日志采集系统——Flume每个公司的业务平台每天都会产生大量的日志数据,通过对这些日志信息进行日志采集、收集,然后进行数据分析,挖掘公司业务平台日志数据中的潜在价值。为公司决策和公司后台服务器平台性能评估提高可靠的数据保证。Flume最早是Cloudera公司提供的实时日志采集系统,目前是Apache的一个孵化项目。ApacheFlume是一个分布式、可靠、可用的服务,用于高效地收集、聚合和移动大量的日志数据,它具有基于流式数据流的简单灵活的架构。其可靠性机制、完备的故障转移和恢复机制使Flume具有强大的容错能力。Flume有日志收集和数据处理两个功能,Flume支持日志系统中定制各类数据发送方,用于收集数据。同时Flume提供对数据进行简单处理,并写到各种数据接收方(可定制)的能力。Flume处理流程Flume的核心就是一个Agent(媒介),该Agent对外有两个进行交互的地方,一个是接收数据的输入Source(源头结点),一个是数据的输出Sink(汇聚结点),Sink负责将数据发送到外部指定的目的地,如图Source接收到数据之后,将数据发送给Channel(存储渠道或者存储通道),Channel作为一个数据缓冲区会临时存放这些数据,随后Sink会将Channel中的数据发送到指定的地方——外部存储。注意:只有在Sink将Channel中的数据成功发送出去之后,Channel才会将临时数据进行删除,这种机制保证了数据传输的可靠性与安全性。在整个数据的传输的过程中,流动的是Event(事件),即事务保证是在Event级别进行的。Event将传输的数据进行封装,是Flume传输数据的基本单位。如果是文本文件,通常是一行记录,Event也是事务的基本单位。Event从Source流向Channel,再到Sink,本身为一个字节数组,并可携带Headers(头信息)信息。Event代表着一个数据的最小完整单元,从外部数据源来,向外部目的地去。AgentFlume架构Flume采用了三层架构,分别为Agent、Collector和Storage,其中,如图所示所有Agent和Collector由Master统一管理,这使得系统容易监控和维护,且Master允许有多个(使用ZooKeeper进行管理和负载均衡),这就避免了单点故障问题。从而具有以下几个特性①可靠性,当某一个节点出现故障时,日志文件能够被传送到其他节点上而不会丢失。②可扩展性,Flume采用了三层架构,每一层均可以水平扩展。③可管理性,所有Agent和Collector由Master统一管理,这使得系统便于维护。多Master情况④功能的可扩展性,用户可以根据需要添加自己的Agent、Collector或者Storage。3.3.3消息采集系统——KafkaKafka最初由Linkedin公司开发,是一个支持分区(partition)、多副本(replica)、基于ZooKeeper协调的分布式消息实时采集系统。Linkedin于2010年将Kafka贡献给Apache软件基金会,并成为顶级开源项目。Kafka用Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。搜索、浏览网页和其他的用户行为是现代网络上社会功能的一个关键因素。这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。Kafka处理流程Kafka是消息中间件的一种。消息中间件是一种即时通讯的软件,可以在不同平台之间通信,发送者将消息发送给消息服务器,消息服务器将消息存放在若干队列中,之后再转发给接收者,从而起到一个中间传递的作用。Kafka使用场景①日志收集一个公司可以用Kafka可以收集各种服务的log,通过Kafka以统一接口服务的方式开放给各种Consumer,如Hadoop、HBase、Solr等。②消息系统③用户活动跟踪④运营指标⑤流式处理解耦和消息生产者和消息接收者、缓存消息等。Kafka经常被用来记录Web用户或者APP用户的各种活动,如浏览网页、搜索、点击等活动,这些活动信息被各个服务器发布到Kafka的Topic中,然后订阅者通过订阅这些Topic来做实时的监控分析,或者装载到Hadoop、数据仓库中做离线分析和挖掘。允许集群中节点失败,如果副本数量为n,那么允许n-1个节点失败支持数千个客户端同时读写。Kafka的最大的特点是可以实时处理大量数据以满足各种需求场景,如基于Hadoop的批处理系统、低延迟的实时系统、Storm/Spark流式处理引擎,Web/Nginx日志、访问日志、消息服务等。允许集群中节点失败,如果副本数量为n,那么允许n-1个节点失败。④容错性支持数千个客户端同时读写⑤高并发Kafka每秒可以处理几十万条消息,它的延迟最低只有几毫秒。①高吞吐量、低延迟消息被持久化到本地磁盘,并且支持数据备份防止数据丢失。③持久性、可靠性Kafka集群支持热扩展(在Kafka使用的时候进行扩展)②可扩展性KafkaKafka的特点3.3.4Scrapy网络爬虫系统Scrapy是典型的网络数据采集系统的应用,是为爬取网站数据、提取结构性数据而设计的爬虫开发框架,用于抓取Web站点并从页面中提取结构化的数据,属于Python领域。Scrapy已经实现爬虫程序的大部分通用工具,因此Scrapy开发爬虫项目既简单又方便,任何人都可以根据需求进行修改,即可以很简单地通过Scrapy框架实现一个爬虫,抓取指定网站的内容或图片,这样就可以将非结构化数据和半结构化数据的网页数据从网页中提取出来。并将其提取、清洗、转换成结构化的数据,将其存储为统一的本地文件数据。Scrapy也提供了多种类型爬虫的基类,如BaseSpider、Sitemap爬虫等,最新版本提供了Web2.0爬虫支持。Scrapy常应用于数据挖掘、信息处理或存储历史数据等一系列的程序中,Scrapy也可以应用于获取API所返回的数据(如AmazonAssociatesWebServices)、数据监测和自动化测试。Scrapy网络爬虫框架Scrapy引擎(ScrapyEngine)。ScrapyEngine组件相当于爬虫的“大脑”,是整个爬虫的调度中心。ScrapyEngine负责控制数据流在Spiders、ItemPipeline、Downloader、Scheduler中间的通讯、信号、数据传递等,并在相应动作发生时触发事件。调度器(Scheduler)。负责接收ScrapyEngine发送过来的Request请求,并按照一定的方式进行整理排列、入队下载器(Downloader)。负责下载ScrapyEngine发送的所有Requests请求,并将其获取到的Responses交还给ScrapyEngine,由引擎交给Spiders来处理。爬虫(Spiders)。是Scrapy用户编写的、用于分析Responses,从中分析提取数据提取Item字段需要的数据,并将需要跟进的URL提交给ScrapyEngine,再次进入Scheduler。每个Spider负责处理一个特定(或一些)网站。Item管道(ItemPipeline)。负责处理Spiders中获取到的Items,并进行进行后期处理,典型的处理有清理、验证及持久化(如存取到数据库中)。下载器中间件(DownloaderMiddlewares)。是一个可以自定义扩展下载功能的组件,是ScrapyEngine及Downloader之间的特定钩子(specifichook),处理Downloader传递给引擎的Responses。其提供了一个简便的机制,通过插入自定义代码来扩展Scrapy功能。通过设置下载器中间件可以实现爬虫自动更换user-Agent、IP等功能。Spider中间件(SpiderMiddlewares)。是一个可以自定义扩展、操作引擎和Spider中间通信的功能组件,是ScrapyEngine及Spider之间的特定钩子,处理Spiders的输入(Responses)和输出(Items及Requests)。SpiderMiddlewares提供了一个简单的机制,通过插入自定义代码来扩展Scrapy功能。Scrapy工作流程下面从数据流(Dataflow)思路描述Scrapy工作流程。(1)引擎打开一个网站(openadomain),找到处理该网站的Spider并向该Spider请求第一个要爬取的URL(s)。(2)引擎从Spiders中获取到第一个要爬取的URL并在Scheduler以Request调度;引擎向调度器请求下一个要爬取的URL。(3)调度器返回下一个要爬取的URL给引擎,引擎将URL通过下载中间件(请求(Requests)方向)转发给下载器(Downloader)。(4)一旦页面下载完毕,下载器生成一个该页面的Response,并将其通过下载中间件(返回(Response)方向)发送给引擎。(5)引擎从下载器中接收到Response并通过Spider中间件(输入方向)发送给Spiders处理。Spiders处理Response并返回爬取到的Item及跟进的、新的Request给引擎。(6)引擎将爬取到的Item(Spiders返回的)给ItemPipeline,将Request(Spiders返回的)给调度器。以上从第二步重复直到调度器中没有更多地Request,最后引擎关闭该网站。3.4大数据预处理技术大数据时代对于数据的精度和有效性要求更为苛刻,因此数据的预处理过程必不可少,只有科学规范的预处理过程,才能使数据分析深层挖掘的结论更为合理可靠。下面对几种常见的数据预处理方法进行着重分析,阐明其预处理的基本方法与必要性,从而为数据的深层次挖掘提供更科学可行的数据信息。大数据预处理过程①数据的分类和预处理②数据清洗③数据的集成④数据归约⑤数据变换⑥数据的离散化处理3.4.1数据预处理1.重复数据的预处理

2.噪声数据预处理3.不完整数据预处理重复数据即指多次出现的数据,对于整体样本所占权重比其他数据大,更容易产生结果的倾向性,因此对于重复数据常用的方式是剔除,或者按比例降低其权重,进行数据的重新布局形成概率分布。对于一般数量可控的重复数据,通常采用的方式为简单的比较算法剔除。对于重复的可控数据而言,一般通过代码实现对信息匹配比较,进而确定剔除不需要的数据。噪声数据(NoisyData)是无意义的数据,这个词通常作为损坏数据的同义词使用。但是,现阶段的意义已经扩展到包含所有难以被机器正确理解和翻译的数据,如非结构化文本。任何不可被源程序读取和运用的数据,不管是已经接收、存贮的还是改变的,都被称为噪声数据。缺失数据即数据不完整,存在信息丢失,而无法完成相关的匹配和计算的数据,如信息统计中的年龄和性别丢失的情况。缺失数据的处理主要有四种方式:均值补差、利用同类均值补差、极大似然估计、多重补差。3.4.2数据清洗数据清洗是对“脏数据”进行分类、回归等方法进行处理,使采用的数据更为合理。数据清洗是将重复、多余的数据筛选清除,将缺失的数据补充完整,将错误的数据纠正或者删除,最后整理成为可以进一步加工、使用的数据。数据清洗的方法有:①缺省(失)值处理;②噪声数据与离群点处理;③分箱;④回归。下面依次介绍这几种方法。(1)缺失值的处理缺失值是指粗糙数据中由于缺少信息而造成数据在聚类和分组时出现删失或截断的情况。它指的是现有数据集中某个或某些属性的值是不完全的。缺失值处理主要采用以下五种方法:①忽略元组:若有多个属性值缺失或者该元组剩余属性值使用价值较小时,应选择放弃。②人工填写:该方法费时,数据庞大时行不通。③全局常量填充:方法简单,但有可能会没有任何挖掘价值。④属性中心度量填充:对于正常的数据分布而言可以使用均值,而倾斜数据分布应使用中位数。⑤最可能的值填充:使用回归、基于推理的工具或者决策树归纳确定。(2)噪声数据与离群点噪声是指被测量的变量的随机误差或者方差(一般指错误的数据)。离群点是指数据集中包含一些数据对象,他们与数据的一般行为或模型不一致。即离群点是正常值,但偏离大多数数据。可以将这些不需要的数据剔除出去,以达到数据清洗的目的。图中显示是系统用户年龄分析图。其中,-5-0岁是噪声,85-90岁是离群点。(3)分箱通过考察数据周围的值来光滑有序数据值,这些有序的值被分布到一些“桶”或箱中,由于分箱方法只是考虑近邻的值,因此是局部光滑。图中显示的是将考察数据分为三个箱,分别依照箱中各个数据的均值平滑(箱中每一个值被箱中的平均值替换),边界平滑(箱中的最大和最小值同样被视为边界。箱中的每一个值被最近的边界值替换),中位数平滑(箱中每一个值被箱中的中位数替换)的条件来产生的三种分法。分箱的方法有如下两种:①等宽分箱:每个“桶”的区间宽度相同,例如人群依照年龄段划分;②等深分箱:每个“桶”的样本个数相同,例如图中每个箱都是同样的样本个数。箱边界平滑箱均值平滑箱中位数平滑(4)回归回归是用一个函数拟合数据来光滑数据。线性回归找出拟合两个属性(变量)的最佳直线;多元线性回归涉及多个属性,将数据拟合到多维曲面。如图显示的是对数据进行线性回归拟合图。从图中可以看出,上网时长与时间的关系,将不光滑的原折线线性拟合到光滑的线上,这就是回归方法。3.4.3数据集成数据集成是把不同来源、格式、特点性质的数据源在逻辑上或物理上有机的集成,从而为企业提供全面的数据共享。数据的集成、归约和变换是对数据进行更深层次的提取,从而使采用样本变为高特征性能的样本数据。

数据集成之相关性分析数据集成时,模式集成和对象匹配非常重要,如何将来自于多个信息源的等价实体进行匹配,即实体识别问题至关重要。在进行数据集成时,同一数据在系统中多次重复出现,需要消除数据冗余,针对不同特征或数据间的关系进行相关性分析。相关性分析用皮尔逊相关系数度量,用于度量两个变量X和Y之间的相关性(线性相关),其值介于1和-1之间。图中是相关度-1到1的散布图。可以看出,当相关度越靠近-1或者1时,他们的相关度越来越大;当相关度越靠近0,这组数据越趋近于没有相关性。相关性低(相关度靠近0)相关度高(相关度靠近1)3.4.4数据归约数据归约的目的是得到数据集的简化表示,它比原数据小得多,但仍接近保持原数据的完整性。常见的数据归约的方法有数据立方体聚集、维归约、数据压缩、数值归约以及数据离散化与概念分层等。(1)数据立方体聚集数据立方体聚集主要是用于构造数据立方体,数据立方体存储多维聚集信息。每个单元存放一个聚集值,对应于多维空间的一个数据点,每个属性可能存在概念分层,允许在多个抽象层进行数据分析。数据立方体提供对预计算的汇总数据进行快速访问,因此,适合联机数据分析处理和数据挖掘。图中显示的是一个商品的类型和年份以及商品的分布拟合到一个长方体中,从而构建多维的聚集信息。(2)维归约用于分析的数据集可能包含数以百计的属性,其中大部分属性与挖掘任务不相关或者冗余,如分析银行客户的信用度时,诸如客户的电话号码、家庭住址等属性就与该数据挖掘任务不相关,或者说是冗余的。维归约通过减少不相关的随机变量或属性的个数,或把原数据变换或投影到更小的空间。减少不相关属性的方法有以下四种类型,①逐步向前选择,该过程由空属性集作为归约集开始,确定原属性集中最好的属性,并将它添加到归约集中。在其后的每一次迭代步,将剩下的原属性集中最好的属性添加到该集合中。②逐步向后删除:该过程由整个属性集开始。在每一步,删除尚在属性集中最差的属性。③向前选择和向后删除的结合:可以将逐步向前选择和向后删除方法结合在一起,每一步选择一个最好的属性,并在剩余属性中删除一个最差的属性。④决策树归纳:决策树算法最初是用于分类的,这里是将数据集中的各种属性之间的逻辑结构绘成一张图,再根据决策树算法分析计算,将不相关属性剔除。

(3)数据压缩数据压缩就是使用数据编码或变换以便将原始数据集合压缩成一个较小的数据集合。包含无损压缩和有损压缩。其中,有损压缩只能近似重构原数据,但是一般有损压缩比无损压缩压缩比高。(5)数据离散化与概念分层通过将属性域划分为区间,离散化技术可以用来减少给定连续属性值的个数。区间的标号可以替代实际的数据值。如果使用基于判定树的分类挖掘方法,减少属性值的数量特别有好处。通常,这种方法是递归的,大量的时间花在每一步的数据排序上。因此,待排序的不同值越少,这种方法就应当越快。许多离散化技术都可以使用,以便提供属性值的分层或多维划分——概念分层。(4)数值归约数值归约通过选择较小的数据表示形式替换原数据,来减少数据量。数值规约包括有参数方法和无参数方法。有参数方法是指使用一个模型来评估数据,只需存放参数,而不需要存放实际数据,如回归。无参数方法是指需要存放实际的数据。

3.5大数据可视化技术伴随着大数据时代的到来,数据可视化要根据数据的特性,如时间信息和空间信息等,找到合适的可视化方式,例如图表(Chart)、图(Diagram)和地图(Map)等,将数据直观地展现出来,以帮助人们理解数据,同时找出包含在海量数据中的规律或者信息。数据可视化是大数据生命周期管理的最后一步,也是最重要的一步。下面从数据可视化研究概述、定义、常用的数据可视化工具及数据可视化的分类路线来介绍数据可视化。3.5.1什么是数据可视化数据可视化是指将大型数据集中的数据以图形图像形式表示,并利用数据分析和开发工具发现其中未知信息的处理过程。可视化把数据转换成图形,给予人们深刻与意想不到的洞察力,在很多领域使科学家的研究方式发生了根本变化。可视化技术的应用大至高速飞行模拟、小至分子结构的演示,无处不在。在互联网时代,可视化与网络技术结合使远程可视化服务成为现实,可视区域网络因此应运而生。它是SGI公司在2002年3月提出的新理念。它的核心技术是可视化服务器硬件和软件。如图展示的是将网络诈骗数据用图标的形式展现出来,可视化的形式可以使得用户更容易接受和理解。大数据可视化是进行各种大数据分析解决的最重要组成部分之一。一旦原始数据流被以图像形式表示时,以此做决策就变得容易多了。3.5.2数据可视化分类一维数据二维数据三维数据高维数据时间序列数据层次数据网络数据当前可视化的研究热点。(1)高维数据高维数据是指每一个样本数据包含p(p≥4)维空间特征。人类对于数据的理解主要集中在低维度的空间表示上,如果单从高维数据的抽象数据值上进行分析很难得到有用的信息。将高维数据信息映射到二三维空间上,方便高维数据进行人与数据的交互,有助于对数据进行聚类以及分类。高维数据可视化的研究主要包含数据变化、数据呈现两个方面。(2)层次数据层次数据具有等级或层级关系。层次数据的可视化方法主要包括节点链接图和树图两种方式。其中,树图(Treemap)由一系列的嵌套环、块来展示层次数据。(3)网络数据网络数据表现为更加自由、更加复杂的关系网络。分析网络数据的核心是挖掘关系网络中的重要结构性质,如节点相似性、关系传递性、网络中心性等,网络数据可视化方法应清晰表达个体间关系以及个体的聚类关系。主要布局策略包含结点链接法和相邻矩阵法。(4)时间序列数据时间序列数据是指具有时间属性的数据集,针对时间序列数据的可视化方法包含:线形图、动画、堆积图、时间线、地平线图。(1)散点图散点图主要解释数据之间的规律,用于发现各变量之间的关系。适用于存在大量数据点,结果更精准,如回归分析。散点图有一定的局限,数据量小的时候会比较混乱。图中所示是男女生身高体重的分布情况散点图,其中女生和男生分别用红点、黑点表示。(2)气泡图(变种的散点图)气泡图是散点图的变种,用气泡代替散点图的数值点,面积大小代表数值大小。气泡图用来展示各类别占比,如男女比例气泡越大,则表示落在此区间的点越多,适用于了解数据的分布情况。气泡图的缺陷是如果分类过多,则扇形越小,无法展现图表。图中显示的是各国家1990和2015年寿命与GDP关系的气泡图。(3)折线图折线图用来观察数据随时间变化的趋势。适用于有序的类别,如时间。折线图的缺点是无序的类别无法展示数据特点。图中显示的是某地2015和2016各个月份的降水情况折线图。(4)柱形图柱形图展现类别之间的关系。适用于对比分类数据。局限:分类过多则无法展示数据特点。图中显示的是地蒸发量和降水量比较柱形图。(5)热力图热力图可以体现数据在空间上的变化规律。以特殊高亮的形式显示访客热衷的页面区域和访客所在的地理区域的图示。适合:可以直观清楚地看到页面上每一个区域的访客兴趣焦点。局限:不适用于数值字段是汇总值,需要连续数值数据分布。图中显示的是某地路况拥堵情况热力图。(6)雷达图将多个分类的数据量映射到坐标轴上,对比某项目不同属性的特点。适用:了解同类别的不同属性的综合情况,以及比较不同类别的相同属性差异。局限:分类过多或变量过多时,会比较混乱。图中显示是某初中知识点得分率的分析雷达图。3.5.3数据可视化工具为了满足并超越客户的期望,大数据可视化工具应该能够处理不同种类型的传入数据;能够应用不同种类的过滤器来调整结果;能够在分析过程中与数据集进行交互;能够连接到其他软件来接收输入数据,或为其他软件提供输入数据;能够为用户提供协作选项。实际上存在着无数专门用于大数据可视化的工具,且它们都是既开源又专有的,在这其中还是有一些工具表现比较突出。本节主要介绍四种最受欢迎的大数据可视化工具,帮助大家选择适合自己需求的工具。(1)ExcelExcel是Office出色的计算功能和图表工具。可以在Excel中选择插入图表,选择你想要的图表,然后进行标题、坐标轴等设置,操作相对多些,有饼图、折线图、柱状图等常见图表。(2)JupyterJupyter是大数据可视化一站式商店。Jupyter是开源项目,通过十多种编程语言实现大数据分析、可视化和软件开发的实时协作。它的界面包含代码输入窗口,并通过运行输入的代码以基于所选择的可视化技术提供视觉可读的图像。JupyterNotebook可以在团队中共享,以实现内部协作,并促进团队共同合作进行数据分析。团队可以将JupyterNotebook上传到GitHub或Gitlab,以便能共同合作影响结果。Jupyter还能与Spark这样的多框架进行交互,使得对从具有不同输入源的程序收集的大量密集的数据进行数据处理时,Jupyter能够提供一个全能的解决方案。图中显示的是根据python代码生成的图像(3)TableauTableau是人工智能AI、大数据和机器学习应用可视化的最佳解决方案。Tableau是大数据可视化的市场领导者之一,在为大数据操作,深度学习算法和多种类型的AI应用程序提供交互式数据可视化方面尤为高效。图中显示的是使用Tableau软件分析美国收入的例子。(4)GoogleChartGoogleChart是Google支持的免费而强大的整合功能。谷歌是当今领导力的代名词。正如谷歌浏览器是当前最流行的浏览器一样,谷歌图表也是大数据可视化的最佳解决方案之一,而且完全免费,并得到了Google的大力技术支持。GoogleChart提供了大量的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论