大数据与机器学习:实践方法与行业案例1.1 数据的基本形态

简介:


迟序之数,非出神怪,有形可检,有数可推。

—祖冲之

数学是知识的工具,亦是其他知识工具的泉源。所有研究顺序和度量的科学均和数学有关。

—笛卡儿

 

对于大部分非计算机专业出身的分析人员和业务人员来说,数据库领域的专业术语简直让人抓狂,非要搞得那么高深吗?大可不必。

数据科学家是数据的应用者,以最大限度来提炼数据价值为目的,不必像数据仓库开发者那样对数据的存储、结构以及数据仓库的内生技术一清二楚,但应该站在找到数据、拼接数据、使用数据的角度,大体了解数据的分布、处理逻辑,以便为分析快速地准备素材。


 摘要


数据与数据平台

合抱之木,生于毫末;九层之台,起于垒土;千里之行,始于足下。

—《老子》

世界的本质是数。

—毕达哥拉斯

数据时时刻刻在伴随着我们的工作和生活,就像空气围绕着我们一样,以致于我们常常忽略了它的存在。但如果你立志做一个崇尚数据的人,静下心来像科学家研究空气一样研究数据,就会发现数据为我们认知事物打开了一条全新的途径。

可以通过数据认识自身:人类全身的肌肉大约有639块,由60亿条肌纤维构成,而起着重要作用的大脑则由140亿个细胞构成。

可以通过数据描述我们的工作:周一上午10:00~11:30召开会议,讨论公司第三季度的销售目标。

可以通过数据描述我们的行为:花费6088元购买一台iPhone 6手机,中速游泳60分钟消耗约1000千卡的热量。

还可以通过数据认识我们所处的环境:现在时间是14:00,当前温度为28℃,上个月的CPI同比上涨1.4%,蔬菜和水果价格上涨了6.7%。

甚至可以通过数据认识遥不可及的物体:太阳直径为1 392 000公里,表面温度达57 809开尔文……数据让我们认识了世间万物,那么我们该如何认识数据本身呢?

数据的本质是一个十分深奥且宽泛的话题,甚至带有哲学的意味。作为技术类书籍,本书不尝试从哲学的角度研究数据,而是基于实践,从思维和技术手段出发来认识、理解、处理并分析周围的数据。为了更加具体,本书研究的数据定位于企业经营数据。

本章首先将从数据的基本形态入手,介绍企业中数据的来源和表现形态;然后介绍与之相关的数据平台,并简单介绍两类应用系统。在着手处理数据之前,让我们先对数据有一个清晰的认识。


1.1 数据的基本形态


我们不是自然科学家,但是可以借鉴自然科学的思路来看待数据问题。问题是数据具有形态吗?虽然数据并不具有固态、液态或气态等形态,但是可以根据需要为数据定义属于自己的专属形态。

一旦为数据赋予了恰当的形态,并在一定范围内(比如在一个公司内部)达成共识,形成对数据的系统化认识,就可以基于这些数据形态提出相应的管理和使用方案,提升数据的效率和价值。

一般情况下,对于企业经营中产生的数据,可以定义为三种形态:生产数据、原始数据和分析数据。这些数据形态的产生,是基于企业应用系统所在的生产环境和分析环境而存在的,在深入讨论数据形态之前,我们先来熟悉一下数据所在的环境。

1.1.1 数据环境与数据形态

数据环境是指数据存储、处理、转换所处的物理环境,常见的数据环境有生产环境、分析环境和测试环境。

生产环境是生产应用系统实时运行所在的环境,而生产应用系统则是一系列业务逻辑的组合。我们可以把生产环境想象成人的身体,生产应用系统就是人体中的各个系统(消化系统、呼吸系统等),业务逻辑则是这些系统中的“经络”,而数据便是运行于经络之中的“气血”。数据从“经络”中的一个“穴位”流转到另一个“穴位”,并在“流淌”中发生变化,所以,生产环境中的数据是“动态变换”的数据,我们称为生产数据。

分析环境是与生产环境物理解耦的一个数据环境。在生产环境中,由于数据总是处于不停变化中,这些数据的变化将直接反映为业务逻辑结果的变化,因此不应该尝试在生产环境中对数据进行分析处理。为了不影响生产环境的正常运行,需要将生产环境中的“动态”数据的快照保存下来(例如每日凌晨将时间戳为昨日的数据导出),这些数据快照是“静态”的,我们称为分析数据,保存分析数据的物理环境即我们所说的分析环境。

