猜你喜欢
Python数据科学应用从入门到精通

Python数据科学应用从入门到精通

书籍作者:张甜 ISBN:9787302646853
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:6981
创建日期:2024-05-09 发布日期:2024-05-09
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

随着数据存储、数据处理等大数据技术的快速发展,数据科学在各行各业得到广泛的应用。数据清洗、特征工程、数据可视化、数据挖掘与建模等已成为高校师生和职场人士迎接数字化浪潮、与时俱进提升专业技能的必修课程。本书将“Python课程学习”与“数据科学应用”有机结合,为数字化人才的培养助力。

全书共分13章,内容包括:第1章数据科学应用概述;第2章Python的入门基础知识;第3章数据清洗;第4~6章特征工程介绍,包括特征选择、特征处理和特征提取;第7章数据可视化应用;第8~13章介绍6种数据挖掘与建模的方法,分别为线性回归、Logistic回归、决策树、随机森林、神经网络、RFM分析。

《Python数据科学应用从入门到精通》既适合作为经济学、管理学、统计学、金融学、社会学、医学、电子商务等相关专业的学生学习Python数据科学应用的专业教材或参考书,也适合作为企事业单位数字化人才培养的教科书与工具书。此外,还可以作为职场人士提升数据处理与分析挖掘能力,提高工作效能和绩效水平的自学Python数据科学应用的工具书。


作者简介

张甜,山东大学金融学博士,现就职于山东管理学院,教授统计学、计量经济学等课程,硕、博士期间分别师从山东大学陈强教授、曹廷求教授,在《财贸经济》《经济评论》等重要期刊发文多篇,参与“地方金融运行动态监测及系统性风险预警研究”等多项重大项目,著有《Python数据科学应用从入门到精通》《Stata统计分析从入门到精通》《SPSS统计分析入门与应用精解(视频教学版)》等10余本畅销数据分析教材。

杨维忠,山东大学西方经济学硕士,CPA,目前就职于某全国性股份制商业银行总行,担任总行数据分析与机器学习内训师。精通Python、Stata、SPSS、Eviews、Excel等多种统计分析软件,具有深厚的学术研究功底、丰富的实践操作经历和授课经验,尤其擅长将各种统计分析方法与机器学习算法应用到工作中,著有多本畅销数据分析教材,深受读者欢迎。


编辑推荐

《Python数据科学应用从入门到精通》是张甜博士和数据分析领域专家杨维忠合力打造的精心之作,现在已成为编辑推荐。本书全面介绍了Python数据分析的基本概念和技能,包括数据清洗、数据可视化、统计分析、机器学习等。重要的是,本书注重实践应用,提供了大量的实例和案例,帮助读者更好地理解和掌握所学知识。无论是经济学、管理学、统计学、金融学、社会学、医学还是电子商务等专业学生,都可以将其作为学习Python数据分析的专业教材和参考书。而对于企业和事业单位来说,本书也是数字化人才培养的教科书和工具书。同时,职场人士也可以利用本书自学,掌握Python数据分析,提升数据挖掘、分析和可视化建模能力,从而提高工作效率和改善绩效水平。


前言

Python作为一门简单、易学、易读、易维护、用途广泛、速度快、免费、开源的主流编程语言,广泛应用于Web开发、大数据处理、人工智能、云计算、爬虫、游戏开发、自动化运维开发等各个领域。它是众多高等院校学生的必修基础课程,也是堪与Office办公软件比肩的职场人士必备技能。然而,不少学生或职场人士常常面临一个困境:在数字化转型的大背景和大趋势下,他们认识到学习Python等分析工具的重要性,但在真正学习Python的各种语言规则时,往往体验不到知识的乐趣,只是匆匆翻看几章后就将书束之高阁。造成这种情况的根因在于没有将学习与自身的研究或工作需求结合,没有以解决问题为目标和导向进行学习。对于很多读者来说,学以致用的最佳途径是使用Python进行数据科学应用。在数字化转型浪潮下,数据科学应用已经不再局限于概念普及和理念推广的层面,而是真真切切地广泛应用于各类企事业单位的各个领域。从客户分层管理到目标客户选择,从客户满意度分析到客户流失预警,从信用风险防控到精准推荐……数据科学应用对于企业全要素生产率的边际提升起到了至关重要的作用。基于上述原因,笔者致力于编写这本Python数据科学应用从入门到精通的教学和参考书,将Python与数据科学应用相结合,通过“深入浅出讲解数据科学原理-贴近实际精选操作案例-详细演示Python操作及代码含义-准确完整解读分析结果”的一站式服务,为读者编写一本“能看得懂、学得进去、真用得上”的数据科学应用书籍。我将这本书献给新时代的莘莘学子和职场奋斗者。

