猜你喜欢
Python数据可视化/数据分析与决策技术丛书

Python数据可视化/数据分析与决策技术丛书

书籍作者:科斯·拉曼 ISBN:9787111560906
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:2929
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介
《Python数据可视化》介绍了利用Python实现数据可视化。并介绍了数据、信息与知识之间的关系。书中涉及的可视化过程应用了大量流行的Python库,你会学到采用Numpy、Scipy、IPython、MatPotLib、Pandas、Patsy和Scikit-Learn等生成可视化结果的不同方法。
作者简介

程豪,中国人民大学统计学博士在读,主要研究方向为机器学习、数据挖掘、统计预测、社会网络及结构方程模型。他担任了10多个课题的主要负责人和研究员,合作发表论文6篇,并在“海峡两岸CATI与数据挖掘合作20周年暨第十届中国数据挖掘与商业智能研讨会”中做报告。2014年获得“汇丰杯”中国高校SAS数据分析大赛冠军。除本书外,还曾参与翻译《R语言编程艺术》。

前言
前  言 Preface
  数据可视化旨在清楚明了地提供信息,帮助读者定性理解这些信息。俗话说,一图胜千字(百闻不如一见)。这里,可以换个说法,“一幅图讲述了一个故事,如同万语千言。”因此,可视化是一个宝贵的工具,有助于读者快速理解相应的概念。然而,与其说数据可视化是一种技能,还不如说它是一门艺术。这是因为,如过度使用数据可视化会适得其反。
  当前,有太多数据需要处理。这些数据包含着许多见解,这些见解是成功的关键。能够发现数据、清洗数据,并使用正确的工具实现可视化至关重要。本书讲解了用Python软件包实现数据可视化的不同方法,并给出很多不同领域的案例,比如,数值计算、金融模型、统计和机器学习,以及遗传学与网络。
  本书提供在Mac OS X 10.10.5系统上运行的案例程序,具体用到Python 2.7、IPython 0.13.2、matplotlib 1.4.3、NumPy 1.9.2、SciPy 0.16.0和conda构建1.14.1版本。
  本书主要内容第1章阐述了数据可视化确实应该被称为“用于知识推断的数据可视化”。本章包含框架,讲解数据/信息如何转换为知识,以及有意义的呈现方式(通过取对数、颜色映射、散点图、相关性以及其他)如何能够帮助我们更容易地掌握知识。
  第2章讲述可视化的重要性,展示可视化过程中的一些步骤,包括可选择的几种工具选项。可视化方法由来已久,很早之前我们就接触过这些方法;比如,连年幼的小孩都能解释条形图。交互式可视化有很多优点,本章将举例说明。
  第3章解释了从Continuum Analytics使用Anaconda时,不必安装每个Python库的原因。Anaconda有简化的打包和部署方法,这些方法使得IPython notebook与其他库的并行运算变得更加容易。
  第4章包括交互式绘图方法及在计算物理和应用数学中的实践案例。一些著名的案例包括用SciPy实现插值方法、近似、聚类、抽样、相关关系和凸优化。
  第5章探索金融工程,该领域有很多数值计算和图表绘制的方法,是探索Python的一个有趣的案例。本章通过举例讲述股票报价、回归分析、蒙特卡洛算法和模拟方法。
  第6章包含了用NumPy、SciPy、matplotlib和scikit-learn等工具进行处理的统计方法,比如,线性、非线性回归、聚类和分类。
  第7章包含了有趣的案例,比如社交网络以及现实生活中的有向图举例,适用于这些问题的数据结构,以及网络分析。本章会用到一些具体的库,比如graph-tool、NetworkX、matplotlib、scipy和numpy。
  第8章包含模拟方法和信号处理案例,用以展示一些可视化方法。这里,我们也给出了其他高级工具的对比,比如Julia和D3.js。
  附录给出了conda概述,并列出多种Python库。
  学习本书的准备工作本书要求用户在操作系统上安装2.7.6或以上版本的Python。对于书中的案例,可以使用Mac OS X 10.10.5的Python默认版本(2.7.6)来实现。其他会用到的软件包是IPython—一个交互式Python环境。新版的IPython叫Jupyter,该版本现在有50种不同语言的内核函数。
  安装提前打包好的用于科学计算的Python发行版,如果可能的话,可以从Continuum安装Anaconda,或安装Enthought Python Distribution。Anaconda一般自带300多个Python软件包。你可以用pip或conda安装不在自带软件包列表中的Python软件包。有一些案例可见附录。
  本书适用对象目前已有很多Python和数据可视化方面的书。然而,对于有一定Python知识储备的人来说,几乎很少有把两者内容结合在一起的书值得推荐。有关简化代码、重复使用的小生境(niche)技术的讨论更是少之又少。对于有强烈学习兴趣的Python开发人员,本书将提供一系列获得分析结果和产生惊人可视化效果的方法。
  本书提供了解决实际问题的一系列分析方法。虽然本书并不是面向初学者的,但是如果有需要,你可以搜索书中推荐阅读的文献资料。如果这是你初次体验Python编程或数据可视化,提前阅读一些入门教材会有很大帮助。我最喜欢的书有John Guttag教授的《Introduction to Computer Science and Programming》(可从MIT OpenCourseWare上免费下载)和来自UCLA的Nathan Yau的《Visualize This》。
  The Translator's Words 译 者 序海量信息的不断增长,不断刺激着读者对数据可视化的渴望与诉求。作为一种功能强大的开源编程语言,Python包含了丰富的软件包和绘图技术,从而帮助用户完成数据分析、构建统计模型并展现研究结果。
  本书尤其关注Python在众多应用领域中的可视化功能,全面覆盖Python的各种绘图选项,配合丰富的实际案例,为Python初学者和资深人士提供了一本实用指南。对于Python,我不敢自称有丰富的实战经验,但却有过自学和运用的经历。在承担本书翻译工作的同时,我自己也重温了一次Python可视化之旅,收益颇多。故劝荐诸位,不妨深读此书,系统体验Python在数据可视化方面的贡献。与音乐一样,知识的传播没有国界。因此,翻译不仅是知识表达语言的转换,更是一次学习和交流的机会。与原作者对话,高山仰止,受益匪浅;与读者对话,高山流水,闻过则喜。
  在此,感谢我的朋友钟琰在整个翻译过程中提供的帮助。感谢我的至爱刘钰洁在译稿校对阶段给出的建议。我要感谢我的博士生导师—中国人民大学的易丹辉教授。感谢我在美国联合培养期间的导师—美国哥伦比亚大学的韦颖副教授。特别感谢我父母和家人,是他们给予我前行的动力和勇气。最后,非常感谢机械工业出版社华章公司的编辑让我接触到这本书,并给予中肯建议。感谢身边所有的良师益友。
  鉴于个人时间与水平有限,如有纰漏,还望各位读者予以反馈,不吝赐教!
  程豪2016年12月15日
