1/3
2/3
3/3
Python vs R vs SQL,数据预处理从入门到实战
Python-随风
2021年03月12日 17:43

大家好

今天,跟大家介绍一本专门针对数据预处理的书籍,书名是《数据预处理从入门到实战:基于SQL、R、Python》。

在这些年,经常收到不少数据分析朋友的吐槽和抱怨:

Title 是数据分析,结果天天做着提数的工作,没有技术含量; 分析结论都是运营和产品向老板汇报,没自己什么事; 别人家的数据分析都是各种算法和模型,为什么到了自己就是提数和提数; ……

类似的问题很多。

可见,在成为数据分析师、数据挖掘工程师、数据科学家等职业的路上,数据清洗、数据预处理等基础前置操作,始终是企业和一线员工需要面临的实际问题。

有同学笑称,数据预处理的工作占数据分析任务的 80% 以上,足见其繁琐之处。

今天介绍的这本书的作者是一位日本人,名字叫本桥智光,这本书主要针对数据预处理进行介绍,并同时介绍 SQL、R 和 Python 3种语言在数据预处理方面的对照使用,在不同的场景下,会根据案例来分析使用哪种语言更方便。

对于想同时熟悉和使用这3中语言的同学来说,这本书提供了一个实践的案例。

这本书中,SQL的版本为 , Python的版本为 3.6, R 的版本为 3.4 。

本书的框架内容如下:

数据类型

在 IT 领域,常见的数据类型主要包括以下 3 种:

  1. 由数值和字符等构成的记录数据;

  2. 图片、语音和视频等多媒体数据

  3. 表示数据之间关联的图数据。

记录数据和多媒体数据,大家都容易理解。这里阳哥稍微跟大家介绍下图数据。

图数据由两个元素组成:节点和关系

每个节点代表一个实体(人,地,事物,类别或其他数据),每个关系代表两个节点的关联方式。这种通用结构可以对各种场景进行建模。

存储图数据的数据库,一般称为图数据库,属于 NoSQL数据库的一种。

NoSQL数据库大致可以分为四类:

  1. 键值(key/value)数据库

  2. 列存储数据库

  3. 文档型数据库

  4. 图数据库(Graph DB)

图数据库使用的领域很多,比如:

  • 社交领域:Facebook, Twitter,Linkedin用它来管理社交关系,实现好友推荐

  • 零售领域:eBay,沃尔玛使用它实现商品实时推荐,给买家更好的购物体验

  • 金融领域:摩根大通,花旗和瑞银等银行在用图数据库做风控处理

  • 汽车制造领域:沃尔沃,戴姆勒和丰田等顶级汽车制造商依靠图数据库推动创新制造解决方案

  • 电信领域:Verizon, Orange和AT&T 等电信公司依靠图数据库来管理网络,控制访问并支持客户360

  • 酒店领域:万豪和雅高酒店等顶级酒店公司依使用图数据库来管理复杂且快速变化的库存

阳哥在网上找了两张使用图数据的场景:

金融反欺诈分析模型

企业关系图谱

在本书中,作者主要是针对记录数据的预处理进行讨论的。

数据预处理概述

简单地说,数据分析的预处理就是为数据分析进行的准备工作。数据分析大致分为 3 种类型:

  1. 创建特征、表和图;

  2. 无监督学习的机器学习;

  3. 有监督学习的机器学习。

针对无监督学习和有监督学习,在书中进行了简短的描述:

数据预处理,主要也是针对上述三种类型展开:

  • 用于 “创建特征、表和图”的预处理

  • 用于 “无监督学习”的预处理

  • 用于 “有监督学习”的预处理

一般的预处理步骤如下:

在书中,会同时用到 SQL、 Python 和 R 三种编程语言,为了使读者能够更好的使用,作者也对三种语言的使用提供了一些建议:

  1. R 和 Python最多只能处理内存大小的数据,而SQL能够借助数据库资源处理超过内存大小的数据。因此,在针对大批量数据执行提取操作时,只用 SQL比较好;

  2. 在将数据从纵向转换为横向时,如果使用SQL,代码会变得冗长,而如果使用 R 或 Python,在会比较简洁;

  3. R适用于即时分析,Python借助Jupyter Notebook 也可以实现;

  4. 当需要系统地进行预处理时,由于 SQL 和 Python 的系统化环境比较丰富,和其他系统的兼容性更强,所以通常选择这两种语言。

在书中 R语言中用于数据分析的库 包集合中的  包, Python语言中用于数据分析的库主要是  和 


资料获取方式:评论+私信【资料】