本书共分为13章。第1章为数据科学应用概述,介绍数据清洗、特征工程、数据可视化、数据挖掘与建模的概念、重要性、主要内容、应用场景、注意事项等,并解释为何选择Python作为实现工具。第2章为Python入门基础,内容包括Python概述,Anaconda平台的下载与安装,Python的注释,基本输出与输入函数,Python的保留字与标识符,Python的变量和数据类型,Python的数据运算符,Python序列的概念及通用操作,Python列表,Python元组,Python字典,Python集合,Python字符串等。第3章为数据清洗,介绍Python函数与模块、Numpy模块数组、Pandas模块序列、Pandas模块数据框、Python的流程控制语句,以及常见类型数据在Python中的读取、合并、写入,数据检索,数据行列处理,数据缺失值、重复值和异常值处理,制作数据透视表,进行描述性分析和交叉表分析等。第4章为特征选择,介绍特征选择的概念、原则与方法,以及过滤法、嵌入法和包裹法等特征选择方法在Python中的实现。第5章为特征处理,介绍常用的特征处理方式,包括特征归一化、特征标准化、样本归一化等,同时介绍了等宽分箱、等频分箱、决策树分箱、卡方分箱等分箱方法,并讲解了WOE和IV及其在Python中的实现。第6章为特征提取,介绍无监督降维技术主成分分析(PCA)和有监督降维技术线性判别分析(LDA)。第7章为数据可视化,介绍常用的数据可视化涉及图形的绘制,包括四象限图、热力图、直方图、条形图、核密度图、正态QQ图、散点图、线图(含时间序列趋势图)、双纵轴线图、回归拟合图、箱图、小提琴图、联合分布图、雷达图、饼图等。第8章为数据挖掘与建模1—线性回归,主要介绍线性回归算法的基本原理及其在Python中的实现。第9章为数据挖掘与建模2—Logistic回归,主要介绍二元Logistic回归的基本原理,并结合具体实例讲解算法在Python中的实现与应用。第10章为数据挖掘与建模3—决策树,讲解决策树算法的概念与原理、特征变量选择及其临界值确定方法、决策树的剪枝、包含剪枝决策树的损失函数、变量重要性,以及算法解决分类问题和回归问题的Python实现与应用。第11章为数据挖掘与建模4—随机森林,讲解模型融合的基本思想、集成学习的概念与分类、装袋法的概念与原理、随机森林算法的概念与原理、随机森林算法特征变量重要性度量、部分依赖图与个体条件期望图,以及算法解决分类问题和回归问题的Python实现与应用。第12章为数据挖掘与建模5—神经网络,讲解神经网络算法的基本思想、感知机、多层感知机、神经元激活函数、误差反向传播算法、万能近似定理及多隐藏层优势、BP算法过拟合问题的解决,以及算法解决分类问题和回归问题的Python实现与应用。第13章为数据挖掘与建模6—RFM分析,讲解RFM分析的基本思想、RFM分类组合与客户类型对应情况、不同类型客户的特点及市场营销策略,并结合具体实例讲解该分析方法在Python中的实现与应用。