在实际中,还有另外一个环境,即测试环境。测试环境中的数据也是独立于生产环境和分析环境的,由于测试环境的数据通常不是有效的数据,因此本书不关注测试环境的数据。

至此,根据数据所处的环境,我们将数据定义为三种基本形态:生产数据、原始数据和分析数据。

生产数据存在于生产环境之中,分析数据存在于分析环境之中。此外,在生产数据和分析数据之间,还存在一种过渡形态的数据,即原始数据。图1-1展示了数据环境及其对应的数据形态。

 

图1-1 数据环境及其对应的数据形态

注意,图1-1中所示的原始数据,既不属于生产环境也不属于分析环境,这意味着它不直接用于生产,也不直接用于分析。原始数据作为生产数据到分析数据的中间形态存在,本书随后的章节将进一步讨论原始数据的相关问题。

1.1.2 生产数据

生产数据是应用系统中在线使用的数据,它可能是一个生产系统的生产环境数据库中的数据,比如在一个P2P借贷平台的系统中,用户进行注册、充值、投资等行为产生的数据将被记录到生产环境数据库中,这些数据即为生产数据。

生产数据是动态的,会随着业务应用的变化而变化,比如用户账户余额数据,会随着用户投资的变化而变化。任何存在于生产环境中的数据,都在时刻准备发生改变,只不过有些生产数据的变化频率特别低而已,比如用户的年龄信息。

正常情况下,数据分析师并不直接接触生产数据,但需要注意的是,有些生产数据是从分析数据而来的。比如用户标签数据,它本身是从分析数据构建的,属于分析数据。但这些标签数据一旦用于应用系统,例如作为推荐系统的底层数据,即转化为生产数据,这种情况下,应用系统输出结果的质量将受到分析数据的直接影响。

1.1.3 原始数据

由于生产数据是动态的数据,而过去大量的分析工具和分析方法很难处理动态改变的数据(流处理已经改变了这种情况)。为了在不影响生产应用系统的情况下分析和处理这些数据,我们需要将这些数据从生产系统解耦。

从生产系统解耦的数据即是原始数据。数据解耦的过程一般包括数据脱敏(如屏蔽电话号码、去除住宅详细信息等)、信息筛选(抛弃不需要的字段)、批量导出(如在T日凌晨批量导出T-1日的交易明细数据)等。

原始数据可以以多种形式存在,例如存储在生产数据库备库中,或者以文本文件的格式存放在文件服务器中。无论以何种形式存在,原始数据都应该独立于生产环境和分析环境,这可以避免分析环境对生产环境的干扰。

存放这些原始数据的地方,我们称为数据缓冲区。在很多企业中,数据缓冲区和原始数据并未得到足够重视,它们大多为了前期的方便,省略了数据缓冲区和原始数据形态,就像图1-2所示的那样。

显然,数据直连的方式让生产环境直接暴露在分析环境之上,两者之间的ETL(Extract-Transform-Load)过程将对双方的性能造成影响。随着数据量的增加,这可能会带来数据管理和应用上的灾难。

 

图1-2 省略数据缓冲区的数据直连

本书极力推荐图1-1所示的方式,虽然它比图1-2要复杂,但在数据管理和可扩展性方面有非常大的优势。后面的第2.1节中会深入讨论该问题。

1.1.4 分析数据

分析数据是对原始数据进行属性筛选、标准统一之后,使用优化存储的方式存放于分析环境中的数据。从原始数据到分析数据的关键步骤在于ETL过程。

比如,原始数据中的一张表A可能包含100个字段,经过ETL之后,得到了一个包含45个字段的表B,其中的日期格式进行了统一,且滤除了一些特殊字符,并将表B存放于分析环境数据平台的关系数据库Oracle中。这样,原始数据中的表A完成了属性筛选和标准统一(日期格式),转换成了分析数据表B。

