语言学博士、Kaggle数据分析师,她说:读研不是必选项,这4项技能学校不教

简介:

学校里教的数据科学和实际工作中的数据科学的差距,往往让很多刚毕业踌躇满志的职场菜鸟陷入迷茫。

事实是,在学校里你可以把模型做得天花乱坠,但是在公司里你的老板需要用业绩担保为你的研究结果背书,这么一想就不难理解为什么在实际操作层面,公司的模型会更偏向保守,而一些套路很深的职场老鸟会意味深长地说“简单的才是可用的”。

从数据科学毕业生到业界的数据科学家的转型,需要很多经验和行业知识打基础。本文作者Rachael Tatman是Kaggle新上线的机器学习和数据分析课程的讲师之一,最神奇的是她的背景:威廉玛丽学院(美国第二古老的大学)英语本科、华盛顿大学语言学博士,现任Kaggle数据分析师。让我们看看她都给数据职场新人提了哪些建议。

f2b5723c2e05d5b00c217f3d283129ce8eef05d2

数据科学与研究生学位

首先要说明一点:想成为一名数据科学家,并不意味着你必须拥有一个研究生学位。一个教你如何做研究的学位并不是必须的,除非你在做尖端的机器学习研究(老实说,包括我在内的99.9%的数据科学家并不是在做这件事!)。任何一个企图神话这份工作的人都可能只是想让你花钱读一个学位。

读研期间,我确实学到了许多有价值的技能。我学会了如何处理混乱的数据,问对的问题,在不同的场景下选择适合的数据分析工具,为分析计算及机器学习编写代码,以及清晰地交流技术概念等等。这些是每一个数据科学家必要的技能。

但数据科学家需要的技能并不仅仅是这些。我从学校到工作岗位这段时间,经历过的最有挑战的两个阶段:一是明确我缺少的技能是什么,二是明白如何快速地掌握它们。

如果你现在的境遇与我当初相似,我的经验应该会对你很有帮助。下面列出的四项是我在研究生阶段未学到的技能,以及一些如何学习它们的实用技巧。

SQL

据我了解,大多数以从事数据科学为业的研究生都熟悉R或Python(或对两者都很熟悉!)。与此同时,却只有很少一部分人熟悉SQL。那么这可能会是当你准备进入数据科学行业工作时面临的一个问题:在Python和R之后,SQL是数据科学中使用最广泛的第三种工具(而你很可能对它的掌握程度并不够)。

SQL(通常读作“sequel”)是一种与数据库交互的编程语言。SQL虽然在学术研究中用的不多,但在行业中却应用十分广泛。好在SQL的基本知识比较简单并且有很多学习资源,上手并不难。

怎么学SQL:

选一门课。

网上有很多在线学习课程,包括可汗学院(Khan Academy),DataCamp,Stanford和Udemy。面授课程可能比较难找,但是如果你在本地的大学或社区大学有注册,或报名了编程训练营,也有机会找到。

相关资源:

  • https://www.khanacademy.org/computingomputer-programming/sql
  • https://www.datacamp.com/courses/intro-to-sql-for-data-science
  • https://lagunita.stanford.edu/courses/DB/SQL/SelfPaced/about
  • https://www.udemy.com/introduction-to-databases-and-sql-querying//c
c8c764f94e0836fc09a6f1036478f140c65b2c27

开发创建一个SQL案例集。

用查询实例来说明你在真实数据库上的操作能力是证明你熟悉这种语言的好办法。一种方法是在Kaggle的BigQuery数据集上编写核心程序(kernels,即托管的R或Python笔记本)。我整理了一份帮你快速入门的指南,HackerRank和SQLZoo上也有不少SQL的练习资源。

相关资源:

  • https://www.kaggle.com/rtatman/sql-scavenger-hunt-handbook/
  • https://www.hackerrank.com/domains/sql/select
  • https://sqlzoo.net

25dc2749b8dc74a43871830b99e90248d1d34f3a

成为一名多面手

研究生院是很好的学习场所,日复一日的研究工作能帮助你拓展知识边界。但随着项目深入,你会发现你需要钻研某一特定领域,且会越来越细分。最终你会成为最了解这一细分领域的人。这很好,学术研究就是会让你成为这样的又“精”又“专”的人。

