Skip to content

《数据科学理论与实践(第2版)》阅读笔记

写在前面

  • 书籍介绍:暂无。
  • 我的简评:暂无。
  • !!福利:文末有书籍地址、笔记思维导图、相关资料下载地址哦

第1章 基础理论

1.1.术语定义

  • DIKW金字塔模型揭示了数据与信息、知识、智慧之间的区别和联系

  • 数据:对信息进行计量和记录之后形成的文字、语音、图形、图像、动画、视频、多媒体、富媒体等多种形式的记录;信息:与材料、能源一个层次的概念,客观存在的资源;知识:人们从多条信息中发现共性规律、模式、模型、理论、方法等;智慧:人类的感知、记忆、理解、联想、情感、逻辑、辨别、计算、分析、判断、文化、中庸、包容、决定等多种能力中超出知识的那一部分

  • 数据与数值两个不同的概念:除了数值,数据科学中所说的数据还包括文字、图形、图像、动画、文本、语音、视频、多媒体和富媒体等多种类型

  • 从结构化程度看,通常将数据分类为结构化数据、半结构化数据和非结构化数据三种

  • 非结构化数据是数据科学中的重要研究对象之一,也是数据科学与传统数据管理的主要区别之一

  • 大数据主要体现在以下几个方面:Volume量大、Variety类型多、Value价值发现难度大、Velocity速度快

  • 涌现 才是大数据的本质特征

  • 四个方面理解数据科学

  • 一门将现实世界映射到数据世界之后,在数据层次上研究现实世界的问题,并根据数据世界的分析结果,对现实世界进行预测、洞见、解释或决策的新兴科学

  • 一门以数据,尤其是大数据为研究对象,并以数据统计、机器学习、数据可视化等理论基础,主要研究数据加工、数据管理、数据计算、数据产品开发等活动的交叉性学科

  • 一门以实现从数据到信息从数据到知识从数据到智慧的转化为主要研究目的,以数据驱动数据业务化数据洞见数据产品研发和数据生态系统建设为主要研究任务的独立学科

  • 一门以数据时代,尤其是大数据时代面临的新挑战、新机会、新思维和新方法为核心内容,包括新的理论、方法、模型、技术、平台、工具、应用和最佳实践在内的一整套知识体系

1.2.研究目的

  • 数据科学的最终研究目标是实现数据、物质和能量之间的转换,即如何通过数据的利用方式降低物质、能量的消耗或提升物质及能量的利用效果和效率

  • 数据科学的主要研究目的分为以下几点:大数据及其运动规律的揭示;从数据到智慧的转换;数据洞见;数据业务化;数据驱动型决策支持;数据产品的研发;数据生态系统的建设;

  • 大数据生态系统是把数据转换为决策作为主要目标的生态要素组成的复杂系统,具体涉及:数据生产、数据采集、数据处理、业务流程

1.3.研究视角

  • 传统理论主要关注的是我能为数据做什么,数据科学强调的是另一个研究视角:数据能为我做什么

  • 传统的数据工程、数据结构、数据库、数据仓库、数据挖掘等与数据相关的理论中特别重视数据的模式定义、结构化处理、清洗、标注、ETL等活动,均强调的是如何通过人的努力来改变数据

1.4.发展简史

  • 从整体上看,数据科学的发展可以分为萌芽期、快速发展期和逐渐成熟期三个阶段

  • 萌芽期(1974-2009):专著《计算方法的简要调研》、期刊《国际统计评论》、期刊《数据科学学报》

  • 快速发展期(2010-2013):维恩图、专著《如何组建数据科学团队》、论文《数据科学家-21世纪最性感的职业》、专著《面向商务的数据科学》《数据科学实践》等

  • 逐渐成熟期(2014至今):专著《基于R的实用数据科学》、论文《数据科学-产业诱惑》、专著《数据科学》

