1、大数据分析框架结构
2、数据、信息与数据分析
数据:是指对客观事件进行记录并可以鉴别的符号,是对客观事物的性质、状态以及相互关系等进行记载的物理符号或这些物理符号的组合。它是可识别的、抽象的符号。
数据是信息的表现形式和载体,可以是符号、文字、数字、语音、图像、视频等。
数据聚焦于数据的采集、清理、预处理、分析和挖掘,图形聚焦于解决对光学图像进行接收、提取信息、加工变换、模式识别及存储显示,可视化聚焦于解决将数据转换成图形,并进行交互处理。
信息:是数据的内涵,信息是加载于数据之上,对数据作具有含义的解释。
数据和信息是不可分离的,信息依赖数据来表达,数据则生动具体表达出信息。
数据是符号,是物理性的,信息是对数据进行加工处理之后得到、并对决策产生影响的数据,是逻辑性和观念性的;
数据是信息的表现形式,信息是数据有意义的表示。数据是信息的表达、载体,信息是数据的内涵,是形与质的关系。
数据本身没有意义,数据只有对实体行为产生影响时才成为信息。
数据分析:是指用适当的统计分析方法对收集来的大量数据进行分析,为提取有用信息和形成结论而对数据加以详细研究和概括总结的过程。
从广义的角度来说,数据分析涵盖了数据分析和数据挖掘两个部分。
从狭义的角度来说,数据分析和数据挖掘存在不同之处。主要体现在两者的定义说明、侧重点、技能要求和最终的输出形式。
广义的数据分析包括狭义数据分析和数据挖掘。
狭义的数据分析是指根据分析目的,采用对比分析、分组分析、交叉分析和回归分析等分析方法,对收集来的数据进行处理与分析,提取有价值的信息,发挥数据的作用,得到一个特征统计量结果的过程。
数据挖掘则是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,通过应用聚类、分类、回归和关联规则等技术,挖掘潜在价值的过程。
数据分析与数据挖掘的区别:
差异角度 | 数据分析 | 数据挖掘 |
---|---|---|
定义 | 描述和探索性分析,评估现状和修正不足 技术 | 技术性的“采矿”过程,发现未知的模式和规律 |
侧重点 | 技术性的“采矿”过程,发现未知的模式和规律 | 技术性的“采矿”过程,发现未知的模式和规律 |
技能 | 统计学、数据库、Excel、可视化等 | 过硬的数学功底和编程技术 |
结果 | 需结合业务知识解读统计结果 | 模型或规则 |
数据分析的流程:
1、需求分析:数据分析中的需求分析也是数据分析环节的第一步和最重要的步骤之一,决定了后续的分析的方向、方法。
数据获取:数据是数据分析工作的基础,是指根据需求分析的结果提取,收集数据。
2、数据预处理:数据预处理是指对数据进行数据合并,数据清洗,数据变换和数据标准化,数据变换后使得整体数据变为干净整齐,可以直接用于分析建模这一过程的总称。
3、分析与建模:分析与建模是指通过对比分析、分组分析、交叉分析、回归分析等分析方法和聚类、分类、关联规则、智能推荐等模型与算法发现数据中的有价值信息,并得出结论的过程。
4、模型评价与优化:模型评价是指对已经建立的一个或多个模型,根据其模型的类别,使用不同的指标评价其性能优劣的过程。
5、部署:部署是指将通过了正式应用数据分析结果与结论应用至实际生产系统的过程。
3、数据可视化
数据分析是一个探索性的过程,通常从特定的问题开始。它需要好奇心、寻找答案的欲望和很好的韧性,因为这些答案并不总是容易得到的。
数据可视化,即数据的可视化展示。有效的可视化可显著减少受众处理信息和获取有价值见解所需的时间。
数据分析和数据可视化这两个术语密不可分。在实际处理数据时,数据分析先于可视化输出,而可视化分析又是呈现有效分析结果的一种好方法。
数据可视化:是关于数据视觉表现形式的科学技术研究。其中,这种数据的视觉表现形式被定义为“一种以某种概要形式抽提出来的信息,包括相应信息单位的各种属性和变量”。
数据可视化主要是借助于图形化手段,清晰有效地传达与沟通信息。
数据可视化是指将大型数据集中的数据以图形图像形式表示,并利用数据分析和开发工具发现其中未知信息的处理过程。
数据可视化技术的基本思想是将数据库中每一个数据项作为单个图元素表示,大量的数据集构成数据图像,同时将数据的各个属性值以多维数据的形式表示,可以从不同的维度观察数据,从而对数据进行更深入的观察和分析。
数据可视化的方法1----面积&尺寸可视化:
数据可视化的方法2----颜色可视化
数据可视化的方法3----图形可视化
数据可视化的方法4----概念可视化
可视化典型案例:
1、全球黑客活动
安全供应商Norse打造了一张能够反映全球范围内黑客攻击频率的地图(http://map.ipviking.com),它利用Norse 的“蜜罐”攻击陷阱显示出所有实时渗透攻击活动。如下图所示,地图中的每一条线代表的都是一次攻击活动,借此可以了解每一天、每一分钟甚至每一秒世界上发生了多少次恶意渗透。
2、互联网地图:
为了探究互联网这个庞大的宇宙,俄罗斯工程师 Ruslan Enikeev 根据 2011 年底的数据,将全球 196 个国家的 35 万个网站数据整合起来,并根据 200 多万个网站链接将这些“星球”通过关系链联系起来,每一个“星球”的大小根据其网站流量来决定,而“星球”之间的距离远近则根据链接出现的频率、强度和用户跳转时创建的链接来确定,由此绘制得到了“互联网地图”(http://internet-map.net)。
3、编程语言之间的影响力关系图
Ramio Gómez利用来自Freebase上的编程语言维护表里的数据,绘制了编程语言之间的影响力关系图,如下图所示,图中的每个节点代表一种编程语言,之间的连线代表该编程语言对其他语言有影响,有影响力的语言会连线多个语言,相应的节点也会越大。
4、百度迁徙
2014年1月25日晚间,央视与百度合作,启用百度地图定位可视化大数据播报春节期间全国人口迁徙情况,引起广泛关注。
5、世界国家健康与财富之间的关系
“世界国家健康与财富之间的关系”利用可视化技术,把世界上200个国家,从1810年到2010年历时200年其各国国民的健康、财富变化数据(收集了1千多万个数据)制作成三维动画进行了直观展示(http://www.moojnn.com/Index/whn)。
6、3D可视化互联网地图APP
3D可视化是描绘和理解数据的一种手段,是数据的一种表征形式,并非模拟技术。3D可视化以一种独特的立体视角为用户呈现数据,可以帮助用户发现一些在2D模式下无法察觉的内容。Peer 1开发了一个称为“互联网地图”的APP,这是一个建立在小盒子形式上的3D地图。
7、数据可视化案例-滴滴的交通大数据
数据分析与可视化常用工具
1.Microsoft Excel
Excel是大家熟悉的电子表格软件,已被广泛使用了二十多年,如今甚至有很多数据只能以Excel表格的形式获取到。在Excel中,让某几列高亮显示、做几张图表都很简单,于是也很容易对数据有个大致了解。Excel的局限性在于它一次所能处理的数据量上,而且除非通晓VBA这个Excel内置的编程语言,否则针对不同数据集来重制一张图表会是一件很繁琐的事情。
2.R语言
R语言是由新西兰奥克兰大学Ross Ihaka和Robert Gentleman开发的用于统计分析、绘图的语言和操作环境,是属于GNU系统的一个自由、免费、源代码开放的软件,是一个用于统计计算和统计制图的优秀工具。
R语言的主要功能包括数据存储和处理系统、驻足运算工具(其向量、矩阵运算方面功能尤其强大)、完整连贯的统计分析工具、优秀的统计制图功能、简便而强大的编程语言以及可操纵数据的输入和输出等功能。
3.Python语言
Pyhton 是由荷兰人 Guido van Rossum 于 1989 年发明的,并在1991年首次公开发行。它是一款简单易学的编程类工具,同时,其编写的代码具有简洁性、易读性和易维护性等优点。Pyhton原本主要应用于系统维护和网页开发,但随着大数据时代的到来,以及数据挖掘、机器学习、人工智能等技术的发展,促使 Python进入数据科学的领域。
Python同样拥有各种五花八门的第三方模块,用户可以利用这些模块完成数据科学中的工作任务。
- SAS软件
SAS是全球最大的软件公司之一,是由美国NORTH CAROLINA州立大学1966年开发的统计分析软件。SAS把数据存取、管理、分析和展现有机地融为一体,具有功能强大、统计方法齐、全、新并且操作简便灵活的特点。 - SPSS
SPSS是世界上最早的统计分析软件。它封装了先进的统计学和数据挖掘技术来获得预测知识,并将相应的决策方案部署到现有的业务系统和业务过程中,从而提高企业的效益。IBM SPSS Modeler拥有直观的操作界面、自动化的数据准备和成熟的预测分析模型,结合商业技术可以快速建立预测性模型。
6.专用的可视化分析工具
除了数据分析与挖掘工具中包含的数据可视化功能模块之外,也有一些专用的可视化工具提供了更为强大便捷的可视化分析功能。目前常用的专业可视化分析工具有Power BI、Tableau、Gehpi和Echarts等。
为何选用Python
Python语言是一种解释型、面向对象、动态数据类型的高级程序设计语言
Python语言是数据分析师的首选数据分析语言,也是智能硬件的首选语言
Python语言的特点(1):优点
- 简单易学
Python是一种代表简单主义思想的语言,它有极简单的语法,极易上手。
2.集解释性与编译性于一体
Python语言写的程序不需要编译成二进制代码,可以直接从源代码运行程序,但是需要解释器,它也具有编译执行的特性。
3.面向对象编程
Python 即支持面向过程的编程也支持面向对象的编程。与其他主要的语言如C++ 、Java相比,Python以一种非常强大又简单的方式实现面向对象编程。
4.可扩展性和可嵌入性
可以把部分程序用C或C++编写,然后在Python程序中使用它们,也可以把Python嵌入到C/C++ 程序中,提供脚本功能。
5.程序的可移植性
绝大多数的的Python程序不做任何改变即可在主流计算机平台上运行。
6.免费、开源
可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。
Python语言的特点(2):缺点
Python的唯一缺点是与C和C++相比执行的效率还不够快,因为Python没有将代码编译成底层的二进制代码;
但Python具有嵌入性的特征,对于大型程序,完全可以采用多语言混编策略,对于需要较快运行的模块,例如图像处理,则可以用C语言编程,对性能要求不是很高的地方则可以用Python编程,当需要他图像处理的时候Python程序把代码发送至Python解释器中内部已经编译的C代码,这样综合开发效率和性能综合起来是最高的。例如作为一个Python的数值计算扩展,NumPy将Python变为一个高效并简单易用的数值计算编程工具。
优点一:优雅、简单、明确
优点二:强大的标准库
优点三:良好的可扩展性
优点四:免费、开源
Python常用类库
-
Numpy
NumPy软件包是Python生态系统中数据分析、机器学习和科学计算的主力军。它极大地简化了向量和矩阵的操作处理。
除了能对数值数据进行切片(slice)和切块(dice)外,使用NumPy还能为处理和调试上述库中的高级实例带来极大便利。
一般被很多大型金融公司使用,以及核心的科学计算组织如Lawrence Livermore、NASA用其处理一些本来使用C++、Fortran或Matlab等所做的任务。 -
SciPy
SciPy(http://scipy.org)是基于NumPy开发的高级模块,依赖于NumPy,提供了许多数学算法和函数的实现,可便捷快速地解决科学计算中的一些标准问题,例如数值积分和微分方程求解、最优化、甚至包括信号处理等。
作为标准科学计算程序库, SciPy它是Python科学计算程序的核心包,包含了科学计算中常见问题的各个功能模块,不同子模块适用于不同的应用。 -
Pandas
Pandas提供了大量快速便捷处理数据的函数和方法。它是使Python成为强大而高效的数据分析环境的重要因素之一。
Pandas中主要的数据结构有Series、DataFrame和Panel。其中Series是一维数组,与NumPy中的一维array以及Python基本的数据结构List类似;DataFrame是二维的表格型数据结构,可以将DataFrame理解为Series的容器; Panel是三维的数组,可看作为DataFrame的容器。 -
Matplotlib
Matplotlib是Python 的绘图库,是用于生成出版质量级别图形的桌面绘图包,让用户很轻松地将数据图形化,同时还提供多样化的输出格式。 -
Seaborn
Seaborn在Matplotlib基础上提供了一个绘制统计图形的高级接口,为数据的可视化分析工作提供了极大的方便,使得绘图更加容易。
用Matplotlib最大的困难是其默认的各种参数,而Seaborn则完全避免了这一问题。一般来说,Seaborn能满足数据分析90%的绘图需求。 -
Scikit-learn
Scikit-learn是专门面向机器学习的Python开源框架,它实现了各种成熟的算法,容易安装和使用。
Scikit-learn的基本功能有分类、回归、聚类、数据降维、模型选择和数据预处理六大部分。
数据科学计算平台—Anaconda
Anaconda是一个集成的Python数据科学环境,简单的说,Anaconda除了有Python外,还安装了180多个用于数据分析的第三方库,而且可以使用conda命令安装第三方库和创建多个环境。相对于只安装Python而言,避免了安装第三方库的麻烦。
网站:
https://mirror.tuna.tsinghua.edu.cn/help/anaconda/