然而数据科学家却不是这样开展工作的。除非你足够幸运,能够一直在与你学术论文主题匹配的领域中工作,否则,你会不断接到你之前所研究领域之外,甚至还会有一些之前从未闻及的挑战。所以你必须快速处理并不是自己专长领域的研究。

这里是一些成为多面手的小贴士:

阅读学科之外的内容。

学术学科倾向于使用专门特定的统计工具。例如,在社会语言学方面,我们更多的使用混合效应回归(mixed-effects regression)来做工作,但其实还有很多其他的统计方法。在不同学科中进行阅读会使你接触了解到各种不同的技术和问题,并有助于你快速进入新的领域。

训练自己分析新类型的数据。

数据科学家需要处理各种数据。你可能已经在处理某一类型数据上有了丰富经验,但也需要考虑拓展其它类型数据的分析能力。你处理过时间序列数据吗?文本数据呢?图片数据呢?视频数据呢?音频数据呢?预训练模型呢?或者关系数据库?

找出你的知识与实际应用之间的差距,并尝试就一些新的数据来源进行操作。Kaggle拥有各种来源超过10000个公共数据集,你还可以在Zenodo或Dataverse项上找数据。

相关资源:

  • https://www.kaggle.com/datasets
  • https://zenodo.org
  • https://dataverse.org
c0d6fead6868fa1704e4c8ef62a25f1aea90923e

和你所工作领域之外的人讨论技术。

与自己工作领域之外的人就技术进行交流,不仅可以学到很多,同时也有机会去练习自己如何把技术给外行人讲清楚,参与讨论的双发都会获益良多。

源代码管理/版本控制

我读研的时候是学过源代码管理的(得益于一个软件技能学习网站(Software Carpentry))。源代码管理的能力是非常有价值的,但是据我所知,我的很多同学对此并没什么了解。

源代码管理,也称版本控制,是一种对单个集中式文档或代码库进行管理及更改的方法。该方法的基本思路是,你可在任何副本上进行工作,且其修改都会使原件得到更新。这很益于单个项目的开发(它可以让你回归到实际工作的那个版本,并找到之前中断的地方),对技术合作来说也十分必要。

怎样学习使用版本控制:

在每个研究项目或课题中都使用版本控制方法。

我觉得这非常有必要。在做论文研究的整个过程中,版本控制多次救我于水火之中。

0b008ef9378865ea93df8abe8be7e3d262133cf7

将GitHub用于个人项目(如果有的话)或可以分享的研究。

这件事可做可不做,但如果加入使用Github的团队会很有益处。此外,活跃的GitHub配置文件是向潜在雇主展示工作流程化的一种好方式。

“够用”就行

当你在学术环境中工作时,你确实需要确保一切都尽力完美。你的研究结果会被专家进行严格评估,如果通过的话,它会被永久地添加到学术文献中。然而,在实际工作中,“马上能用”往往比“最终会达到完美”要好得多

我在实际工作中学到的第一批新术语之一是MVP,即“最小化可行产品”。这个想法是,当你的东西足以满足一部分与之交互的人的需求时,就把它与人们进行分享。在数据科学环境中,这意味着,你的数据不是必须要去回答每一个问题,也不是必须要使用最精准的模型。也许之后你可以对其进行更深入的分析或其他调整,但在项目达到“够用”时你应该就准备好将其发布。

如何提高判断“够用”的能力:

练习判断“目前已够用”。

下一次你参与一个项目时,要经常停下来,也许在你每天结束之前,考虑你是否已经创造了一些有价值的东西(很可能有!)。花点时间练习如何描述你已经完成了什么有用或有趣的事情。

考虑对研究中间阶段的分享。

可以的话,考虑在博客上或对实验室的同事分享你的下一个研究项目的中间阶段。研究可能并非完美,但这不也是你研究中的一部分吗?想想在数据收集过程中,你学到了什么值得分享的东西?你想想自己做了什么是已经“够用”的,别人可能会觉得它很有价值的东西?

以上便是四种我在研究生学校没学到,但现在每天工作中都会或多或少用到的核心技能。从事数据工作的同行们,你们毕业后,要利用一切可以学习这些技能的机会!


原文发布时间为:2018-03-10

本文作者:文摘菌