1.5.理论体系

  • 统计学、机器学习和数据可视化与故事化相当于老鹰的翅膀和脚

  • 基础理论、数据加工、数据计算、数据管理、数据分析、数据产品开发相当于老鹰的躯体

  • 领域知识相当于老鹰的头脑

  • 从理论体系看,数据科学主要以统计学、机器学习、数据可视化以及领域知识为理论基础,其主要研究内容包括数据科学基础理论、数据加工、数据计算、数据管理、数据分析和数据产品开发等

1.6.基本原则

  • 三世界原则:我们的世界、数据世界、物理世界

  • 三要素原则:数据科学不仅包括理论与实践,而且还重视精神

  • 数据密集型原则:数据具有显著的复杂性(异构、动态、跨域等)和海量性

  • 以数据为中心的原则:数据科学中强调的也是数据科学擅长的,是如何从数据中发现潜在的、有价值的、可用的新模式,并将其用于解决实际问题中

  • 数据范式原则:数据科学强调的是“用数据直接解决问题”,而不是将“数据”转换为“知识”之后,用“知识”解决实际问题

  • 数据复杂性原则:数据科学中对数据复杂性产生了全新的认识

  • 数据资产原则:数据不仅是一种“资源”,而且更是一种重要“资产”

  • 数据驱动原则:数据是业务、决策、战略、市场甚至组织结构变化的主要驱动因素

  • 协同原则:数据科学所涉及的领域多,对每个领域知识和经验的要求高

  • 从简原则:新的认识,从“基于算法的智能”到“基于数据的智能”的过渡

1.7.相关理论

  • 数据科学具有明显的跨学科的特点。一是数据科学中采用的理论、方法、技术和工具具有跨学科性,涉及计算机科学、统计学、人工智能等;二是数据科学可以应用于多个领域,如材料科学、医学、金融学、新闻学、社会科学等

  • 初学者容易混淆的概念是数据科学与商务智能的区别:商务智能主要关注的是对“过去时间”的“解释性研究”,数据科学主要关注的是对“未来时间”的“探索性研究”

  • 另外两个容易混淆的概念是数据科学和数据工程:数据工程是采用大数据技术进行“数据本身的处理与管理”,主要关注的数据本身的备份/恢复、抽取-加载-转换、集成、标注、接口设计以及数据库/数据仓库的设计、实现与维护等工作;数据科学属于“基于数据的处理与管理”,主要关注的是如何基于数据进行辅助决策(或决策支持)、商业洞察、预测未来、发现潜在模型以及如何将数据转换为智慧或产品

1.8.人才类型

  • 从用人单位的岗位设置上看,数据科学相关的岗位有很多,如数据科学家、数据分析师、数据工程师、业务分析师、数据库管理员、统计师、数据架构师、数据与分析管理员等

  • 从人才成长于培养角度看,数据科学的学习中应重点关注发展三个方向:数据科学家、数据分析师和数据工程师

  • 数据科学家:将“现实世界中的问题”映射或转换为“数据世界中的问题”,然后采用数据科学的理念、原则、理论、方法、技术、工具、,将数据尤其是大数据转换为知识和智慧的过程,为解决“现实世界中问题”提供直接指导、依据或参考的高级专家

  • 数据工程师:基于数据的管理,其管理对象并不是数据本身,而是基于数据的管理

  • 数据分析师:必须要有较强的某一或多个领域的行业专长,如金融数据的分析师除了掌握必要的统计学和计算机知识外,还需要数量掌握金融及其相关专业的知识和经验

第2章 理论基础

2.1.数据科学的学科地位

  • 从学科定位看,数据科学处于数学与统计知识、黑客精神与技能和领域实务知识三大领域的重叠之处

  • 数学与统计知识是数据科学的主要理论基础之一;黑客精神与技能是数据科学家的主要精神追求和技能要求-大胆创新、喜欢挑战、追求完美和不断改进;领域实务知识是对数据科学家的特殊要求-还需要精通某一个特定领域的实务知识与经验

  • 通常把数据科学的理论基础进一步具体化为四个方面:统计学、机器学习、数据可视化、领域实务知识与经验