本书的特色在于:一是采用了“入门-进阶-应用”的循序渐进方式来讲解Python与数据科学应用。前两章分别介绍了数据科学应用概述和Python入门基础,使读者能够基本掌握Python与数据科学应用的基础。随后的章节中详细讲解了各类数据科学应用中用到的Python代码,并为每行代码提供了恰当的注释,以帮助读者真正理解代码的含义,并能够灵活应用于自身的科研或应用研究。二是采用了“复杂算法模型简单化、抽象理论概念具象化”的方法来讲解数据科学。通过图像化和案例化的方式,剖析了各种数据科学应用的基本原理和适用条件,使读者能够看得明白、学得进去,避免在复杂的数学公式推导面前耗尽了所有的学习热情,最终望洋兴叹,苦技能虽好却不能为己所用矣。同时,本书也做到了不失专业深度,使读者能够掌握各种数据科学应用方法的精髓,根据自身需要选取方法、优化代码和进行科学调参。三是实现了Python与数据科学应用的深度融合。以学以致用为桥梁实现了Python与数据科学应用之间的高效联动协同,使读者通过学习本书能够同时掌握Python语言和数据科学应用这两大专业利器,达到“一箭双雕”的学习效果,有效提升科研与应用水平。

本书提供了丰富的资源,除了可以在正文中扫描二维码观看教学视频外,还可以扫描下方二维码下载源代码、数据文件、PPT、思维导图和习题答案。


本书在编写过程中也借鉴了前人的研究成果。此外,本书作者张甜博士于2020年1月师从山东大学陈强教授,在陈教授的指导下系统学习了机器学习课程。

由于作者水平有限,书中难免存在疏漏之处,诚恳地欢迎各位同行专家和广大读者批评指正,并提出宝贵的意见。

作 者

2023年7月


目录

第1章 数据科学应用概述 1

1.1 什么是数据清洗、特征工程、数据可视化、数据挖掘与建模 1

1.1.1 数据清洗的概念 1

1.1.2 特征工程的概念 2

1.1.3 数据可视化的概念 4

1.1.4 数据挖掘与建模的概念 4

1.2 为什么要开展数据清洗、特征工程、数据可视化和数据挖掘与建模 4

1.2.1 数据清洗、特征工程的重要性 4

1.2.2 数据可视化的重要性 5

1.2.3 数据挖掘与建模的重要性 5

1.3 为什么要将Python作为实现工具 6

1.4 数据清洗、特征工程、数据可视化和数据挖掘与建模的主要内容 6

1.4.1 数据清洗的主要内容 6

1.4.2 特征工程的主要内容 7

1.4.3 数据可视化的主要内容 7

1.4.4 数据挖掘与建模的主要内容 8

1.5 数据清洗、特征工程、数据可视化和数据挖掘与建模的应用场景 8

1.5.1 数据清洗、特征工程的应用场景 8

1.5.2 数据可视化的应用场景 9

1.5.3 数据挖掘与建模的应用场景 10

1.6 数据清洗、特征工程和数据可视化的注意事项 14

1.6.1 数据清洗、特征工程的注意事项 14

1.6.2 数据可视化的注意事项 14

1.7 数据挖掘与建模的注意事项 15

1.8 习题 19

第2章 Python入门基础 21

2.1 Python概述 21

2.2 Anaconda平台的下载与安装 22

2.2.1 Anaconda平台的下载 22

2.2.2 Anaconda平台的安装 24

2.2.3 Anaconda Prompt (Anaconda3) 26

2.2.4 Spyder (Anaconda3)的介绍及偏好设置 26

2.2.5 Spyder (Anaconda3)窗口介绍 29

2.3 Python的注释 34

2.4 基本输出函数—print()函数 35

2.5 基本输入函数—input()函数 36

2.6 Python的保留字与标识符 37

2.6.1 Python中的保留字 37

2.6.2 Python的标识符 37

2.7 Python的变量 38

2.8 Python的基本数据类型 39

2.9 Python的数据运算符 43

2.10 Python序列的概念及通用操作 45

2.10.1 索引 46

2.10.2 切片 46

2.10.3 相加 47

2.10.4 相乘 48

2.10.5 元素检查 48

2.10.6 与序列相关的内置函数 49

2.11 Python列表 50

2.11.1 列表的基本操作 50

2.11.2 列表元素的基本操作 52

2.12 Python元组 53

2.12.1 元组的基本操作 53

2.12.2 元组元素的基本操作 55

2.13 Python字典 55

2.13.1 字典的基本操作 56

2.13.2 字典元素的基本操作 58

2.14 Python集合 60

2.15 Python字符串 61

2.16 习题 65

第3章 数据清洗 67

3.1 Python数据清洗基础 67

3.1.1 Python函数与模块 67

3.1.2 numpy模块数组 74