本文来自云栖社区合作伙伴“大数据文摘”,了解相关信息可以关注“大数据文摘”微信公众号

相关文章
|
2月前
|
机器学习/深度学习 数据挖掘 TensorFlow
解锁Python数据分析新技能,TensorFlow&PyTorch双引擎驱动深度学习实战盛宴
在数据驱动时代,Python凭借简洁的语法和强大的库支持,成为数据分析与机器学习的首选语言。Pandas和NumPy是Python数据分析的基础,前者提供高效的数据处理工具,后者则支持科学计算。TensorFlow与PyTorch作为深度学习领域的两大框架,助力数据科学家构建复杂神经网络,挖掘数据深层价值。通过Python打下的坚实基础,结合TensorFlow和PyTorch的强大功能,我们能在数据科学领域探索无限可能,解决复杂问题并推动科研进步。
59 0
|
3月前
|
数据采集 数据可视化 数据挖掘
如何提升个人数据分析技能?
【8月更文挑战第7天】如何提升个人数据分析技能?
59 4
|
3月前
|
机器学习/深度学习 数据可视化 数据挖掘
为啥我敢说Python是数据分析界的扛把子语言?
为啥我敢说Python是数据分析界的扛把子语言?
|
4月前
|
机器学习/深度学习 数据挖掘 TensorFlow
解锁Python数据分析新技能,TensorFlow&PyTorch双引擎驱动深度学习实战盛宴
【7月更文挑战第31天】在数据驱动时代,Python凭借其简洁性与强大的库支持,成为数据分析与机器学习的首选语言。**数据分析基础**从Pandas和NumPy开始,Pandas简化了数据处理和清洗,NumPy支持高效的数学运算。例如,加载并清洗CSV数据、计算总销售额等。
58 2
|
3月前
|
数据采集 数据挖掘 数据处理
解锁Python数据分析新技能!Pandas实战学习,让你的数据处理能力瞬间飙升!
【8月更文挑战第22天】Python中的Pandas库简化了数据分析工作。本文通过分析一个金融公司的投资数据文件“investment_data.csv”,介绍了Pandas的基础及高级功能。首先读取并检查数据,包括显示前几行、列名、形状和数据类型。随后进行数据清洗,移除缺失值与重复项。接着转换日期格式,并计算投资收益。最后通过分组计算平均投资回报率,展示了Pandas在数据处理与分析中的强大能力。
44 0
|
4月前
|
机器学习/深度学习 数据可视化 数据挖掘
职场新技能:Python数据分析,你掌握了吗?
职场新技能:Python数据分析,你掌握了吗?
44 0
|
5月前
|
机器学习/深度学习 数据可视化 算法
探索MATLAB世界:掌握基础知识与实用技能(1. MATLAB环境与基本操作 2. 数据类型与变量 3. 条件与循环,1. 数据分析与统计 2. 图像处理与计算机视觉 3. 信号处理与控制系统)
探索MATLAB世界:掌握基础知识与实用技能(1. MATLAB环境与基本操作 2. 数据类型与变量 3. 条件与循环,1. 数据分析与统计 2. 图像处理与计算机视觉 3. 信号处理与控制系统)
51 0
|
11月前
|
机器学习/深度学习 自然语言处理 算法
机器学习基础:Python数据分析的必备技能
机器学习基础:Python数据分析的必备技能
114 2
|
机器学习/深度学习 数据可视化 数据挖掘
第四届“泰迪杯”数据分析技能赛-赛题A:《通讯产品销售和盈利能力分析》报告
第四届“泰迪杯”数据分析技能赛-赛题A:《通讯产品销售和盈利能力分析》报告
749 0
|
数据采集 XML 存储
Perl语言的特点和数据分析示例
与Python相比,Perl有以下区别: ● Perl更注重灵活性和表达力,Python更注重简洁性和一致性。 ● Perl更适合处理文本和正则表达式,Python更适合处理数据结构和算法。 ● Perl有多种方法可以实现同一个功能,Python有一种最佳实践(The Zen of Python)。 ● Perl使用分号和花括号来结束语句和定义代码块,Python使用缩进来组织代码结构。 下面用Perl写一个爬虫程序,采集https://weibo.com的TOP10热搜
173 0
Perl语言的特点和数据分析示例
下一篇
无影云桌面