原文:
www.kdnuggets.com/2018/12/why-shouldnt-data-science-generalist.html
我在一个data science mentorship startup工作,我发现有一个建议我一再给有抱负的学员。这实际上是我没有预料到的。
1. Google 网络安全证书 - 快速进入网络安全职业轨道
2. Google 数据分析专业证书 - 提升你的数据分析技能
3. Google IT 支持专业证书 - 支持你的组织的 IT
我没有建议新的库或工具,或一些简历技巧,而是发现自己更倾向于建议他们首先考虑他们想成为哪种类型的数据科学家。
这是至关重要的原因是数据科学并不是一个单一的、明确的领域,公司不会雇佣通才的“数据科学家”,而是那些拥有非常专业技能的人。
要了解原因,只需想象一下你是一家试图招聘数据科学家的公司。你几乎肯定有一个相当明确的问题需要帮助,而这个问题将需要一些相当具体的技术知识和主题领域专长。例如,有些公司对大数据集应用简单模型,有些公司对小数据集应用复杂模型,有些公司需要即时训练他们的模型,还有些公司根本不使用(传统的)模型。
这些情况各自需要完全不同的技能,因此有抱负的数据科学家所获得的建议往往如此泛泛,这真的很奇怪:“学习如何使用 Python,做一些分类/回归/聚类项目,然后开始申请工作。”
我们这些在行业中工作的人要为此承担很多责任。我们往往在随意的对话、博客文章和演示文稿中把过多的事情归入“数据科学”这个大类。为生产环境构建强大的数据管道?那是一个“数据科学问题”。发明一种新型神经网络?那是一个“数据科学问题”。
这不好,因为这往往使得有抱负的数据科学家无法专注于特定的问题类别,而变成了全能型人才——在一个已经饱和的通才市场中,这种情况会使得被注意到或突破变得更加困难。
但如果你不知道自己最初可以专注于哪些常见问题类别,很难避免成为一个通才。这就是为什么我整理了一个通常被统称为“数据科学”的五个问题类别的列表:
**职位描述:**你将负责管理处理大量数据的公司的数据管道。这意味着要确保数据在需要时能够高效地从来源处收集和检索,并进行清洗和预处理。
**为什么这很重要:**如果你只处理过相对较小(<5 Gb)的数据集,并且存储在 .csv 或 .txt 文件中,你可能很难理解为什么有人专门从事构建和维护数据管道的工作。原因有几个:1) 50 Gb 的数据集无法适应你计算机的 RAM,因此通常需要其他方式将其输入到模型中;2) 这么多数据处理起来可能需要大量时间,且通常需要冗余存储。管理这种存储需要专业的技术知识。
**要求:**你将使用的技术包括 Apache Spark、Hadoop 和/或 Hive,以及 Kafka。你可能需要有扎实的 SQL 基础。
你将处理的问题包括:
→ “我如何构建一个能够处理每分钟 10,000 个请求的管道?”
→ “我如何在不将整个数据集加载到 RAM 中的情况下清理这些数据?”
**职位描述:**你的工作将是将数据转化为可操作的业务洞察。你通常会在技术团队和业务战略、销售或市场营销团队之间充当桥梁。数据可视化将是你日常工作的一个重要部分。
**为什么这很重要:**技术人员通常很难理解数据分析师为何如此重要,但他们确实很重要。需要有人将训练和测试过的模型及大量用户数据转换为易于理解的格式,以便围绕这些数据制定业务策略。数据分析师帮助确保数据科学团队不会浪费时间解决那些无法带来业务价值的问题。
**要求:**你将使用的技术包括 Python、SQL、Tableau 和 Excel。你还需要有良好的沟通能力。
你将处理的问题包括:
→ “是什么推动了我们的用户增长数字?”
→ “我们如何向管理层解释近期用户费用的增加使用户流失?”
**职位描述:**你的工作将是清理和探索数据集,并做出有业务价值的预测。你日常的工作包括训练和优化模型,通常还需要将模型部署到生产环境中。
**为什么这很重要:**当你有一堆数据大到人类无法解析,且珍贵到不容忽视时,你需要一种从中提取可消化见解的方法。这是数据科学家的基本工作:将数据集转换为可消化的结论。
**要求:**你将使用的技术包括 Python、scikit-learn、Pandas、SQL,以及可能的 Flask、Spark 和/或 TensorFlow/PyTorch。一些数据科学职位纯粹是技术性的,但大多数需要你具备一定的商业洞察力,以免解决无人关心的问题。
你将要处理的问题包括:
→ “我们到底有多少种不同的用户类型?”
→ “我们能否建立一个模型来预测哪些产品会卖给哪些用户?”
**职位描述:**你的工作是建立、优化和部署机器学习模型到生产环境。你通常会将机器学习模型视作 API 或组件,将其集成到全栈应用或某种硬件中,但你也可能需要自己设计模型。
**要求:**你将使用的技术包括 Python、Javascript、scikit-learn、TensorFlow/PyTorch(和/或企业级深度学习框架)以及 SQL 或 MongoDB(通常用于应用程序数据库)。
你将要处理的问题包括:
→ “我如何将这个 Keras 模型集成到我们的 Javascript 应用中?”
→ “我如何减少推荐系统的预测时间和预测成本?”
**职位描述:**你的工作是寻找解决数据科学和深度学习中挑战性问题的新方法。你不会使用现成的解决方案,而是要自己创建。
**要求:**你将使用的技术包括 Python、TensorFlow/PyTorch(和/或企业级深度学习框架)以及 SQL。
你将要处理的问题包括:
→ “我如何将我们的模型准确度提高到接近最先进水平?”
→ “自定义优化器是否能帮助减少训练时间?”
我在这里列出的五个职位描述在所有情况下并非孤立存在。例如,在早期阶段的初创公司中,数据科学家可能还需要兼任数据工程师和/或数据分析师。但大多数职位会更清晰地归入这些类别之一——公司越大,这些类别的适用性就越高。
总的来说,要记住的是,为了获得聘用,你通常会更好地专注于建立一个更集中的技能集:如果你想成为数据分析师,就不要学习 TensorFlow;如果你想成为机器学习研究员,就不要优先学习 Pyspark。
考虑一下你希望帮助公司建立什么样的价值,并在提供这种价值方面做到出色。这比其他任何事情更能帮助你获得机会。
哦,如果你想聊天,可以随时在 Twitter 上私信我@jeremiecharris!
简介: Jeremie Harris 是 @SharpestMindsAI 的联合创始人,对物理学、机器学习、哲学和初创公司充满兴趣。
原文。经授权转载。
相关内容:
-
要想成为数据科学家,别随大流
-
大数据和数据科学中的 5 种职业路径,详解
-
你应该成为数据科学家吗?