初级与高级数据科学家之间的差距不是代码
请提供您希望翻译的完整文本内容(除代码块和 URL 之外),我会按照要求将其翻译成简体中文并保留原有的格式。
Source: …
初级与高级数据科学家之间的真实差异
如果你在 LinkedIn 或 X(前身为 Twitter)上花哪怕 五分钟,就会注意到数据科学社区里正在进行一场激烈的争论。讨论的主题并不是新模型或炫酷的 Python 库,而是到底是什么真正区分了 初级 从业者和 高级 从业者。
大多数人的说法
询问刚入行的从业者,他们通常会回答:
高级的只不过是 知道得更多——更多的算法、更多的库、更多的高级深度学习技术。
很长一段时间,我也接受了这种解释。
个人的领悟
我曾经参与一个小型内部分析项目。我倾注了全部心血,并为“一切看起来多么干净”感到自豪:
- 笔记本结构清晰。
- 函数模块化。
- 可视化效果精致。
- 我甚至尝试了几种不同的方法,只是想看看哪种表现更好。
那个项目让我领悟到一个重要的点,而很多数据行业的专业人士要么忽视,要么低估了它。
本文 不 讨论的内容
- 并不是在贬低技术技能。
- 也不是在假装代码不重要。
我曾无数次熬夜清洗数据、重写笔记本,所以我深知这个领域的技术层面既 真实 又 充满挑战。
真正的差距:思维方式的转变
决定性区别 不 出现在模型指标或整洁的代码中。
它体现在从:
- 执行任务 → 决定真正需要做什么
- 遵循指令 → 理解其背后的意义
- 交付笔记本 → 推动实际影响
简而言之,高级数据科学家以 战略性 思考并 有目的 行动。
请继续关注后续章节,我将拆解具体的习惯、职责和思考过程,展示高级数据科学家的独特之处。
“One of the most important skills for a data scientist is the ability to frame a real‑world problem as a standard data science task.”
— John D. Kelleher
Source
初级者解决任务。高级者解决正确的问题。
在问题落到你桌面上的那一刻,初级和高级数据科学家之间最大的差异就显现出来。
作为初级者,我的本能总是直接动手。我记得有一次被要求分析一套销售数据并为管理层提供洞见。我花了数小时清洗数据、创建多个模型、打磨可视化——结果却发现我所做的大部分工作并没有真正回答关键的业务问题。
我过于专注于做出完美的分析,以至于没有花时间去理解这项分析的目的是什么。
- “One of the most important skills for a data scientist is the ability to frame a real‑world problem as a standard data science task.”
- — John D. Kelleher
- Source
经过几个月的成长,我学会了高级者处理问题的不同方式。
- 他们在敲键盘之前会先停下来。
- 他们会花时间了解目标、背景以及工作对现实世界的影响。
- 他们会提出诸如以下的问题:
- 这个决策要支持什么?
- 成功将如何衡量?
- 是否有更简单的方案可以实现相同的结果?
这些问题在 Kaggle 竞赛中很少出现,但在真实工作中无处不在。
关键的区别在于初级者往往把问题视为既定的,而高级者会停下来确保自己在解决正确的问题。他们在写下第一行代码之前,会先考虑背景、影响和实际情况。
这种思考方式会彻底改变一切。明确真正的问题可以避免不必要的工程工作,确保你的工作产生实际价值。
准确率并不等同于影响
大多数年轻数据科学家都会经历一个阶段,感觉整个工作只是在优化模型指标。
- 你将误差降低了 0.7 %,于是立刻像刷新股票组合一样刷新笔记本。
- 你添加了另一个特征或尝试了不同的算法,数字略有变化,让你觉得有进展。
如果仔细想想,这相当于在视频游戏中刷经验值(XP)。你在升级,但不确定自己是在进行主线任务,还是只在做支线任务。
我曾经认为“好工作”就是更好的模型,仅此而已——如此简单。
我曾花整整一周的时间,试图把一个高度复杂的模型塞进一个根本不适合它的流水线中。
这就像把一台一级方程式(Formula 1)发动机装进高尔夫球车:技术上大胆,却在实际中毫无用处。
一位资深同事只用了五分钟查看我的流水线,就建议先使用一个简单的启发式方法,来检查信号是否足够强,以至于真的需要机器学习模型。
- 五分钟的审查。
- 一周的工作。
这不是编码差距,而是判断差距。
为什么影响胜过纯粹的准确率
当你优化的目标是影响而非单纯的准确率时:
- 技术工作得到改进——你可以避免过度工程化。
- 方法选择以问题为导向——你选择适合任务的工具。
- 建模有明确目的——你构建模型是因为应该,而不仅仅是因为能。
将关注点从追逐边际指标提升转向交付真实、可衡量的价值。你的工作将更有效,并且会在不必要的复杂性上花费更少的时间。
高级人员的沟通多于编码
另一个让我感到惊讶的区别是高级数据科学家花在不编码上的时间。
作为新人,我的关注点在笔记本上。我以为代码会自己说明一切。
事实并非如此。
- 利益相关者并不关心你的特征工程流水线;他们关心的是这些结果对他们决策的意义。
- 高级人员理解这一点,并将技术发现转化为业务语言,而不会让受众感到复杂。
- 他们还会提出更好的问题——不仅仅是关于数据,还包括背景。
这些对话在任何模型训练之前就为分析提供了信息。
根据我的经验,沟通在数据科学中不是一种“软技能”;它是一项硬性的技术必需,因为它决定了你的工作是否会被使用。
- 一个不被理解的模型不会被部署。
- 一个不被信任的洞察不会被采纳。
最终思考
- 技术技能是基础。 你无法通过写代码来弥补糟糕的代码或不良的数据实践,扎实的基础是不可谈判的。
- 代码是入口,而不是终点。
- 从初级开发者到高级开发者的旅程并不是积累更多算法或堆叠更多工具,而是关于:
- 识别何时使用它们,
- 知道何时忽略它们,和
- 理解为何这样做。
真正的成长不是通过模型提升了多少来衡量,而是看你的工作是否在现实世界中产生了改变。
这就是编写好代码与进行有效数据科学之间的区别。
在您离开之前!
我正在为开发者和数据科学家建立一个社区,在这里我分享实用教程,拆解复杂的计算机科学概念,并偶尔吐槽一下科技行业。
如果这正是您感兴趣的空间,加入我的免费新闻通讯。