3.1.3 pandas模块序列 79

3.1.4 pandas模块数据框 81

3.1.5 Python流程控制语句 86

3.2 Python数据读取、合并、写入 90

3.2.1 读取、合并、写入文本文件(CSV或者TXT) 90

3.2.2 读取、合并、写入Excel数据文件 98

3.2.3 读取、合并、写入Stata数据文件 99

3.2.4 读取、合并SPSS数据文件 100

3.3 Python数据检索 102

3.4 Python数据行列处理 103

3.4.1 删除变量列、样本行 104

3.4.2 更改变量的列名称、调整变量列顺序 104

3.4.3 改变列的数据格式 106

3.4.4 多列转换 106

3.4.5 数据百分比格式转换 107

3.5 Python数据缺失值处理 107

3.5.1 查看数据集中的缺失值 108

3.5.2 填充数据集中的缺失值 109

3.5.3 删除数据集中的缺失值 113

3.6 Python数据重复值处理 115

3.6.1 查看数据集中的重复值 115

3.6.2 删除数据集中的重复值 117

3.7 Python数据异常值处理 118

3.7.1 运用3δ准则检测异常值 118

3.7.2 绘制箱图检测异常值 119

3.7.3 删除异常值 121

3.7.4 3δ准则替换异常值 122

3.7.5 1%/99%分位数替换异常值 123

3.8 Python数据透视表、描述性分析和交叉表分析 124

3.8.1 数据透视表 124

3.8.2 描述性分析 129

3.8.3 交叉表分析 132

3.9 习题 136

第4章 特征选择 138

4.1 特征选择的概念、原则及方法 138

4.1.1 特征选择的概念 138

4.1.2 特征选择的原则 139

4.1.3 特征选择的方法 139

4.2 过滤法—去掉低方差的特征 141

4.3 过滤法—单变量特征选择 144

4.3.1 卡方检验 144

4.3.2 相关性分析 146

4.3.3 方差分析(F检验) 149

4.3.4 互信息 150

4.4 包裹法—递归特征消除 151

4.5 嵌入法 152

4.5.1 随机森林算法选择特征变量 153

4.5.2 提升法算法选择特征变量 155

4.5.3 Logistic回归算法选择特征变量 156

4.5.4 线性支持向量机算法选择特征变量 158

4.6 习题 159

第5章 特征处理 161

5.1 特征归一化、特征标准化、样本归一化 161

5.1.1 特征归一化 162

5.1.2 特征标准化 164

5.1.3 样本归一化 165

5.2 特征等宽分箱和等频分箱 168

5.3 特征决策树分箱 170

5.3.1 信息熵 170

5.3.2 信息增益 170

5.3.3 增益比率 171

5.3.4 基尼指数 171

5.3.5 变量重要性 172

5.3.6 特征决策树分箱的Python实现 172

5.4 特征卡方分箱 174

5.5 WOE(证据权重)和IV(信息价值) 175

5.5.1 WOE和IV的概念 175

5.5.2 WOE的作用 176

5.5.3 WOE编码注意事项 177

5.5.4 IV的作用 177

5.5.5 为什么使用IV而不是WOE来判断特征变量的预测能力 178

5.6 WOE、IV的Python实现 179

5.6.1 载入分析所需要的模块和函数 179

5.6.2 数据读取及观察 179

5.6.3 描述性统计分析 181

5.6.4 特征变量筛选 182

5.6.5 划分训练样本和测试样本 183

5.6.6 分箱操作 184

5.6.7 画分箱图 185

5.6.8 调整分箱 190

5.6.9 将训练样本和测试样本进行WOE编码 192

5.6.10 构建Logistic模型进行预测 193

5.6.11 模型预测及评价 194

5.6.12 绘制ROC曲线,计算AUC值 196

5.7 习题 198

第 6 章 特征提取 199

6.1 无监督降维技术—主成分分析 199

6.1.1 主成分分析的基本原理 199

6.1.2 主成分分析的数学概念 200

6.1.3 主成分的特征值 201

6.1.4 样本的主成分得分 201

6.1.5 主成分载荷 202

6.1.6 主成分分析的Python实现 203

6.2 有监督降维技术—线性判别分析 210

6.2.1 线性判别分析的基本原理 210