目录
译者序
前 言
第1章 数据可视化概念框架1
1.1 数据、信息、知识和观点2
1.1.1 数据2
1.1.2 信息2
1.1.3 知识3
1.1.4 数据分析和观点3
1.2 数据转换4
1.2.1 数据转换为信息4
1.2.2 信息转换为知识7
1.2.3 知识转换为观点7
1.3 数据可视化历史8
1.4 可视化如何帮助决策10
1.4.1 可视化适用于哪里11
1.4.2 如今的数据可视化12
1.5 可视化图像15
1.5.1 条形图和饼图19
1.5.2 箱线图22
1.5.3 散点图和气泡图23
1.5.4 核密度估计图26
1.6 总结29
第2章 数据分析与可视化30
2.1 为什么可视化需要规划31
2.2 Ebola案例31
2.3 体育案例37
2.4 用数据编写有趣的故事47
2.4.1 为什么故事如此重要47
2.4.2 以读者驱动为导向的故事47
2.4.3 以作者驱动为导向的故事53
2.5 感知与表达方法55
2.6 一些最好的可视化实践57
2.6.1 比较和排名57
2.6.2 相关性58
2.6.3 分布59
2.6.4 位置定位或地理数据61
2.6.5 局部到整体的关系61
2.6.6 随时间的变化趋势62
2.7 Python中的可视化工具62
2.8 交互式可视化64
2.8.1 事件监听器64
2.8.2 布局设计65
2.9 总结67
第3章 开始使用Python IDE69
3.1 Python中的IDE工具70
3.1.1 Python 3.x和Python 2.770
3.1.2 交互式工具类型70
3.1.3 Python IDE类型72
3.2 Anaconda可视化绘图83
3.2.1 表面三维图83
3.2.2 方形图85
3.3 交互式可视化软件包89
3.3.1 Bokeh 89
3.3.2 VisPy90
3.4 总结91
第4章 数值计算和交互式绘图92
4.1 NumPy、SciPy和MKL函数93
4.1.1 NumPy93
4.1.2 SciPy99
4.1.3 MKL函数105
4.1.4 Python的性能106
4.2 标量选择106
4.3 切片107
4.4 数组索引108
4.4.1 数值索引108
4.4.2 逻辑索引109
4.5 其他数据结构110
4.5.1 栈110
4.5.2 元组111
4.5.3 集合112
4.5.4 队列113
4.5.5 字典114
4.5.6 字典的矩阵表示115
4.5.7 Trie树120
4.6 利用matplotlib进行可视化121
4.6.1 词云122
4.6.2 安装词云122
4.6.3 词云的输入 124
4.6.4 绘制股票价格图129
4.7 体育运动中的可视化案例136
4.8 总结140
第5章 金融和统计模型141
5.1 确定性模型142
5.2 随机性模型150
5.2.1 蒙特卡洛模拟150
5.2.2 投资组合估值168
5.2.3 模拟模型 170
5.2.4 几何布朗运动模拟170
5.2.5 基于扩散模拟173
5.3 阈值模型175
5.4 统计与机器学习综述179
5.4.1 k-最近邻算法179
5.4.2 广义线性模型181
5.5 创建动画和交互图184
5.6 总结188
第6章 统计与机器学习189
6.1 分类方法190
6.1.1 理解线性回归191
6.1.2 线性回归193
6.1.3 决策树196
6.1.4 贝叶斯理论199
6.1.5 朴素贝叶斯分类器200
6.1.6 用TextBlob构建朴素贝叶斯分类器202
6.1.7 用词云观察积极情绪206
6.2 k-最近邻208
6.3 逻辑斯谛回归211
6.4 支持向量机214
6.5 主成分分析216
6.6  k-均值聚类220
6.7 总结223
第7章 生物信息学、遗传学和网络模型224
7.1 有向图和多重图225
7.1.1 存储图表数据225
7.1.2 图表展示227
7.2 图的聚集系数235
7.3 社交网络分析238
7.4 平面图测试 240
7.5 有向无环图测试 242
7.6 最大流量和最小切割244
7.7 遗传编程示例245
7.8 随机区组模型247
7.9 总结250
第8章 高级可视化252
8.1 计算机模拟253
8.1.1 Python的random包253
8.1.2 SciPy的random函数254
8.1.3 模拟示例255
8.1.4 信号处理258
8.1.5 动画制作261
8.1.6 利用HTML5进行可视化263
8.1.7 Julia和Python有什么区别267
8.1.8 用D3.js进行可视化267
8.1.9 仪表盘268
8.2 总结269
附录 继续探索可视化270
标签
数据可视化