新書推薦:
《
乐道文库·什么是秦汉史
》
售價:HK$
82.8
《
汉娜·阿伦特与以赛亚·伯林 : 自由、政治与人性
》
售價:HK$
109.8
《
女性与疯狂(女性主义里程碑式著作,全球售出300万册)
》
售價:HK$
112.7
《
药食同源中药鉴别图典
》
售價:HK$
68.8
《
设计中的比例密码:建筑与室内设计
》
售價:HK$
89.7
《
冯友兰和青年谈心系列:看似平淡的坚持
》
售價:HK$
55.8
《
汉字理论与汉字阐释概要 《说解汉字一百五十讲》作者李守奎新作
》
售價:HK$
78.2
《
汗青堂丛书144·决战地中海
》
售價:HK$
172.5
|
編輯推薦: |
本书专为在学术与商业领域从事数据科学和数据分析的人员而设计,旨在以Python为工具详细介绍数据科学和分析中使用的主要概念、技术、方法及一些实用技巧,为立志成为数据科学家的读者提供可行的实践指南。
本书各个章节彼此独立,以便读者可以轻松地查阅所需内容。 全书从处理过程和获取结果的角度讨论了数据科学和数学分析的相关内容, 还介绍了Python的重要功能,包括Python入门知识。本书涵盖机器学习、模式识别和人工智能的基本要素,它们是本书其余部分所使用的算法和实现的基础;还介绍了使用聚类技术和分类算法进行回归分析,探索了分层聚类、决策树、集合技术、降维技术和推荐系统;*后讨论了支持向量机算法以及回归和分类等应用程序中重要的核心技巧。
|
內容簡介: |
本书由前IBM首席数据科学家撰写,旨在为励志成为数据科学家的读者给出一个可行的实践指南。从Python入门开始,逐步实现数据分析、机器学习等通用算法,进而讨论数据科学家的典型工作流程,*后从实践入手,由浅入深,精选决策树、降维技术、支持向量机等数据分析案例,让读者能逐步理解晦涩的公式理论并上手操作,可以满足不同层次的读者需求。
|
關於作者: |
Jesús Rogel-Salazar 博士作为首席数据科学家,曾在AKQA、IBM数据科学工作室、Dow Jones等大型公司工作,在该领域有丰富的工作经验。 他是英国伦敦帝国理工学院物理系的访问研究员,也是英国赫特福德大学物理学、天文学和数学学院的成员。 他在帝国理工学院获得物理学博士学位,从事量子原子光学和超冷物质方面的研究。
自2006年以来,他一直担任数学高级讲师以及金融行业的顾问和数据科学家,是《Essential Matlaband Octave》一书的作者。 他的兴趣包括数学建模、数据科学以及光学、量子力学、数据新闻与金融等应用领域的优化问题。
|
目錄:
|
译者序
前言
读者指南
第1章 数据科学家的试验与磨难1
1.1 数据?科学?数据科学!1
1.2 数据科学家:现代鹿角兔4
1.3 数据科学工具9
1.4 从数据到洞察力:数据科学工作流11
1.4.1 识别问题13
1.4.2 获取数据13
1.4.3 数据挖掘13
1.4.4 建模与评价13
1.4.5 表征与互动14
1.4.6 数据科学:一个迭代过程14
1.5 总结15
第2章 Python:完全不同的编程语言16
2.1 为何是Python?为何不是?17
2.1.1 使用Shell或不使用Shell19
2.1.2 使用iPythonJupyter Notebook20
2.2 初探Python21
2.2.1 基本类型21
2.2.2 数字21
2.2.3 字符串22
2.2.4 复数23
2.2.5 列表24
2.2.6 元组27
2.2.7 字典29
2.3 控制流31
2.3.1 if ... elif ... else31
2.3.2 while32
2.3.3 for33
2.3.4 try... except34
2.3.5 函数36
2.3.6 脚本和模块39
2.4 计算和数据处理41
2.4.1 矩阵操作和线性代数41
2.4.2 NumPy数组和矩阵42
2.4.3 索引和切片45
2.5 “熊猫”前来救驾46
2.6 绘图和可视化库:Matplotlib50
2.7 总结52
第3章 能够探知的机器:机器学习和模式识别53
3.1 认知模式53
3.2 人工智能和机器学习54
3.3 数据很好,但也需要其他支持56
3.4 学习、预测和分类57
3.5 机器学习和数据科学58
3.6 特征选择59
3.7 偏差、差异和正规化:平衡法60
3.8 一些有用的措施:距离和相似性61
3.9 注意“维度的诅咒”64
3.10 Scikit-learn是我们的朋友67
3.11 训练和测试70
3.12 交叉验证72
3.13 总结75
第4章 关系难题:回归76
4.1 变量之间的关系:回归76
4.2 多元线性回归78
4.3 普通最小二乘法80
4.4 大脑与身体:单变量回归83
4.5 对数变换90
4.6 使任务更容易:标准化和扩展93
4.6.1 正则化或单位缩放94
4.6.2 z-Score缩放95
4.7 多项式回归96
4.8 方差–偏差权衡99
4.9 收缩:选择运算符和Ridge101
4.10 总结105
第5章 鹿角兔和野兔:聚类107
5.1 聚类107
5.2 k–均值聚类108
5.2.1 聚类验证110
5.2.2 k–均值实际操作112
5.3 总结115
第6章 独角兽和马:分类116
6.1 分类116
6.1.1 混淆矩阵117
6.1.2 ROC和AUC119
6.2 使用KNN算法分类121
6.3 逻辑回归分类器126
6.3.1 逻辑回归的解释129
6.3.2 逻辑回归的应用130
6.4 使用朴素贝叶斯算法进行分类136
6.4.1 朴素贝叶斯分类器139
6.4.2 朴素贝叶斯分类的应用140
6.5 总结144
第7章 决策:分层聚类、决策树和集成技术145
7.1 分层聚类145
7.2 决策树150
7.3 集成技术160
7.3.1 套袋164
7.3.2 助推164
7.3.3 随机森林165
7.3.4 层叠和混合166
7.4 集成技术实践167
7.5 总结171
第8章 少即多:降维172
8.1 降维172
8.2 主成分分析175
8.2.1 PCA实践177
8.2.2 PCA在鸢尾花数据集中的应用180
8.3 奇异值分解183
8.4 推荐系统187
8.4.1 基于内容的过滤实践188
8.4.2 协同过滤实践191
8.5 总结195
第9章 内核秘诀:支持向量机197
9.1 支持向量机和内核方法197
9.1.1 支持向量机199
9.1.2 内核的技巧204
9.1.3 SVM实践:回归205
9.1.4 SVM实践:分类208
9.2 总结212
附录 Scikit-learn中的管道213
参考文献217
|
內容試閱:
|
本书是与创业公司、历史悠久的企业以及各行各业(从科学、媒体到金融)中各级资历的人员进行非常有趣的讨论、辩论和对话的结晶。本书旨在成为数据分析师和新兴数据科学家的参考指南,因为他们虽然在编程和统计建模方面拥有一定的工作经验,但并未深入研究数据分析和了解机器学习所能创造的奇迹。本书以Python作为工具来实现和利用当今数据科学和数据分析中使用的一些通用算法。
平心而论,感兴趣的读者总可以找到很多非常有用的工具和平台,例如优秀的开源R项目或SPSS?、SAS?等专业项目。这些都非常值得推荐,它们有各自的优势(当然也有弱点)。但是,鉴于我在实现和解释算法方面的经验,我发现Python是一个非常具有可塑性的编程工具。这让我想起与一位在一家大型咨询公司工作的经验丰富的分析师的对话,他提到用Python完成所有机器学习或数据科学相关的任务是不可能的,我其实并不赞同他的观点。诚然,虽然对于某些特定任务可能有更合适的工具,但将它们全部集中在一个工具中去实现确实是一项艰巨的工作。考虑到这一点,本书中使用Python语言来证明我的选择并没有错:Python是一种流行的多功能脚本和面向对象的语言,它易于使用,并且拥有一个由开发人员和爱好者组成的大型活跃社区,还有丰富多彩的iPython Jupyter Notebook交互式计算环境支持,它已经被商界和学术界使用了很长一段时间。我们将在本书中展示用Python进行机器学习以及数据科学分析的无限可能。
本书的主要目的是向读者介绍数据科学和分析中使用的一些主要概念,以及使用Python开发的工具,如Scikit-learn、Pandas、NumPy等。本书旨在为程序员和开发人员以及数学、物理、计算生物学和工程等科学领域的毕业生提供跨入数据科学和分析领域的桥梁。根据我的经验,我想读者目前所拥有的知识背景和技能是非常宝贵的财富。然而,在许多情况下,由于日常活动所需的纵向专业局限,大家的横向知识面难免有些模糊。因此,本书可以作为数据科学和分析领域的相关指南。本书将着重展示流行算法及其使用背后的概念和思想,但不会探讨它们在Python中的实现细节。如果确实有相关需求,请参考使用这些算法的开源系统是如何实现的。
本书中包含的示例已在Mac OS、Linux和Windows 7下的Python 3.5中进行了测试,并且对代码进行最少的更改,就可以使其在Python 2发行版中运行。作为参考,本书中使用的一些软件包的版本如下:
Python - 3.5.2
Pandas - 0.19.1
NumPy - 1.11.2
Scikit-learn - 0.18
StatsModels - 0.6.1
值得注意的是,我选择Continuum Analytics提供的Anaconda Python发行版,因为它可以在上面提到的3种计算机系统中安装,并且具有可以直接从发行版本中提供丰富的类库生态系统的优势,更重要的是,它几乎适用于所有用户。还有一些其他方法可以获得Python以及其他版本的软件,例如,直接来自Python软件基金会(Python Software Foundation),以及来自Enthought Canopy的版本,或者来自Homebrew等软件包管理器。Anaconda提供了一个简单的安装和维护软件的环境,为用户减少了很多麻烦。我假设读者通过脚本或在Shell中交互式地工作。
本书会将代码以如下形式显示:
我们使用一个尖括号()来表示Python Shell中显示的命令行终端提示符。请注意,在iPython交互式Shell或iPython Jupyter Notebook中可以使用相同的命令,但外观和给人的感觉可能会有很大不同。
本书各个章节之间相互独立,以便读者可以轻松地将章节内容用作参考,而不像教科书那样上下文联系紧密。不可避免地,某些章节中会引用其他章节的内容,出现这种情况时我会适时指出。我还想借此机会声明,本书中所提供的代码实现并不是唯一的或最好的编程方式。编程就像写作,我们都知道26个英文字母如何书写,但这并不意味着我们都能写出莎士比亚的诗,这是一个创造性的过程,因此“条条大路通罗马”。我很高兴收到大家关于书中代码实现的反馈意见。
我们从使用过程和最终期望获得的结果的角度讨论数据科学和分析是什么,以此来开始本书的第1章。我们特别关注数据探索过程以及在应用算法和分析之前需要进行的数据清洗过程。
在第2章中,我们将复习Python语言的一些重要特性,目的是回顾一些重要的命令和说明,为本书的其余部分提供基础。这也将使我们有机会了解后面章节中将会使用的一些命令和指令。
在第3章中,我们将介绍机器学习、模式识别和人工智能的基本要素,这些要素是我们将在本书其余部分使用的算法和实现的基础。
学习到第4章时,我们已拥有了必要的基础,可以开始学习通过StatsModels和Scikit-learn使用Python实现回归分析。本章还介绍了使用广义回归线性模型的要点。
在第5章中我们讨论了聚类技术,而第6章则讨论了分类算法。这两章是数据科学工作流程的核心:聚类使我们能够以无监督的方式为数据分配标签;反过来,我们可以将这些标签用作分类算法中的目标。
在第7章中,我们介绍了分层聚类、决策树的使用以及套袋和助推等集成技术。值得注意的是,集成技术已成为数据科学家的常用工具,建议重点学习本章。
降维技术将在第8章中讨论。我们将介绍主成
|
|