6.2.2 线性判别分析的算法过程 212

6.2.3 线性判别分析的Python实现 212

6.3 习题 222

第 7 章 数据可视化 224

7.1 四象限图 224

7.1.1 四象限图简介 224

7.1.2 案例数据介绍 225

7.1.3 Python代码示例 227

7.2 热力图 230

7.2.1 热力图简介 230

7.2.2 案例数据介绍 231

7.2.3 Python代码示例 231

7.3 直方图 234

7.3.1 直方图简介 234

7.3.2 案例数据介绍 236

7.3.3 Python代码示例 236

7.4 条形图、核密度图和正态QQ图 242

7.4.1 条形图、核密度图和正态QQ图简介 242

7.4.2 案例数据介绍 243

7.4.3 Python代码示例 243

7.5 散点图 246

7.5.1 散点图简介 246

7.5.2 案例数据介绍 247

7.5.3 Python代码示例 249

7.6 线图(含时间序列趋势图) 255

7.6.1 线图(含时间序列趋势图)简介 255

7.6.2 案例数据介绍 257

7.6.3 Python代码示例 258

7.7 双纵轴线图 260

7.7.1 双纵轴线图简介 260

7.7.2 案例数据介绍 260

7.7.3 Python代码示例 260

7.8 回归拟合图 262

7.8.1 回归拟合图简介 262

7.8.2 案例数据介绍 263

7.8.3 Python代码示例 263

7.9 箱图 265

7.9.1 箱图简介 265

7.9.2 案例数据介绍 267

7.9.3 Python代码示例 267

7.10 小提琴图 271

7.10.1 小提琴图简介 271

7.10.2 案例数据介绍 273

7.10.3 Python代码示例 274

7.11 联合分布图 276

7.11.1 联合分布图简介 276

7.11.2 案例数据介绍 277

7.11.3 Python代码示例 277

7.12 雷达图 281

7.12.1 雷达图简介 281

7.12.2 案例数据介绍 281

7.12.3 Python代码示例 282

7.13 饼图 287

7.13.1 饼图简介 287

7.13.2 案例数据介绍 288

7.13.3 Python代码示例 289

7.14 习题 291

第8章 数据挖掘与建模1——线性回归 299

8.1 基本思想 299

8.1.1 线性回归算法的概念及数学解释 299

8.1.2 线性回归算法的优点 301

8.1.3 线性回归算法的缺点 302

8.2 应用案例 302

8.2.1 数据挖掘与建模思路 302

8.2.2 数据文件介绍 303

8.2.3 导入分析所需要的模块和函数 303

8.2.4 数据读取及观察 304

8.3 使用smf进行线性回归 305

8.3.1 使用smf进行线性回归 306

8.3.2 多重共线性检验 310

8.3.3 解决多重共线性问题 311

8.3.4 绘制拟合回归平面 312

8.4 使用sklearn进行线性回归 313

8.4.1 使用验证集法进行模型拟合 315

8.4.2 更换随机数种子,使用验证集法进行模型拟合 315

8.4.3 使用10折交叉验证法进行模型拟合 316

8.4.4 使用10折重复10次交叉验证法进行模型拟合 318

8.4.5 使用留一交叉验证法进行模型拟合 318

8.5 习题 319

第9章 数据挖掘与建模2——Logistic回归 320

9.1 基本思想 320

9.1.1 Logistic回归算法的概念及数学解释 320

9.1.2 “分类问题监督式学习”的性能度量 321

9.2 应用案例 327

9.2.1 数据文件介绍 327

9.2.2 导入分析所需要的模块和函数 327

9.2.3 数据读取及观察 328

9.3 描述性分析 330

9.4 数据处理 332

9.4.1 区分分类特征和连续特征并进行处理 332

9.4.2 将样本全集分割为训练样本和测试样本 333

9.5 建立二元Logistic回归算法模型 334

9.5.1 使用statsmodels建立二元Logistic回归算法模型 334

9.5.2 使用sklearn建立二元Logistic回归算法模型 339

9.5.3 特征变量重要性水平分析 342

9.5.4 绘制ROC曲线,计算AUC值 345

9.5.5 计算科恩kappa得分 346

9.6 习题 347


产品特色