大数据、数据科学概述(数据分析工具、数据分析师知识图谱、数据处理流程)

本篇文章是作者在阅读《python绝技:运用python成为顶级数据工程师》之后,对该书中一些有用的信息进行整理归纳,如有特殊需要,建议大家阅读此书。
(一)“数据分析”能力从实践角度来讲需要工程师给出分析建模的策略,解决业务中遇到问题的能力,并对此制定有效的建模策略;完成此项策略需要工程师至少具备以下三类知识储备:统计分析、数据挖掘、深度学习。
“数据工程”能力,就是灵活运用数据处理组件及相关技术,实现数据分析中拟定决策的能力。包含了**“数据搜集”、“数据传输”、“数据存储”、“数据计算”**四个部分。这一系列的完成要求我们具有以下工程知识:消息队列、数据库技术、数据仓库、分布式文件系统和分布式计算平台
“数据分析”以及“数据工程”两项能力是数据工程师的硬实力。一般来讲,对于初级工程师当面对同事或者上级提出的具体数据需求时,一般处于被动实现的境地,这在初级阶段是无可厚非的,但是对于高级数据工程师来讲,应该做到以下两点:1.应该去主动理解战略目标、产品方向和营销意图,围绕产品发展的各个阶段,综合当前业界已有的方法和思路,建立一套完善的数据支持体系。 2.善于从数据的角度思考问题,保持数据敏感度。 数据工程师不但要专注下图中的几个点,而且要在各个领域都有涉猎。
在这里插入图片描述
(二)数据处理的一般流程:明确目标 、确定方案、数据整理、建模分析、结果验证、总结展现
在这里插入图片描述
1.明确目标:明确且细化分析的目标是数据分析中极为重要的一点,直接关系到全部工作能否有效的展开、业务能否有收益。从“分析目标”的维度,对数据分析做抽象归纳,大致分为以下三种类型:验证性分析、描述性分析、预测性分析。
验证性分析:主要指对提出的问题进行数据验证,简单来讲,用数据对问题进行合理的验证就是验证型的数据分析,也是日常分析问题中最常用的数据分析手段。
描述性分析,主要是从数据的角度说明现状或者问题,比如,网站运营常用的指标有PV,UV,二条率,留存率等;网站运维常用的指标有页面平均相应时长,故障率,缓存命中率等。
预测型分析,主要是指根据历史数据或者其他的数据信息,对可能发生或者即将发生的事情做出数据上的合理推测。比如根据某地上年同期降雨量预测今年同期的降雨量;数据挖掘中的回归决策树对数据的分类,也是一种预测性数据分析
2.确定方案
确定方案有三个步骤,1.确认能否获取相关数据2.选择可行的分析建模以及实施办法3.指定结果的检验准则
能否获得数据决定了分析是否可以进行,在工程实践中,往往有很多可行的分析方法,然而能否获取相应的数据是一切工作的前提,一定要在已有数据的基础上选择与拟定建模方法,以防止后续工作的徒劳无功。
建模方法由简单到复杂可以划分为三类:1.基础分析2.数据挖掘3.深度学习
基础分析主要解答事物之间的统计特性,以及概率的相关问题。他首先研究是否可以通过均值、方差等简单的统计量来说明问题。其次,分析数据是否符合某种分布,如果能给出数据的有效分布,就可以合理的计算事物的概率。
数据挖掘主要解决分类、聚类、关联的相关问题,有些文献也把数据挖掘叫做浅层学习。
深度学习和数据挖掘相似,也是用来研究分类和识别的问题。他们之间最大的区别就是:前者能自动提取数据的特征,并对非线性数据集具有良好的效果。深度学习通常用在图像识别以及声音识别的场景中。
一般情况下,应该由易到难的选择建模方式,解决实际问题。比如一组简单的数据,我们首先要考虑基本的统计量以及概率分布是否能达到数据分析的目标;其次,思考是否运用数据挖掘的方法来对数据做进一步的分析;最后探讨深度学习的思路能否更好的解决问题。再具体问题的基础上,只有灵活运用多种建模手段,才能更好的达到分析的目标。
最后,指定结果的检验准则对数据分析尤为重要。实践中,统计数据的对错往往很难被发现和评估;同时,错误的统计结果或者分析结论在某些时候可能会造成巨大的损失。因此,指定完善的数据检验策略来验证数据分析结果的可信度是极其重要的。
3 .数据整理
数据搜集与整理的难度有两点:1.原始数据的渠道来源多样、格式复杂;2.数据的分析必然和业务相关,要做好数据工作,必须以理解业务为前提。举个例子:某个数据分析的流程可能包含以下几个部分
在这里插入图片描述
首先,我们为了统计渠道商数会涉及网站、系统响应时间等指标,后端数据涉及Nginx日志,MongoDB数据库用户数据,以及其他部门FTP提供的文件等。并且,需要依据文档以及业务流程对数据分门别类的进行整合,并录入数据仓库以供日后数据分析使用。上图就是该流程的示意图,其中,ETL是指(Extract-Transform-Load),其功能为从源端抽取(extract)数据并进行格式等转换(transform),最终加载(load)到数据仓库。ETL是数据处理中最基础的概念。
4. 实施建模
逐步实施建模方案已经是水到渠成的事情,接下来我们介绍多种数据建模工具来帮助数据工程师高效完成数据工作。注意:这些工具并不能完全胜任大数据的处理工作我们从工具本身的复杂程度、专业性以及应用场景等维度来向大家介绍以下几种数据分析常用的工具:MATLAB、SPSS、Stata、SAS、EViews、Excel、Python、R.。
(1)MATLAB:他是Matrix Laboratory(矩阵实验室)的缩写,是一款由美国公司出品的商业数学软件。它不仅仅是一款可以用来做统计分析的软件,他还可以高效地处理很多其他的数学问题。它常被用到各种数学建模和工程设计之中。他有丰富的库函数(工具箱):内嵌绘图功能,可实现数据的多维展现;具有良好的交互设计,活跃的社区以及丰富的文档,这些促使起成为一个具有极高的易用性的工具,同时,我们也可以使用解释型语言对其进行编程。
(2)SPSS:是一款由IBM公司推出的用于分析运算、数据挖掘、预测分析和决策支持等一系列任务的软件产品及相关服务的总称。SPSS可以用在经济分析、市场调研、自然科学等领域。它的特点是简答易用,虽然他对前沿理论的支持不够全面,但是它囊括了绝大部分的常用统计方法。简答的操作方式、友好的操作界面加上强大的功能使其在数据分析领域占有了一席之地。
(3)Stata:与SPSS一样,它同样支持常用的分析方法,可用于多个领域,实践中,多被用在医学和生物学研究上,它采用菜单和编程相结合的方式,虽然其易用性不如SPSS,但在功能上略胜一筹。
(4)SAS:诞生于北卡罗莱纳州立大学,起初只是一个用于分析农业研究的项目。随着需求的增长,他的适用领域逐渐扩大到医药企业、银行业以及学术和政府机构。SAS系统提供的主要分析功能包括统计分析、经济计量分析、时间序列分析、决策分析、财务分析和全面质量管理工具等。SAS功能极其强大,算法包非常完善,但是他是纯编程界面,易用性低且入门困难,适合高级数据分析师或者专业人士使用。在统计分析领域,SAS一度是“统计分析系统”的缩写,被誉为国际上的标准软件和最具权威性的优秀软件包。
(5)EViews:是一款基于Windows设计的统计分析软件。它可以用于常规的统计分析,但他在计量经济分析方面特别有效。他的易用性高,且相比于上述其他分析软件,入门级别低。针对计量经济学相关的分析,可以首先考虑该软件。
(6)Excel:是微软公司为Windows操作系统编写的一款电子表格系统,可以画各种图表、做方差分析、回归分析等基础分析。他的专业性虽然不高,但是完全可以胜任日常工作中简单的统计分析工作。同时,他极其方便的操作方式,以及Microsoft Office软件包成员之一的身份,使他成为最流行的个人计算机数据处理软件。
(7)Python是由荷兰人发明的一种面向对象的解释型编译语言。之所以把Python语言列为数据分析的工具,是因为围绕它实现的各种数据分析与数据可视化的开源代码库被广泛应用。同时,Excel、SPSS等工具虽然具有可操作的界面,但并不能有效地结合Hadoop、Hive等组件有效的处理海量数据,而这些都是Python可以胜任的。
(8)R语言:是专用于统计分析以及可视化的语言,可以认为是S语言的另一种实现方式。同Python一样,R也提供了极其丰富的库函数来做统计和展现。因为R太过强大且拥有大量的用户,为了能顺应用户的习惯。
(三)大数据科普
IBM曾经总结出大数据的5个特点(5V特性):Volume(容量)、Velocity (高速)、variety(多样)、Value(价值)、Veracity(真实性),不论我们怎么定义大数据,最终是逃离不了“数据量大”这一最根本的特征。
据悉,2010年左右普通计算机的硬盘容量大小大概在512GB~1TB,到了2016年,硬盘容量已经达到了TB级别。相比于“小数据”分析立足于如何使用更有效的理论和模型;“大数据”的分析则要首先解决两个问题:如何存储和如何计算,最后才是如何分析
为了解决海量数据的存储问题,以谷歌、Facebook、百度等巨头公司为代表,掀起了一股云计算的热潮,云计算用数以万计的普通机器,组成大规模集群,解决巨大数据量的存储和计算问题。2010年之后,云计算的概念被广为接受,最终被分为Iaas(基础设施即服务)、PaaS(平台即服务)、SaaS(软件即服务)三种技术体系。 Iaas解决大规模集群管理,利用虚拟化技术在一台 机器上虚拟多台机器,实现资源的合理利用。Iaas服务商主要对外提供虚拟网络、虚拟机等基础设施服务,比如亚马逊的AWS云虚拟机,阿里云等。PaaS处于Iaas层之上,使用Iaas提供的基础设施,构建分布式文件系统以及分布式计算平台。 这类服务的代表有谷歌的GFS文件系统,Apache的Hadoop系统等。SaaS则处于PaaS之上,利用PaaS提供的存储及计算平台实现丰富多样的应用, 比如百度网盘,亚马逊商品的即时推荐等。
关于存储,日志数据、文件数据等不可修改的数据,常用Apache的HDFS存储;网盘类数据则常用OpenStack的Ceph存储。不论用那个组件,其目标都是在“能存储”的前提下,提升各种场景下的I/O速度。
关于分析,大数据的分析理论以及建模思路与“小数据”分析并无差别,自它需要结合存储与计算的组件,来决定分析是否可实施。举一个最简单的例子,假定有1MB的数据,数据格式为每行记录一个数值,求该数据中最大的记录值。求解的过程+分简单:读取文件数据.对比获取最大。但是,假如有10PB的数,那又该如何计算?单台机器已无法存储这样的数据,更不可能简单地全部读取一遍。这时,就需要综合使用上面提到的所有技术。首先,数据不断累积,并被录人HDFS文件系统;其次,使用Hadoop平台的MapReduce计算模型,统计集群各个存储节点的局部最大值;在经过多次MapReduce过程之后,可以把数据量缩小到单台机器可以存储的范围,最终计算出全局最大值。从此例中可以看出,“大数据”分析的理论依然属于统计分析领域的理论和知识范畴,只是在实施的过程中,需要灵活运用大数据的技术来完成。同时,由于受计算模式、存储方式的限制,很多数据分析的方法,无法有效地应用在“大数据”上。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
完整版:https://download.csdn.net/download/qq_27595745/89522468 【课程大纲】 1-1 什么是java 1-2 认识java语言 1-3 java平台的体系结构 1-4 java SE环境安装和配置 2-1 java程序简介 2-2 计算机中的程序 2-3 java程序 2-4 java类库组织结构和文档 2-5 java虚拟机简介 2-6 java的垃圾回收器 2-7 java上机练习 3-1 java语言基础入门 3-2 数据的分类 3-3 标识符、关键字和常量 3-4 运算符 3-5 表达式 3-6 顺序结构和选择结构 3-7 循环语句 3-8 跳转语句 3-9 MyEclipse工具介绍 3-10 java基础知识章节练习 4-1 一维数组 4-2 数组应用 4-3 多维数组 4-4 排序算法 4-5 增强for循环 4-6 数组和排序算法章节练习 5-0 抽象和封装 5-1 面向过程的设计思想 5-2 面向对象的设计思想 5-3 抽象 5-4 封装 5-5 属性 5-6 方法的定义 5-7 this关键字 5-8 javaBean 5-9 包 package 5-10 抽象和封装章节练习 6-0 继承和多态 6-1 继承 6-2 object类 6-3 多态 6-4 访问修饰符 6-5 static修饰符 6-6 final修饰符 6-7 abstract修饰符 6-8 接口 6-9 继承和多态 章节练习 7-1 面向对象的分析与设计简介 7-2 对象模型建立 7-3 类之间的关系 7-4 软件的可维护与复用设计原则 7-5 面向对象的设计与分析 章节练习 8-1 内部类与包装器 8-2 对象包装器 8-3 装箱和拆箱 8-4 练习题 9-1 常用类介绍 9-2 StringBuffer和String Builder类 9-3 Rintime类的使用 9-4 日期类简介 9-5 java程序国际化的实现 9-6 Random类和Math类 9-7 枚举 9-8 练习题 10-1 java异常处理 10-2 认识异常 10-3 使用try和catch捕获异常 10-4 使用throw和throws引发异常 10-5 finally关键字 10-6 getMessage和printStackTrace方法 10-7 异常分类 10-8 自定义异常类 10-9 练习题 11-1 Java集合框架和泛型机制 11-2 Collection接口 11-3 Set接口实现类 11-4 List接口实现类 11-5 Map接口 11-6 Collections类 11-7 泛型概述 11-8 练习题 12-1 多线程 12-2 线程的生命周期 12-3 线程的调度和优先级 12-4 线程的同步 12-5 集合类的同步问题 12-6 用Timer类调度任务 12-7 练习题 13-1 Java IO 13-2 Java IO原理 13-3 流类的结构 13-4 文件流 13-5 缓冲流 13-6 转换流 13-7 数据流 13-8 打印流 13-9 对象流 13-10 随机存取文件流 13-11 zip文件流 13-12 练习题 14-1 图形用户界面设计 14-2 事件处理机制 14-3 AWT常用组件 14-4 swing简介 14-5 可视化开发swing组件 14-6 声音的播放和处理 14-7 2D图形的绘制 14-8 练习题 15-1 反射 15-2 使用Java反射机制 15-3 反射与动态代理 15-4 练习题 16-1 Java标注 16-2 JDK内置的基本标注类型 16-3 自定义标注类型 16-4 对标注进行标注 16-5 利用反射获取标注信息 16-6 练习题 17-1 顶目实战1-单机版五子棋游戏 17-2 总体设计 17-3 代码实现 17-4 程序的运行与发布 17-5 手动生成可执行JAR文件 17-6 练习题 18-1 Java数据库编程 18-2 JDBC类和接口 18-3 JDBC操作SQL 18-4 JDBC基本示例 18-5 JDBC应用示例 18-6 练习题 19-1 。。。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值