2.2.统计学

  • 数据科学的理论、方法、技术、工具往往来源于统计学

  • 从行为目的与思维方式看,数据统计方法可以分为两大类:描述统计和推断统计

  • 从方法论角度看,基于统计的数据分析方法又可以分为两个不同层次-基本分析方法和元分析方法

  • 统计学更关注的是“可解释性”,侧重“模型”;机器学习则更关注的是“预测能力”,侧重“算法”

  • 统计学和机器学习的主要区别在于:统计学需要事先处理对象(数据)的概率分布做出假定(如正态分布等),而机器学习则不需要做事先假定

  • 大数据时代统计的思维变革,不是随机样本,而是全体数据;不是精确性,而是混杂型;不是因果关系,而是相关关系

2.3.机器学习

  • 机器学习的基本思路可以总结为:以现有的部分数据(称为训练集)为学习素材(输入),通过特定的学习方法(机器学习算法),将机器学习到(输出)能够处理更多或未来数据的新能力(称为目标函数)

  • 机器学习的理论基础涉及多个学科领域,包括人工智能、贝叶斯方法、计算复杂性理论、控制论、信息论、哲学、心理学与神经生物学、统计学等

  • 数据科学中常用的机器学习类型:基于实例学习、概念学习、决策树学习、人工神经网络学习、贝叶斯学习、遗传算法、分析学习、增强学习

  • 机器学习与其他技术的集成应用:统计分析、信息检索、自然语言处理、知识表示与推理、人机接口等相关知识领域的融合

  • 目前,机器学习所面临的主要挑战包括:过拟合、维度灾难、特征工程、算法的可扩展性、模型集成

  • 目前,机器学习广泛应用于Web搜索、垃圾邮件处理、欺诈检测、广告投放、信用评价、股票交易等领域

2.4.数据可视化

  • 数据可视化在数据科学中德重要地位主要表现在三个方面:视觉是人类获得信息的最主要途径;数据可视化的优势体现(洞察统计分析无法发现的结构和细节、处理结果的解读对用户知识水平的要求较低);能够帮助人们提高理解与处理数据的效率

第3章 流程与方法

3.1.基本流程

  • 数据科学的基本流程主要包括数据化、数据加工、数据规整化、探索性分析、数据分析与洞见、结果展现以及数据产品的提供

  • 数据化的本质是从现实世界中采集信息,并对采集到的信息进行计量和记录之后,形成原始数据,即零次数据

  • 与数据加工相关的概念中,有两个术语容易混淆,应予以区分,干净数据和规整数据

  • 探索性数据分析是指对已有的数据(特别是调查或观察得来的原始数据)在尽量少的先验假定下进行探索,并通过作图、制表、方程拟合、计算特征量等手段探索数据的结构和规律的一种数据分析方法

  • 数据分析的三个基本类型及其内在联系:描述性分析(一种将数据转换为信息的分析过程);预测性分析(一种将信息转换为知识的分析过程);规范性分析(一种将知识转换为智慧的分析过程)

3.2.数据加工

  • 数据加工是指在对数据进行正式处理(计算)之前,根据后续数据计算的需求对原始数据集进行审计、清洗、变换、集成、脱敏、规约和标注等一系列处理活动

  • 数据加工的动机往往来自两个方面:数据质量要求、数据计算要求

  • 脏数据是指数据审计活动中发现有质量问题的数据,如含有缺失数据,冗余数据(重复数据、无关数据等),噪声数据(错误数据、虚假数据和异常数据等)

  • 噪声数据处理时常用的方法有分箱、聚类和回归等

  • 常见的数据变换策略有平滑处理、特征构造、聚集、标准化、离散化等

  • 数据脱敏操作下不能停留在简单的将敏感信息屏蔽掉或匿名处理。数据脱敏必须满足以下三个要求:单向性、无残留、易于实现

  • 常用的数据规约方法有两种:维规约和值规约

  • 数据标注的主要目的是通过对目标数据补充必要的词性、颜色、纹理、形状、关键词或语义信息等标签类元数据,提高其检索、洞察、分析和挖掘的效果与效率

