新書推薦:
《
纷纭万端 : 近代中国的思想与社会
》
售價:NT$
500.0
《
中国古代文体形态研究(第四版)(中华当代学术著作辑要)
》
售價:NT$
765.0
《
朋党之争与北宋政治·大学问
》
售價:NT$
454.0
《
甲骨文丛书·波斯的中古时代(1040-1797年)
》
售價:NT$
403.0
《
以爱为名的支配
》
售價:NT$
286.0
《
台风天(大吴作品,每一种生活都有被看见的意义)
》
售價:NT$
245.0
《
打好你手里的牌(斯多葛主义+现代认知疗法,提升当代人的心理韧性!)
》
售價:NT$
301.0
《
新时代硬道理 广东寻路高质量发展
》
售價:NT$
352.0
編輯推薦:
数据科学项目有很多灵活的部分,需要练习和技巧才能让所有代码、算法、数据集、格式和可视化协调工作。本书将引导你完成5个真实项目,包括根据新闻标题跟踪疾病暴发、分析社交网络以及在广告点击数据中寻找相关模式。
《Python数据科学项目实战》并不止于表面理论和简单示例。在完成每个项目时,你将学习如何解决常见问题,例如数据丢失、混乱的数据以及与构建模型不匹配的算法。你将了解详细的设置说明和常见故障的全面解决方案。最后,通过完成这些项目,你将对自己的技能充满信心。
內容簡介:
● 网页抓取 ● 使用聚类算法组织数据集 ● 可视化复杂的多变量数据集 ● 训练决策树机器学习算法
關於作者:
Leonard Apeltsin是Anomaly的数据科学主管。他的团队应用高级分析来发现医疗保健欺诈、浪费和滥用的情况。在加盟Anomaly之前,Leonard领导了Primer AI的机器学习开发工作;Primer AI是一家专门从事自然语言处理的初创公司。作为创始成员,Leonard帮助Primer AI团队从4名员工发展到近100名员工。在进入创业公司之前,Leonard在学术界工作,他发现了遗传相关疾病的隐藏模式。他的发现发表在《科学》和《自然》杂志的附属期刊上。Leonard拥有卡内基梅隆大学的生物学和计算机科学学士学位,以及加州大学旧金山分校的生物信息学博士学位。
目錄 :
案例研究1 在纸牌游戏中寻找制胜策略
第1章 使用Python计算概率 3
1.1 样本空间分析:一种用于测量结果不确定性的无方程方法 3
1.2 计算非平凡概率 7
1.2.1 问题1:分析一个有4个孩子的家庭 7
1.2.2 问题2:分析掷骰子游戏 9
1.2.3 问题3:使用加权样本空间计算掷骰概率 10
1.3 计算区间范围内的概率 12
1.4 本章小结 14
第2章 使用Matplotlib绘制概率图 15
2.1 基本的Matplotlib图 15
2.2 绘制抛硬币概率 19
2.3 本章小结 28
第3章 在NumPy中运行随机模拟 29
3.1 使用NumPy模拟随机抛硬币和掷骰子实验 29
3.2 使用直方图和NumPy数组计算置信区间 33
3.2.1 通过直方图合并显示邻近值 35
3.2.2 利用直方图进行概率推导 38
3.2.3 缩小较高置信区间的范围 40
3.2.4 在NumPy中计算直方图 43
3.3 使用置信区间分析一副有偏纸牌 44
3.4 使用排列来洗牌 47
3.5 本章小结 49
第4章 案例研究1的解决方案 51
4.1 对红牌进行预测 51
4.2 使用10张牌的样本空间来优化策略 57
4.3 本章小结 61
案例研究2 评估在线广告点击的显著性
第5章 使用SciPy进行基本概率和统计分析 65
5.1 使用SciPy探索数据和概率之间的关系 66
5.2 将均值作为中心性的度量 69
5.3 将方差作为离散性的度量 78
5.4 本章小结 83
第6章 使用中心极限定理和SciPy进行预测 85
6.1 使用SciPy处理正态分布 85
6.2 通过随机采样确定总体的均值和方差 92
6.3 使用均值和方差进行预测 95
6.3.1 计算正态曲线下方的面积 97
6.3.2 对计算的概率进行解释 99
6.4 本章小结 100
第7章 统计假设检验 101
7.1 评估样本均值和总体均值之间的差异 102
7.2 数据捕捞:过采样将导致错误的结论 106
7.3 有放回的自举法:当总体方差未知时检验假设 109
7.4 置换检验:当总体参数未知时比较样本的均值 115
7.5 本章小结 118
第8章 使用Pandas分析表格 119
8.1 使用基本Python存储表格 119
8.2 使用Pandas探索表格 120
8.3 检索表中的列 122
8.4 检索表中的行 124
8.5 修改表格行和列 126
8.6 保存和加载表格数据 129
8.7 使用Seaborn对表格进行可视化 130
8.8 本章小结 133
第9章 案例研究2的解决方案 135
9.1 在Pandas中处理广告点击数据表 135
9.2 根据均值差异计算p值 138
9.3 确定统计显著性 140
9.4 一个真实的警世故事 142
9.5 本章小结 142
案例研究3 利用新闻标题跟踪疾病暴发
第10章 对数据进行聚类 145
10.1 使用中心性发现聚类 145
10.2 K-means:一种将数据分组为K个中心组的聚类算法 151
10.2.1 使用scikit-learn进行K-means聚类 152
10.2.2 使用肘部法选择最佳K值 154
10.3 使用密度发现聚类 158
10.4 DBSCAN:一种基于空间密度
对数据进行分组的聚类算法 161
10.4.1 比较DBSCAN和K-means 162
10.4.2 基于非欧几里得距离的聚类方法 163
10.5 使用Pandas分析聚类 166
10.6 本章小结 168
第11章 对地理位置进行可视化与分析 169
11.1 大圆距离:计算地球上两点间的距离 170
11.2 使用Cartopy绘制地图 172
11.2.1 手动安装GEOS和Cartopy 173
11.2.2 使用Conda包管理器 173
11.2.3 可视化地图 174
11.3 使用GeoNamesCache进行位置跟踪 182
11.3.1 获取国家/地区信息 184
11.3.2 获取城市信息 186
11.3.3 GeoNamesCache库的使用限制 189
11.4 在文本中匹配位置名称 191
11.5 本章小结 194
第12章 案例研究3的解决方案 197
12.1 从标题数据中提取位置信息 197
12.2 对提取的位置信息进行可视化和聚类 203
12.3 对位置聚类进行分析 208
12.4 本章小结 213
案例研究4 使用在线招聘信息优化简历
第13章 测量文本相似度 217
13.1 简单的文本比较 218
13.1.1 探索Jaccard相似度 222
13.1.2 用数值替换单词 224
13.2 使用字数对文本进行向量化 228
13.2.1 使用归一化提高TF向量相似度 230
13.2.2 使用单位向量点积在相关性指标之间进行转换 237
13.3 使用矩阵乘法提高相似度计算的效率 239
13.3.1 基本矩阵运算 241
13.3.2 计算全矩阵相似度 249
13.4 矩阵乘法的计算限制 250
13.5 本章小结 253
第14章 矩阵数据的降维 255
14.1 将二维数据聚类到一维中 256
14.2 使用PCA和scikit-learn降维 269
14.3 将四维数据在二维中进行聚类 274
14.4 在不旋转的情况下计算主成分 281
14.5 使用SVD和scikit-learn进行高效降维 292
14.6 本章小结 294
第15章 大型文本数据集的NLP分析 295
15.1 使用scikit-learn加载在线论坛讨论数据 296
15.2 使用scikit-learn对文档进行向量化 297
15.3 根据发布频率和出现次数对单词进行排名 304
15.4 计算大型文档数据集之间的相似度 311
15.5 按主题对文本进行聚类 315
15.6 对文本聚类进行可视化 323
15.7 本章小结 333
第16章 从网页中提取文本 335
16.1 HTML文档的结构 335
16.2 使用Beautiful Soup解析HTML 342
16.3 下载和解析在线数据 349
16.4 本章小结 351
第17章 案例研究4的解决方案 353
17.1 从职位发布数据中提取技能要求 353
17.2 根据相关性对工作进行过滤 360
17.3 在相关职位发布中对技能进行聚类 369
17.3.1 将工作技能分成15个聚类 372
17.3.2 详细分析技术技能聚类 377
17.3.3 详细分析软技能聚类 380
17.3.4 使用不同的K值来探索聚类 381
17.3.5 分析700个最相关的职位发布信息 385
17.4 结论 388
17.5 本章小结 388
案例研究5 利用社交网络数据发现新朋友
第18章 图论和网络分析 393
18.1 使用基本图论按受欢迎程度对网站进行排名 393
18.2 利用无向图优化城镇之间的旅行时间 404
18.2.1 建立一个复杂的城镇交通网络模型 406
18.2.2 计算节点之间的最快旅行时间 411
18.3 本章小结 418
第19章 用于节点排名和社交网络分析的动态图论技术 419
19.1 根据网络中的预期流量发现中心节点 419
19.2 使用矩阵乘法计算交通概率 424
19.2.1 从概率论推导PageRank中心性 427
19.2.2 使用NetworkX计算PageRank中心性 431
19.3 使用马尔可夫聚类进行社区检测 433
19.4 在社交网络中发现朋友群 445
19.5 本章小结 448
第20章 网络驱动的监督机器学习 451
20.1 监督机器学习的基础 451
20.2 测量预测的标签的准确度 459
20.3 优化KNN性能 468
20.4 使用scikit-learn进行网格搜索 469
20.5 KNN算法的局限性 474
20.6 本章小结 475
第21章 使用逻辑回归训练线性分类器 477
21.1 根据身材尺寸对客户进行线性划分 477
21.2 训练线性分类器 482
21.3 使用逻辑回归改进线性分类 492
21.4 使用scikit-learn训练线性分类器 499
21.5 通过系数测量特征的重要性 504
21.6 线性分类器的限制 507
21.7 本章小结 508
第22章 通过决策树技术训练非线性分类器 511
22.1 逻辑规则的自动学习 511
22.1.1 使用两个特征训练一个嵌套的if/else模型 517
22.1.2 决定拆分哪个特征 523
22.1.3 训练具有两个以上特征的if/else模型 530
22.2 使用scikit-learn训练决策树分类器 536
22.3 决策树分类器的局限性 545
22.4 使用随机森林分类提高模型性能 546
22.5 使用scikit-learn训练随机森林分类器 550
22.6 本章小结 551
第23章 案例研究5的解决方案 553
23.1 探索数据 553
23.1.1 检查Profiles表 554
23.1.2 探索Observations表 556
23.1.3 探索Friendships表 559
23.2 使用网络特征训练预测模型 562
23.3 向模型中添加个人资料特征 568
23.4 通过一组稳定的特征优化模型性能 572
23.5 解释训练模型 574
23.6 本章小结 578
內容試閱 :
开放式解决问题的能力对于数据科学职业至关重要。遗憾的是,这些能力不能仅通过阅读获得。要成为问题解决者,你必须坚持不懈地解决难题。考虑到这一点,我围绕案例研究构思了本书:以现实世界情况为模型的开放式问题。案例研究范围从在线广告分析到使用新闻数据跟踪疾病暴发。完成这些案例研究后,你将可以开始你的数据科学事业。
本书的目标读者
本书的目标读者是具有基本的分析基础且有兴趣转行到数据科学职业的人。我的设想是,他也许是一位想探索更多的分析机会的经济学大四学生,或者是一位已经毕业的化学专业学生正在寻找以数据为中心的职业道路。又或者,读者可能是一位成功的前端Web开发人员,其数学背景非常有限,但也想尝试数据科学。本书的潜在读者都没有上过数据科学课程,这让他们在进行各种数据分析时感到力不从心。本书的目的是消除这些技能缺陷。
本书的读者需要了解Python编程的最基本知识。自学Python入门知识的水平应该能足以探索本书中的练习。至于数学知识,读者只需要理解基本的高中三角函数即可。
本书组织结构
本书包含5个难度由浅入深的案例研究。每个案例研究都以你需要解决的问题的详细陈述开始。问题陈述之后是用2~5章介绍解决问题所需的数据科学技能。这些技能部分涵盖了Python基础库以及数学和算法技术。每个案例研究的最后一章都描述了问题的解决方案。
案例研究1与基本概率论有关。
●第1章讨论如何使用简单的Python计算概率。
●第2章介绍概率分布的概念。该章还介绍Matplotlib可视化库,通过它可以对分布进行可视化。
●第3章讨论如何使用随机模拟来估计概率。该章引入NumPy数值计算库,从而促进有效的模拟执行。
●第4章包含案例研究的解决方案。
案例研究2从概率扩展到统计。
●第5章介绍中心性和离散性的简单统计测量。该章还介绍SciPy科学计算库,其中包含一个有用的统计模块。
●第6章深入探讨可用于进行统计预测的中心极限定理。
●第7章讨论各种统计推断技术,这些技术可用于将有趣的数据模式与随机噪声区分开。此外,该章说明了错误使用推理的危险以及如何更好地避免这些危险发生。
●第8章介绍Pandas库,可用于在统计分析之前对表格数据进行预处理。
●第9章包含案例研究的解决方案。
案例研究3侧重于介绍地理数据的无监督聚类。
●第10章介绍如何使用中心性度量将数据聚类到组中。该章还引入scikit-learn库以促进高效聚类。
●第11章侧重于介绍地理数据提取和可视化。在该章中,使用GeoNamesCache库从文本中进行提取并使用Cartopy地图绘制库实现可视化。
●第12章包含案例研究的解决方案。
案例研究4侧重于介绍使用大规模数值计算的自然语言处理。
●第13章说明如何使用矩阵乘法有效地计算文本之间的相似度。NumPy的内置矩阵优化被广泛用于此目的。
●第14章展示如何利用降维来进行更有效的矩阵分析。该章结合scikit-learn的降维方法讨论数学理论。
●第15章将自然语言处理技术应用于超大文本数据集。该章讨论如何更好地探索和聚类这类文本数据。
●第16章展示如何使用Beautiful Soup HTML解析库从在线数据中提取文本。
●第17章包含案例研究的解决方案。
案例研究5侧重于对网络理论和监督机器学习的讨论。
●第18章结合NetworkX图分析库介绍基本网络理论。
●第19章展示如何利用网络流在网络数据中寻找聚类。该章将概率模拟和矩阵乘法用于实现有效的聚类。
●第20章介绍一种基于网络理论的简单监督机器学习算法。该章还使用scikit-learn说明常见的机器学习评估技术。
●第21章讨论其他机器学习技术,这些技术依赖内存高效的线性分类器。
●第22章深入探讨之前介绍的监督学习方法的缺陷。随后使用非线性决策树分类器来规避这些缺陷。
●第23章包含案例研究的解决方案。
本书的每一章都建立在前几章中介绍的算法和库的基础上。因此,我们鼓励你从头到尾阅读本书,以减少困惑。但如果你已经熟悉书中的某些内容,可直接跳过它们。最后,强烈建议你在阅读解决方案之前自己解决每个案例研究的问题。独立解决每一个问题将使本书的价值最大化。
另外,读者可扫描封底二维码,来下载源代码。