内容简介
《数据科学面试通关》详细阐述了与数据科学面试相关的基本解决方案,主要包括探索现代数据科学领域、在数据科学领域寻找工作、 Python编程、数据可视化与数据叙述、使用 SQL查询数据库、 Linux中的 Shell和 Bash脚本编写、使用 Git进行版本控制、用概率和统计挖掘数据、理解特征工程和为建模准备数据、精通机器学习概念、用深度学习构建网络、用 MLOps实现机器学习解决方案、掌握面试环节、协商薪酬等内容。此外,本书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。
目录
第 1 篇 进入数据科学领域
第1章 探索现代数据科学领域 3
1.1 数据科学是什么 3
1.2 探索数据科学过程 5
1.2.1 数据收集 5
1.2.2 数据探索 5
1.2.3 数据建模 6
1.2.4 模型评估 6
1.2.5 模型部署和监控 6
1.3 分析数据科学的不同类型 6
1.3.1 数据工程师 8
1.3.2 仪表板和可视化专家 8
1.3.3 机器学习专家 9
1.3.4 领域专家 10
1.4 审视数据科学的职业路径 10
1.4.1 传统型数据科学家 11
1.4.2 领域专家型数据科学家 11
1.4.3 非传统路径数据科学家 12
1.5 解决经验瓶颈问题 13
1.5.1 学术经验 14
1.5.2 工作经验 15
1.6 理解预期的技能和能力 16
1.6.1 硬技能(技术技能) 17
1.6.2 软技能(沟通技能) 19
1.7 探索数据科学的演变 20
1.7.1 新模型 20
1.7.2 新环境 20
1.7.3 新计算 21
1.7.4 新应用 21
1.8 本章小结 22
1.9 参考文献 22
第2章 在数据科学领域寻找工作 23
2.1 寻找第一份数据科学工作 23
2.1.1 准备前行 24
2.1.2 寻找招聘板 25
2.1.3 构建出色的作品集 29
2.1.4 申请工作 31
2.2 制作金牌简历 33
2.2.1 完美简历的神话 34
2.2.2 理解自动化简历筛选 34
2.2.3 打造有效的简历 35
2.2.4 格式和组织 36
2.2.5 使用正确的术语 37
2.3 准备获得面试机会 39
2.3.1 摩尔定律 39
2.3.2 研究、研究、再研究 40
2.3.3 品牌塑造 42
2.4 本章小结 42
2.5 参考文献 43
第 2 篇 操控和管理数据
第3章 Python编程 47
3.1 变量、数据类型和数据结构 47
3.2 Python 中的索引 52
3.3 字符串操作 52
3.3.1 初始化字符串 53
3.3.2 字符串索引 53
3.4 使用 Python 控制语句和列表推导 57
3.4.1 条件语句 57
3.4.2 循环语句 58
3.4.3 列表推导 59
3.5 使用用户定义的函数 61
3.5.1 用户定义的函数的语法 61
3.5.2 使用用户定义的函数进行操作 62
3.5.3 熟悉 lambda 函数 63
3.5.4 创建优秀的函数 65
3.6 在 Python 中处理文件 67
3.7 使用 pandas 整理数据 68
3.7.1 处理缺失数据 69
3.7.2 选择数据 70
3.7.3 排序数据 74
3.7.4 合并数据 75
3.7.5 使用 groupby()进行聚合 76
3.8 本章小结 81
3.9 参考文献 82
第4章 数据可视化与数据叙述 83
4.1 理解数据可视化 83
4.1.1 条形图 84
4.1.2 折线图 85
4.1.3 散点图 87
4.1.4 直方图 87
4.1.5 密度图 88
4.1.6 分位数-分位数图(Q-Q 图) 89
4.1.7 箱线图 90
4.1.8 饼图 91
4.2 调查行业工具 93
4.2.1 Power BI 93
4.2.2 Tableau 93
4.2.3 Shiny 93
4.2.4 ggplot2(R) 93
4.2.5 Matplotlib(Python) 94
4.2.6 Seaborn(Python) 94
4.3 开发仪表板、报告和关键绩效指标 95
4.4 开发图表和图形 97
4.4.1 条形图—Matplotlib 97
4.4.2 条形图—Seaborn 99
4.4.3 散点图—Matplotlib 100
4.4.4 散点图—Seaborn 102
4.4.5 直方图—Matplotlib 103
4.4.6 直方图—Seaborn 104
4.5 应用基于情景的叙事 106
4.6 本章小结 109
第5章 使用SQL查询数据库 110
5.1 介绍关系数据库 110
5.2 掌握 SQL 基础知识 112
5.2.1 SELECT 语句 113
5.2.2 WHERE 子句 113
5.2.3 ORDER BY 子句 114
5.3 使用 GROUP BY 和 HAVING 聚合数据 116
5.3.1 GROUP BY 子句 116
5.3.2 HAVING 子句 118
5.4 使用 CASE WHEN 创建字段 119
5.5 分析子查询和 CTE 120
5.5.1 SELECT 子句中的子查询 121
5.5.2 FROM 子句中的子查询 122
5.5.3 WHERE 子句中的子查询 123
5.5.4 HAVING 子句中的子查询 125
5.5.5 区分公用表表达式(CTE)和子查询 125
5.6 使用连接合并表格 128
5.6.1 内连接 128
5.6.2 左连接和右连接 131
5.6.3 全外连接 133
5.6.4 多表连接 134
5.7 计算窗口函数 135
5.7.1 OVER、ORDER BY、PARTITION 和 SET 135
5.7.2 LAG 和 LEAD 138
5.7.3 ROW_NUMBER 140
5.7.4 RANK
前言/序言
在当今这个充满活力的技术环境中,对人工智能(AI)和数据科学角色的专业人才的需求激增,数据科学就业市场也日益被各个级别的数据科学和人工智能员工所占据。本书是一本全面的指南,旨在为有志之士和经验丰富的个人提供应对数据科学面试复杂性所需的基本工具和知识。无论你是第一次踏入人工智能领域,还是旨在提升专业技能,本书都提供了一种全面的方法帮助你掌握该领域的基础和尖端内容。
本书涵盖了从使用 Python 和 SQL 编程到统计分析、预建模和数据清洗概念、机器学习(ML)、深度学习、大型语言模型(LLM)和生成式人工智能的广泛关键主题。我们的目标是在深入探讨基础概念的同时,也提供全面的回顾和最新进展。在一个以语言模型和生成式人工智能的颠覆性潜力为标志的时代,不断提升你的技能至关重要。这本书就像指南针,引导读者了解这些变革性技术的复杂性,确保准备好应对它们带来的挑战并把握它们所呈现的机遇。
此外,除了技术实力之外,我们还将深入探讨人工智能职位的面试艺术,就如何在面试中脱颖而出和有效进行薪酬谈判提供了指导。此外,为数据科学职位量身打造一份出色的简历也是至关重要的一步,本书就如何撰写引人注目的简历,在竞争激烈的就业市场中吸引眼球提供独到的见解。随着人工智能重塑各行各业和创新加速发展,现在正是开始或推进数据科学之旅的理想时机。我们诚邀你深入了解这一全面的资源,并踏上掌握数据科学和人工智能动态世界的道路。
适用读者
如果你是一名经验丰富的专业人士,或者是一名需要提高技能的年轻专业人士,或者正在寻找进入令人兴奋的数据科学行业的机会,那么这本书就是为你准备的。
本书内容
在第 1 章中,我们以一个简短但有价值的概述开始我们的旅程,并介绍当前数据科学与人工智能的概况。
第 2 章介绍数据科学角色及其各种类别。
第 3 章介绍 Python 语言中最常见和有用的任务和操作。
第 4 章介绍如何讲述引人入胜的数据故事。
第 5 章深入讲解数据库世界,理解数据库的设计以及如何查询数据库以获取数据。
第 6 章通过 bash 和 shell 命令的力量提高操作系统技能,使你能够与多种技术进行本地或云端的交互。
第 7 章探索 Git 中最有用的命令,用于项目的协作和可重现性。
第 8 章讲解一些相关的概率和统计主题,它们为许多机器学习模型和假设提供了基础内容。
第 9 章利用对描述性统计的理解创建干净、机器可读的数据集。
第 10 章介绍最常用的机器学习算法、假设条件、工作原理以及如何评估它们的性能。
第 11 章更进一步地研究在各种应用中构建和评估神经网络,同时也会涉及人工智能的最新进展。
第 12 章回顾数据科学流程、工具和策略,以有效地设计和实施端到端的机器学习解决方案。
第 13 章讲解在面试过程的每个阶段成功绕过技术和非技术因素的最佳技巧。
第 14 章讲解如何优化收入潜力。
背景知识
为了充分利用本书,读者应该具备 Python、SQL 和统计学的基础知识。然而,如果读者熟悉其他分析语言,如 R,也将从本书中受益。通过复习 SQL、Git、统计学和深度学习等关键数据科学概念,读者将能很好地应对面试过程。
特别说明
在过去几个月里,尤其是本书写作过程中,可用的人工智能技术的普及度呈爆炸式增长。我们鼓励读者在他们的学习旅程中利用人工智能,借助诸如 ChatGPT 这样的工具测试新获得的技能。过去那种为了特定问题在 StackOverFlow 上搜索数小时的日子已经一去不复返了。现在,求助的力量就在你的指尖上。
本书的作者也利用生成式人工智能辅助处理一些次要的编辑任务和创建代码示例。然而,请放心,本书内容是由人类编写的,并且由我们规划了书中包含的内容。在这个新时代,我们只是想让读者了解我们如何使用了这些工具。