3.3.数据审计

  • 数据审计是指按照数据质量的一般规律与评价方法,对数据内容及其元数据进行审计,发现其中存在的问题:缺失值、噪声值、不一致值、不完整值

  • 可以用以下五种方法进行数据审计:第一数字定律、小概率原理、语言学规律、数据连续性理论、数据鉴别技术

3.4.数据分析

  • 从复杂度及价值高低两个维度,可以将数据分析分为描述性分析、诊断性分析、预测性分析和规范性分析四种

  • 数据分析中常见错误:1、实际问题类型是推理分析,曲解为因果分析类型,曲解情况的简单描述是相关性并不意味着因果关系;2、实际问题类型是探索分析,曲解为推理分析类型,曲解情况的简单描述数据疏浚;3、实际问题类型是探索分析,曲解为预测分析,曲解情况为过拟合;4、实际问题类型是描述分析,曲解问题类型为推理分析,曲解情况为1为n分析

3.5.数据可视化

  • 数据可视化可以包含这三类可视化技术:科学可视化、信息可视化、可视分析学

  • 可视分析学是一门跨学科性较强的新兴学科,主要涉及的学科领域有:科学/数据可视化、数据挖掘、统计分析、分析推理、人机交互、数据管理

  • 可视分析学的流程具有如下特点:强调数据到知识的转换过程;强调可视化分析与自动化建模之间的相互作用;强调数据映射和数据挖掘的重要性;强调数据加工工作的必要性;强调人机交互的重要性

  • 常见的领域类方法有地理信息可视化、空间数据可视化、时间数据可视化、文本数据可视化、跨媒体数据可视化、不确定性数据可视化、实时数据可视化等

  • 从可视化处理视角看,可以将数据分为四个类型:定类数据、定序数据、定距数据和定比数据,并采用不同的视觉映射方法

3.6.数据故事化

  • 数据的故事化描述是指为了提升数据的可理解性、可记忆性及可体验性,将数据还原成关联至特定的情景的过程

  • 故事化描述和可视化表达的优劣势不同:可视化易于理解、易于感知、易于洞见;故事化易于记忆、易于认知、易于体验;

  • 故事化描述的基本原则:忠于原始数据原则;设定共同情景原则;体验式讲述原则;个性化定制原则;有效性利用原则;3C精神原则;

3.7.数据科学项目管理

  • 数据科学项目应遵循一般项目管理的原则和方法,涉及整体,范围,时间,成本,质量,人力资源,沟通,风险,采购九个方面的管理

  • 数据科学项目涉及的主要角色有项目发起人、项目经理、客户、数据科学家、数据工程师、操作人员等

  • 数据科学项目主要涉及的活动包括六项:项目目标的定义、数据的获得与管理、模式/模型的洞见、模式/模型的验证和优化、结果的可视化与文档化、模式/模型的应用及维护

3.8.数据科学中的常见错误

  • 数据科学项目中普遍存在的问题和注意事项较多,主要原因在于人们在尚未掌握数据科学的理念、理论、方法、技术工具的前提下,用自己一贯采用的习惯性思维模式和传统理论去解决大数据问题

  • 在大数据中常见的错误有:不检查数据、不理解数据、不评估数据、不测试模型、只有目标没有假设、采用过时失效的模型、不评估最终结果、忽略业务专家的作用、选择过于复杂的模型/算法、模型或算法选择上的偏见、曲解基本概念和基础原理、低估目标用户的理解能力

