内容简介
这是一本将数据分析技术与数据使用场景深度结合的著作,从实战角度讲解了如何利用Python进行数据分析和数据化运营。
畅销书全新、大幅升级,第1版近乎100%的好评,第2版不仅将Python升级到了*新的版本,而且对具体内容进行了大幅度的补充和优化。作者是有10余年数据分析与数据化运营的大数据专家,书中对50余个数据工作流知识点、14个数据分析与挖掘主题、4个数据化运营主题、8个综合性案例进行了全面的讲解,能让数据化运营结合数据使用场景360落地。
全书一共9章,分为两个部分:
第壹部分(第1-4章) Python数据分析与挖掘
首先介绍了Python和数据化运营的基本知识,然后详细讲解了Python数据获取(结构化和非结构化)、预处理、分析和挖掘的关键技术和经验,包含10大类预处理经验、14个数据分析与挖掘主题,50余个知识点。
第二部分(第5~9章) Python数据化运营
这是本书的核心,详细讲解了会员运营、商品运营、流量运营和内容运营4大主题,以及提升数据化运营价值的方法。每个运营主题中都包含了基本知识、评估指标、应用场景、数据分析模型、数据分析小技巧、数据分析大实话以及2个综合性的应用案例。
------
添加作者微信(TonySong2013)可在线获取实时解答,同时加入本书沟通群(作者拉入群),交流更多数据工作的感悟和心得并认识更多同行从业者;本书提供案例数据和源代码(中文注释)下载,供读者实操时使用。
(1)作者是有10余年数据分析与数据化运营经验的大数据专家,在国内外企业都工作过,经验丰富。
(2)作者善于总结和写作,乐于分享,撰写数据分析类 畅销书3部。
(3)本书与同类书*大的不同在于,并不只有纯粹的关于数据分析技术和工具的讲解,而且还与数据使用场景深度结合,在业务上真正可指导落地。
(4)新版除了Python更新到了*新版外,具体内容上做了大幅度的补充和优化,整体篇幅超过30%,详见前言。
(5)本书作者提供微信、邮箱等,可通过实时和离线两种方式及时为读者在线传道、受业、解惑。
为什么要写这本书
随着商业竞争形势的日益严峻,企业需要不断寻找提高利润率、降低成本、提高产出价值的有效方法,而数据化运营恰好是满足企业这一需求的关键武器。数据化运营包含了运营和数据两种要素,前者需要较多的业务经验,而后者对数据分析提出了更高的要求。只有把二者结合起来,在技能、经验和技术的支持下,数据化运营才能在企业内部真正落地、生根、发芽。
对数据化运营而言,各企业普遍关注的结构化数据分析、挖掘的场景非常丰富,例如销售预测、会员生命周期维护、商品结构分析等,这些普遍的共同认知为本书提供了接地气的基础。但除了这些传统内容外,还有很多非结构化的数据主题,它们在数据化运营过程中的作用越来越重要,例如主题挖掘、图片分析、文本挖掘、图像识别、语音识别等,这些内容拓展了数据化运营发挥价值的场景基础。
Python作为数据工作领域的关键武器之一,具有开源、多场景应用、快速上手、完善的生态和服务体系等特征,这些特征使其在数据分析与数据化运营的任何场景中都能游刃有余;即使在其为数不多的短板功能上,Python仍然可以基于胶水的特征,引入对应的第三方工具、库、程序等来实现全场景、全应用的覆盖。在海量数据背景下,Python对超大数据规模的支持性能、数据分析处理能力、建模的专业程度及开发便捷性的综合能力方面要远远高于其他工具。因此,Python几乎是数据化运营工作的不二之选。
纵观整个国内技术书籍市场,有关Python的书籍不少,但普遍都是基于工具层面的介绍,且侧重于工具本身的方法、参数、调用、实例,与真正实践结合的较少;而有关数据化运营的书籍,目前市场上还为数不多,现有的数据化运营方面的书籍大多是基于Excel等工具的入门级别的分析类书籍。因此,本书结合Python和数据化运营两个方面,在数据分析工作流程和数据化运营主题结合的基础上,通过指标、模型、方法、案例配合工具的形式,详细介绍了如何使用Python来支持数据化运营,尤其是传统工具无法满足的应用场景。
本书第1版上市后,得到来自各行各业很多好友和读者的支持和反馈,在此致以感谢!第2版在第1版基础上做了很多优化甚至重写,还新增了很多内容。
优化以及重写的内容
全部代码基于Python 3做优化或重写,书中的Python版本是Python 3.7。
基于Jupyter做调试、分析和应用,更适合数据分析师的应用场景,包括探索性分析、数据预处理、结果可视化展示、交互式演示等。
网页数据解析中基于Class做功能封装和处理,便于以网页对象为主体的数据工作。
PIL/Pollow的替换和方法应用介绍,多用于图像处理工作。
第4章数据挖掘的案例部分,每一个案例都经过重写,并增加了很多知识点,以实际案例为需求,实际应用数据挖掘算法做建模和分析应用。
Matplotlib调用3D图形展示多个维度的信息,并可通过拖曳展示不同角度下数据的分布情况。
第5章第1个案例是RFM代码的重构,以及针对不同分组的精细化运营策略的制定。
第5章第2个案例是基于嵌套Pipeline和FeatureUnion复合数据工作流的营销响应预测,并基于复合(两层管道)的Pipeline做数据工作流管理。
第6章第2个案例是基于集成算法GBDT和RandomForest的投票组合模型的异常检测,GBDT和RandomForest是两个典型的代表模型准确度和稳定度的算法,这种兼顾准和稳的模型搭配更符合实际需求。
第7章基于自动节点树的数据异常原因来下探分析树形图的内容和可视化,优化了代码和样式,可视化效果更好,并能获得更多信息,包括维度分解过程、主因子、其他因子和潜在因子等。
新增的内容
基于Anaconda的Python环境的安装和配置,更方便初学者快速搭建Python应用环境。
Jupyter基础工具的用法,包括安装、启动、基础操作、魔术命令、新内核安装和使用、执行shell命令、扩展和插件使用、系统基础配置等。
基于Pandas的get_dummies做标志转换,即OneHotEncode转换。
特征选择的降维中新增feature_selection配合SelectPercentile、VarianceThreshold、RFE、SelectFromModel做特征选择。
特征转换的降维中新增PCA、LDA、FA、ICA这几个数据转换和降维的具体方法。
特征组合的降维中新增基于GBDT、PolynomialFeatures、gplearn的genetic方法做组合特征。
第4章的分类算法中新增使用XGboost做分类应用,以及配合graphviz输出矢量图形。
pyecharts的数据可视化的应用和操作,尤其是关联关系图的应用。
Python通过rpy2调用R程序,实现关联算法的挖掘,包括直接执行程序文件、代码段、变量使用等。
Python通过rpy2调用auto.airma实现自动ARIMA的应用,降低Python在时间序列算法应用时的门槛。
自动化学习:增加了对于自动化数据挖掘与机器学习的理论、流程、知识和应用库介绍,并基于TPOT做自动化回归和分类学习案例演示。
我希望能尽自己的微薄之力,将过往所学、所感、所知提炼出来供更多人了解。如果读者能从本书中感悟一二,我将倍感欣慰;如果读者能将其用于工作实践,这将是本书以及数据工作之福!
读者对象
本书旨在提供有关数据与运营的综合知识的介绍和应用,虽然基础工具是Python,但本书并没有就Python基础规则和语法做详细介绍,因此希望读者具有一定的Python基础。相信我,只要你认真看过Python教学视频(网络上有很多),只需大概2个小时就能具备这种基础。
本书对读者的知识背景没有特定要求,书中的内容都尽量言简意赅、深入浅出。本书适合以下几类读者阅读:
企业运营人员。本书的核心命题就是运营,其中涉及会员运营、商品运营、流量运营和内容运营四大主题,无论运营人员希望获得运营知识,还是希望获得数据分析和挖掘方法,都可以从书中找到。
数据分析师。毫无疑问,数据分析师是本书的核心受众群体之一,书中介绍的数据抽取、预处理和分析挖掘经验一定能为数据分析师带来很多不一样的收获,每个运营主题下的小技巧、模型和案例更能激发数据分析师的灵感原来数据工作还能这样做。
Python工程师。坦白讲,本书不是一本专门介绍Python语法、规则的书籍。但Python作为一种万能工具,在数据分析和挖掘领域具有举足轻重的地位,对于任何一位工作领域中涉及数据(或大数据)的Python工程师来说,本书的价值会成倍增长。书中对Python数据处理、计算和挖掘库的应用介绍,以及对有关工具库的用法、注意点和小知识的介绍一定会使Python工程师的工作和能力更上一层楼。
数据挖掘工程师。数据分析与挖掘在实际运营中都是不分家的,本书没有冠以挖掘之名,但并不意味着没有挖掘(或机器学习)算法。本书第4章基本都是围绕常用算法展开的知识介绍,其中各个算法类的大坑都是笔者多年经验的总结;在运营主题的案例中几乎都用到了算法来解决实际问题。除了基本的数据挖掘以外,本书还涉及自然语言处理、日志处理、文本挖掘、图像处理等相关知识。
如何阅读本书
本书内容从逻辑上共分为两大部分,第一部分是有关数据分析类的主题,第二部分是有关数据化运营的主题。
第一部分包括第1~4章和附录,主要介绍了Python和数据化运营的基本知识、数据来源获取、数据预处理,以及数据分析和挖掘的关键经验。其中:
第1章是Python和数据化运营的基本知识介绍。
第2章对传统的结构化和非结构化数据来源及获取、读取和解析进行了介绍,包括数据文件、数据库、API、流式数据、外部公开数据等,也提到了如何读取网页、文本、图片、视频、语音等类型的数据。
第3章总结了10个有关数据化运营过程的数据预处理经验,涵盖了常见的数据清洗、标志转换、数据降维、样本不均衡、数据源冲突、抽样、共线性、相关性分析、数据标准化、数据离散化等内容,并在扩展内容中简单介绍了有关网页、日志、图像、自然语言的文本预处理工作,作为拓展知识阅读。
第4章总结了数据分析、挖掘和网站分析方法的8个主题类,内容涵盖聚类、回归、分类、关联、异常检测、时间序列、路径分析、漏斗分析、归因分析、热力图分析及其他统计分析相关话题,各个类别中都以关键经验为基础,围绕应用误区、注意事项和应用方法展开详细介绍。
第二部分包括第5~9章,分别介绍了会员运营、商品运营、流量运营和内容运营四大主题,以及提升数据化运营价值的方法。在每个数据化运营主题中都包含了基本知识、关键指标、应用场景、数据分析模型、数据分析小技巧、数据分析大实话及两个应用案例。
基本知识:有关运营主题的基本内涵、价值、用途等方面的介绍。
关键指标:运营主题的主要评估和矩阵指标,按类别拆分和归纳。
应用场景:总结数据对于运营的价值落地在哪些场景中。
数据分析模型:大型的数据分析方法,包括统计分析、数据挖掘、网站分析、数学模型。
数据分析小技巧:小型的数据分析方法,看起来相对简单但非常有效。
数据分析大实话:有关运营或数据分析的潜在规律的解释及介绍。
应用案例:每个运营主题都包含两个应用案例,基本上每个案例的应用算法和技巧都不相同,目的是呈现不同算法在不同场景下的差异化应用。
除了以上内容外,以下信息是对本书中涉及特定内容的解释和说明。
渐进式的内容:本书的Python代码和实现部分,在不同章节可能会具有不同的代码风格,包括定义规则、注释、功能实现等,这是因为笔者试图遵循循序渐进的原则,先介绍功能实现,然后再介绍其他的备选方案,以及规范、原则等来辅助Python的实现。这样做一方面是希望尽量多地展示解决同一类问题的不同方法,让读者能根据自身实际情况选择最合适的用法示例;另一方面是因为,考虑到可能有很多读者不具备较强的Python基础知识,笔者不希望一上来就让这些读者感觉到使用Python会受到各种条条框框的限制,从而打击他们使用Python的信心,毕竟,能实现功能需求是第一位的。
内容延伸:本书第1~4章都有内容延伸章节,其内容是有关非结构化主题的读取、分析、处理。由于每个主题展开来都能写成一本书,因此仅在内容延伸中抛砖引玉,有兴趣的读者可以了解和学习。
相关知识点:本书很多章节中都有相关知识点部分,其内容是关于特定工具、知识、算法、库等方面的较为详细的介绍,充当了本书的知识堡垒。
本章小结:每章的结尾都有本章小结,在小结中包含4部分内容。
内容小结:有关本章内容
作者简介
宋天龙(TonySong)
大数据技术专家,触脉咨询合伙人兼副总裁,前Webtrekk中国区技术和咨询负责人(Webtrekk,德国*大的在线数据分析服务提供商)。
擅长数据挖掘、建模、分析与运营,精通端到端数据价值场景设计、业务需求转换、数据结构梳理、数据建模与学习以及数据工程交付。在电子商务、零售、银行、保险等多个行业拥有丰富的数据项目工作经验,参与过集团和企业级数据体系规划、DMP与数据仓库建设、大数据产品开发、网站流量系统建设、个性化智能推荐与精准营销、企业大数据智能等。参与实施客户案例包括联合利华、Webpower、德国OTTO集团电子商务(中国)、Esprit中国、猪八戒网、顺丰优选、乐视商城、泰康人寿、酒仙网、国美在线、迪信通等。
著有多部畅销书:
《Python数据分析与数据化运营》
《网站数据挖掘与分析:系统方法与商业实践》
《企业大数据系统构建实战:技术、架构、实施与应用》
前言
第1章 Python和数据化运营1
1.1 用Python做数据化运营1
1.1.1 Python是什么1
1.1.2 数据化运营是什么2
1.1.3 Python用于数据化运营5
1.2 数据化运营所需的Python相关工具和组件5
1.2.1 Python程序6
1.2.2 Python交互环境Jupyter7
1.2.3 Python第三方库23
1.2.4 数据库和客户端29
1.2.5 SSH远程客户端30
1.3 内容延伸:Python的OCR和tensorflow31
1.3.1 OCR工具:Tesseract-ocr31
1.3.2 机器学习框架:TensorFlow31
1.4 第1个用Python实现的数据化运营分析实例、销售预测32
1.4.1 案例概述32
1.4.2 案例过程32
1.4.3 案例小结36
1.5 本章小结37
第2章 数据化运营的数据来源40
2.1 数据化运营的数据来源类型40
2.1.1 数据文件40
2.1.2 数据库41
2.1.3 API42
2.1.4 流式数据43
2.1.5 外部公开数据43
2.1.6 其他来源44
2.2 使用Python获取运营数据44
2.2.1 从文本文件读取运营数据44
2.2.2 从Excel获取运营数据55
2.2.3 从关系型数据库MySQL读取运营数据57
2.2.4 从非关系型数据库MongoDB读取运营数据64
2.2.5 从API获取运营数据68
2.3 内容延伸:读取非结构化网页、文本、图像、视频、语音72
2.3.1 从网页中获取运营数据72
2.3.2 读取非结构化文本数据73
2.3.3 读取图像数据74
2.3.4 读取视频数据78
2.3.5 读取语音数据81
2.4 本章小结85
第3章 10条数据化运营不得不知道的数据预处理经验87
3.1 数据清洗:缺失值、异常值和重复值的处理87
3.1.1 数据列缺失的4种处理方法87
3.1.2 不要轻易抛弃异常数据89
3.1.3 数据重复就需要去重吗90
3.1.4 代码实操:Python数据清洗92
3.2 将分类数据和顺序数据转换为标志变量100
3.2.1 分类数据和顺序数据是什么100
3.2.2 运用标志方法处理分类和顺序变量101
3.2.3 代码实操:Python标志转换101
3.3 大数据时代的数据降维104
3.3.1 需要数据降维的情况104
3.3.2 基于特征选择的降维105
3.3.3 基于特征转换的降维106
3.3.4 基于特征组合的降维112
3.3.5 代码实操:Python数据降维114
3.4 解决样本类别分布不均衡的问题123
3.4.1 哪些运营场景中容易出现样本不均衡124
3.4.2 通过过抽样和欠抽样解决样本不均衡124
3.4.3 通过正负样本的惩罚权重解决样本不均衡124
3.4.4 通过组合/集成方法解决样本不均衡125
3.4.5 通过特征选择解决样本不均衡125
3.4.6 代码实操:Python处理样本不均衡125
3.5 数据化运营要抽样还是全量数据128
3.5.1 什么时候需要抽样128
3.5.2 如何进行抽样129
3.5.3 抽样需要注意的几个问题130
3.5.4 代码实操:Python数据抽样131
3.6 解决运营数据的共线性问题135
3.6.1 如何检验共线性135
3.6.2 解决共线性的5种常用方法136
3.6.3 代码实操:Python处理共线性问题137
3.7 有关相关性分析的混沌139
3.7.1 相关和因果是一回事吗139
3.7.2 相关系数低就是不相关吗139
3.7.3 代码实操:Python相关性分析140
3.8 标准化,让运营数据落入相同的范围141
3.8.1 实现中心化和正态分布的Z-Score141
3.8.2 实现归一化的Max-Min142
3.8.3 用于稀疏数据的MaxAbs142
3.8.4 针对离群点的RobustScaler142
3.8.5 代码实操:Python数据标准化处理142
3.9 离散化,对运营数据做逻辑分层145
3.9.1 针对时间数据的离散化145
3.9.2 针对多值离散数据的离散化146
3.9.3 针对连续数据的离散化146
3.9.4 针对连续数据的二值化147
3.9.5 代码实操:Python数据离散化处理147
3.10 内容延伸:非结构化数据的预处理151
3.10.1 网页数据解析151
3.10.2 网络用户日志解析159
3.10.3 图像的基本预处理164
3.10.4 自然语言文本预处理169
3.11 本章小结172
第4章 跳过运营数据分析和挖掘的大坑174
4.1 聚类分析174
4.1.1 当心数据异常对聚类结果的影响175
4.1.2 超大数据量时应该放弃K均值算法175
4.1.3 聚类不仅是建模的终点,更是重要的中间预处理过程177
4.1.4 高维数据上无法应用聚类吗178
4.1.5 如何选择聚类分析算法179
4.1.6 案例:客户特征的聚类与探索性分析179
4.2 回归分析196
4.2.1 注意回归自变量之间的共线性问题197
4.2.2 相关系数、判定系数和回归系数之间是什么关系197
4.2.3 判定系数是否意味着相应的因果联系197
4.2.4 注意应用回归模型时研究自变量是否产生变化198
4.2.5 如何选择回归分析算法198
4.2.6 案例:大型促销活动前的销售预测199
4.3 分类分析206
4.3.1 防止分类模型的过拟合问题207
4.3.2 使用关联算法做分类分析207
4.3.3 用分类分析来提炼规则、提取变量、处理缺失值208
4.3.4 类别划分:分类算法和聚类算法都是好手209
4.3.5 如何选择分类分析算法210
4.3.6 案例:用户流失预测分析与应用210
4.4 关联分析221
4.4.1 频繁规则不一定是有效规则221
4.4.2 不要被啤酒尿布的故事禁锢你的思维222
4.4.3 被忽略的负相关模式真的毫无用武之地吗223
4.4.4 频繁规则只能打包组合应用吗2