另一种需要标准统一的情景根源于原始数据本身的多样性。由于原始数据来源于不同的生产应用系统,其数据格式及字段含义均存在差异。例如,原始数据存放的格式可能有Windows文本、Linux文本、主机格式文本、数据库文件等多种形式;字段含义上的差异则更加多样,比如,由原始数据文件A中性别字段使用1表示男性、2表示女性,而原始数据文件B中性别字段使用M表示男性、F表示女性。通过标准统一,可以约定所有的分析数据统一使用1表示男性、2表示女性。数据统一可为数据分析和数据应用铺平道路。

经过ETL之后的分析数据,为了进一步提高存储效率和读取效率,需要使用技术手段进行存储优化,比如创建索引、进行分区、分表存储、使用大数据平台等。

通过对原始数据的提炼和优化,分析数据具有了信息集中、标准统一、分析效率高等特点,便于数据进一步的分析和应用。

分析数据需要依托数据平台而存在,数据平台的性能对其上的数据分析和应用有决定性影响。数据平台是分析环境的基础,在随后的“数据平台”章节中,我们将详细介绍。

相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
8天前
|
数据可视化
R语言机器学习方法分析二手车价格影响因素
R语言机器学习方法分析二手车价格影响因素
|
14天前
|
机器学习/深度学习 数据可视化 前端开发
【Python机器学习专栏】机器学习模型评估的实用方法
【4月更文挑战第30天】本文介绍了机器学习模型评估的关键方法,包括评估指标(如准确率、精确率、召回率、F1分数、MSE、RMSE、MAE及ROC曲线)和交叉验证技术(如K折交叉验证、留一交叉验证、自助法)。混淆矩阵提供了一种可视化分类模型性能的方式,而Python的scikit-learn库则方便实现这些评估。选择适合的指标和验证方法能有效优化模型性能。
|
14天前
|
机器学习/深度学习 算法 Python
【Python机器学习专栏】Python中的特征选择方法
【4月更文挑战第30天】本文介绍了机器学习中特征选择的重要性,包括提高模型性能、减少计算成本和增强可解释性。特征选择方法主要包括过滤法(如相关系数、卡方检验和互信息)、包装法(如递归特征消除和顺序特征选择)和嵌入法(如L1正则化和决策树)。在Python中,可利用`sklearn`库的`feature_selection`模块实现这些方法。通过有效的特征选择,能构建更优的模型并深入理解数据。
|
14天前
|
机器学习/深度学习 数据采集 数据可视化
【Python 机器学习专栏】数据缺失值处理与插补方法
【4月更文挑战第30天】本文探讨了Python中处理数据缺失值的方法。缺失值影响数据分析和模型训练,可能导致模型偏差、准确性降低和干扰分析。检测缺失值可使用Pandas的`isnull()`和`notnull()`,或通过可视化。处理方法包括删除含缺失值的行/列及填充:固定值、均值/中位数、众数或最近邻。Scikit-learn提供了SimpleImputer和IterativeImputer类进行插补。选择方法要考虑数据特点、缺失值比例和模型需求。注意过度插补和验证评估。处理缺失值是提升数据质量和模型准确性关键步骤。
|
14天前
|
分布式计算 DataWorks 数据库
DataWorks操作报错合集之DataWorks使用数据集成整库全增量同步oceanbase数据到odps的时候,遇到报错,该怎么处理
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
25 0
|
14天前
|
分布式计算 DataWorks 关系型数据库
DataWorks产品使用合集之在 DataWorks 中,使用Oracle作为数据源进行数据映射和查询,如何更改数据源为MaxCompute或其他类型
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
28 1
|
14天前
|
分布式计算 DataWorks 调度
DataWorks产品使用合集之在DataWorks中,查看ODPS表的OSS对象如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
28 1
|
14天前
|
分布式计算 DataWorks MaxCompute
DataWorks产品使用合集之在DataWorks中,将数据集成功能将AnalyticDB for MySQL中的数据实时同步到MaxCompute中如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
24 0
|
14天前
|
分布式计算 DataWorks 关系型数据库
DataWorks产品使用合集之在DataWorks中,MaxCompute创建外部表,MaxCompute和DataWorks的数据一直保持一致如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
20 0
DataWorks产品使用合集之在DataWorks中,MaxCompute创建外部表,MaxCompute和DataWorks的数据一直保持一致如何解决
|
15天前
|
分布式计算 DataWorks 安全
DataWorks产品使用合集之在DataWorks中,从Elasticsearch同步数据到ODPS时同步_id字段的如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
25 0

热门文章

最新文章