第4章 技术与工具

4.1.数据科学的技术体系

  • 现阶段的大数据技术体系主要类型包括基础设施、分析工具企业应用、行业应用、跨平台基础设施和分析工具、开源工具、数据源与App、数据资源等

4.2.MapReduce

  • MapReduce计算框架源自一种分布式计算模型,其输入与输出值均为<key, value>型键值对。计算过程分为两个阶段,Map阶段和Reduce阶段

  • Google三大技术或三大论文:GFS论文、MapReduce论文、BigTable论文

  • 主要特征除了自动实现分布式并行计算,支持大规模海量数据处理,借鉴函数式编程思路,简洁易用等基本特征外,MapReduce还具备如下特征:以主从结构的形式运行,map函数与reduce函数之间的数据处理,key-value类型的输入输出,容错机制的复杂性,数据存储位置的多样性,任务粒度大小的重要性,任务备份机制的必要性

  • MapReduce框架的关键技术有:分区函数、combiner函数、跳过损坏记录、本地执行、状态信息、计数器

  • MapReduce1.0计算框架主要由以下三部分组成:编程模型、数据处理引擎、运行时环境

  • MRv1的基本编程模型是将问题抽象成Map和Reduce两个阶段,其中Map阶段将输入数据解析成key-value,迭代调用map函数处理后,再以key-value的形式输出到本地目录,而Reduce阶段则将key相同的value进行规约处理,并将最终结果写到HDFS

  • MRv2将资源管理功能抽象成一个独立的通用系统YARN,标志着下一代MapReduce的核心从单一的计算框架MapReduce转移为通用的资源管理系统YARN

  • 下一代MapReduce框架的基本设计思想是将JobTracker的两个主要功能,即资源管理和作业控制(包括作业监控、容错等),分拆成两个独立的进程

4.3.Hadoop

  • Apache的Hadoop项目提供了面向可靠、可扩展和分布式计算的一整套开源系统库-Apache Hadoop软件库,并逐步发展成Hadoop生态系统

  • Hadoop生态系统,其核心是HDFS和MapReduce,分别代表Hadoop的分布式文件系统和分布式计算系统

  • Hadoop MapReduce中的术语:作业(Job)、任务(Task)、JobTracker和TaskTracker、输入切片(Input Split)、数据本地化优化

  • HDFS是Hadoop分布式文件系统,是Hadoop生态系统中数据存储的基础。HDFS的主要特性如下:支持超大文件、基于商业硬件、流式数据访问、高吞吐量

  • Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的HiveQL查询功能,以及将HiveQL语句转换为MapReduce任务进行运行。Hive的主要用用场景是离线分析。

  • Pig建立在MapReduce之上,主要目的是弥补MapReduce编程的复杂性。较好的封装了MapReduce的处理过程,使程序员更加关注数据,而不是程序的执行过程

  • Mahout的主要目标是提供可扩展的机器学习算法与实现。目前Mahout支持聚类、分类、贝叶斯、K-Means和遗传算法等常用的机器学习或数据挖掘方法

  • HBase是一种支持MapReduce处理的,面向结构化数据的可伸缩、高可靠、高性能、分布式和面向列的动态模式数据库

  • ZooKeeper主要解决的是分布式环境下的协作服务问题,包括命名服务、状态同步、集群管理、配置同步、分布式锁、队列管理等。Zookeeper的设计目标和主要特点如下:简单性、自我复制、顺序访问、高度读取

  • Flume主要解决的是日志类数据的收集和处理问题。主要设计目的和特征如下:高可靠性、可扩展性、支持方便管理、支持用户自定义

  • Sqoop是SQL-to-Hadoop的缩写,其主要设计目的是在Hadoop与传统数据库之间进行数据的ETL(抽取-转换-加载)操作

4.4.Spark

  • Hadoop Mapreduce是一种典型的批处理系统,其主要局限有两个:一是在MapReduce中直接编程的难度较大;二是不善于处理除批处理计算模式之外的其他计算模式,如流处理、交互式计算和图计算等

  • 针对上述缺陷,人们提出两种新思路:一种是采取面向特定任务的专用系统,如storm;另一种是提出一种融合式通用系统,如Spark

  • Spark的技术架构可以分为三层:资源管理层、Spark核心层和服务层,其中Spark核心层主要关注的是计算问题,其底层的资源管理工作一般由Standalone、YARN和Mesos等资源管理器完成

  • Spark的基本流程,主要设计Driver Program(驱动程序)、Spark-Context、Cluster Manager(集群管理器)、Worker Node(工作节点)、Executor(执行器)和Cache(缓存)等角色

  • SparkR可以扩展R的计算能力,使R代码的运行过程具备Spark的基本特点--分布式计算、流式计算、弹性计算等

  • Lambda架构的主要特点是兼顾了大数据处理系统中的可靠性和实时性,较好的支持大数据计算的一些关键特征,如高容错、低延迟、可扩展等

4.5.NoSQL与NewSQL

  • 传统关系型数据库技术的优点:数据一致性高、数据冗余度低、复杂查询能力强、产品成熟度高,缺点:不善于处理大数据的写入操作、不适用于数据模型不断变化的应用场景、频繁操作的代价高、简单处理的效率低

  • NoSQL技术比较有代表性的观点:NoSQL技术的目的并不是要抛弃或否定关系数据库技术;NoSQL为数据处理提供了一种补充方案;NoSQL容易造成背离传统关系数据库模型的错觉

  • NoSQL是指那些非关系型的,分布式的,不保证遵循ACID原则的数据存储系统

  • NoSQL数据库的主要优势体现:易于数据的分散存储与处理、数据的频繁操作代价低以及数据的简单处理效率高、适用于数据模型不断变化的应用场景

  • 关系云的一个重要功能是提供数据库即服务

  • 在NoSQL中,分片与复制是数据分布的两个基本途径

4.6.R与Python

  • Java、C等语言是为软件开发而设计的,不适合做数据科学任务

  • R语言可以调用众多专门用于数据科学任务的R包

  • R语言的背后,尤其是主流R包的开发者是统计学,机器学习等数据科学领域的大牛

  • 最具代表性的Wickhtm(R领袖)和McKinney(Rython领袖)都在主张这两种语言的融合式发展

4.7.发展趋势

  • 数据科学中德技术与工具主要分为存储层、计算层、服务层、管理层等多个层次

  • 云计算的本质是一种计算模式,更准确的讲,云计算是集中式计算、分布式计算、并行计算和网格计算等不同计算模式相互融合的结果

  • 云计算的主要特征:经济性、弹性计算、按需服务、虚拟化

  • 数据管理的新变化:从数据管理的完美主义者到现实主义者的转变;从模式在先到模式在先、模式在后和无模式并存;从对复杂处理的关注到对简单处理的重视;从强一致性的追求到数据一致性的多样化认识;从强调数据冗余的负面影响到重视其正面影响;从对查全率和查准率的追求到对查询响应速度的重视;从数据库管理系统即产品到数据管理系统即服务的转变;从数据管理技术的标准化到数据管理技术的多样化;从仅靠单一技术到多种技术相互融合

第5章 数据产品及开发

5.1.定义

5.2.主要特征

5.3.关键活动

5.4.数据柔术

5.5.数据能力

5.6.数据战略

5.7.数据治理

5.8.数据安全、隐私、道德与伦理

第6章 典型案例及实践

6.1.统计分析

6.2.机器学习

6.3.数据可视化

6.4.Spark编程

6.5.2012年美国总统大选

写在后面

  • pdf书籍、笔记思维导图、资料打包下载地址:暂无
  • 思维导图在线查看:点击打开
  • 得到电子书地址:暂无