「我的第一次数据科学家实习经历」
雷锋网 AI 科技评论按:「数据科学家」可谓是近几年的一大热门职位,很多学习了数学、信息、计算机相关专业的同学都对它表示跃跃欲试。Admond Lee 学习了物理专业,曾参加瑞典欧洲核子研究中心(CERN)的物理夏令营,而今他也走上了数据科学家的道路。近期他撰文回忆了自己的数据科学家实习经历,雷锋网 AI 科技评论编译如下。
Admond Lee:
在写本文时,正是我在 Quantum Invention 做数据科学家实习生的倒数第二天。此刻,我坐在笔记本电脑屏幕前,再回想起过去几个月的学习历程,非常艰辛但充满成就感。
作为一个搞物理的人,请原谅我总是问正确的问题,以适当的回答来寻求真理。
事实上,作为一个数据科学家,提出正确的问题毫无疑问是重要的(后面将会解释…)
给你们大致介绍下,这篇文章主要分为三个部分(实习前、实习期间和实习后)来讲述我的实习旅程的经历。根据你的目前的学习阶段可跳转到任意部分。让旅程开始吧!
谢谢您!当我在 Medium 上发表的第一篇文章时,我情绪高涨。因为其受到了非常多人的大力支持,甚至因其特色而发表在了 towardsdatascience.com 。这真的成为我继续与更多的人分享我的学习经验的动力,仅仅是因为学习乐趣,帮助他人变得更好!
实习之前
我仍然清楚地记得,在 2017 年 11 月我的期末考试结束后,我开始阅读课本,《统计机器学习入门—R语言的应用》。这是我在基本和统计层面上第一次接触到机器学习。
一旦我掌握了这些概念,我就开始学习一门流行的课程,那就是吴恩达在慕课上教的《机器学习》课程。一开始课程内容并没有大家预想的那么容易,但是吴恩达却一直能抓住大家的注意力,尽管许多概念都很复杂,但都能被他简化以便于理解消化,似乎没有其他人能做到。我想这就是我真正学会机器学习的原因。我敢打赌,试一试你就会知道机器学习这个热门词汇并不像听起来那么复杂。
同时,我还学习了人工智能的另一个重点领域––––深度学习。回顾一下,这个看似外来用语其究竟是什么含义,请看神经网络的解释以及神经网络可用来计算任何函数。好了,如果读完了推荐的文章之后,还像我一样,总是需要某种可视化以了解事物是如何工作的,那就请,按「播放」按钮,坐下来,放松,观察神经网络是如何用来做分类和回归的。很酷,不是吗?
所有的阅读、学习和作业都为我 2017 年 12 月的实习做好了准备。
实习期间
我申请的 Quantum Invention公司致力于利用其集成的移动性应用套件、企业物流与分析平台向消费者、企业和政府提供移动性情报。而我是第一个加入 R&D 和分析团队的数据科学家实习生。
在接下来的几天里,我认识了许多同事,了解到各种行业术语,以及正在进行的令人兴奋的项目。实习过程中我最喜欢的一点是信任和自由,作为实习生我可以自由选择我感兴趣的项目并全力以赴!
令我惊讶的是,我意识到我是第一个开始这个项目的人,因为以前没有人这么做过。当没有人做过某事时,就需要研究,这是我感激的地方,尽管带有不确定性和困难。为什么?仅仅因为我有机会体验从零开始进行数据科学工作的整个流程(如果不是全部)。
请允许我列出我所经历过的这些工作流程,因为这些建立了我的数据科学基础。我希望你在某一天发现它有用。
1. 了解商业问题
所选择的项目是短期高速公路行驶时间预测。看起来似乎非常简单,然而就像我说的,问正确的问题对于数据科学家来说是非常重要的。在项目最终确定之前,提出了很多问题来真正理解真实的商业问题,包括数据来源、项目的最终目标(甚至在我离开之后)等。从本质上讲,我们的目标是预测未来几分钟在新加坡高速公路的行驶时间且要比当前的基线估计更准确。
2. 采集数据
在新项目的激励下,我开始从数据库和同事那里收集数据(基本上是在办公室四处走动,询问数据源的问题)。收集正确的数据类似于从各种不同的数据网站中提取数据然后进行数据预处理的情况。这是非常重要的,它能影响你在后期构建的模型的准确性。
3. 数据预处理
真实世界的数据是脏的。我们不能指望数据像 Kaggle 提供的那样格式整洁且没有噪声。因此,数据预处理(其他人可能称之为数据整理或数据清理)是非常重要的,以至于我不得不多次强调它有的重要性。它是最重要的一个阶段,因为它可以占据整个工作流的 40% 到 70% 的时间,只是为了清理数据以供你的模型使用。
我喜欢数据科学的一件事是你必须对你自己诚实。当你不知道你还不知道什么的时候,你就会开始觉得数据预处理已经足够干净,并准备把它用在你的模型上,此时就存在着用错误数据试图建立正确模型的风险。
换句话说,总是不断质疑自己,用你拥有的领域知识判断数据在技术上是否是正确的,请严格而仔细地检验数据,以检查在整个数据集中任何其他的离群值,缺失或不一致的数据。
有一次,我喂给模型的数据是错误的,只是因为在预处理步骤中的一个简单错误,在犯了这个错误后我特别小心。
4. 建立模型
经过研究,我提出了支持向量回归(SVR)、多层感知器(MLP)、长短期记忆网络(LSTM)和状态空间神经网络(SSNN)四种模型并用在我的项目中。此处不详细展开,你可以在许多网站上找到每个模型的详细解释的资料。
对于一个像我这种仍在学习慕客课程以及教科书的人看来,从头开始构建各种不同的模型是一个陡峭的学习路线。幸运的是,Scikit-learn 和 Keras(采用 Tensorflow 作为后端)算是我的一个救星,因为它们很容易让你快速学习模型原型且是采用 Python 实现的。此外,我还学会了如何优化模型及使用各种各样的技术微调每个模型的超参数。
5. 模型的评价
为了评估每个模型的性能,我主要使用以下的一些度量:
1. 平均绝对误差(MAE)
2. 均方误差(MSE)
3. 决定系数(R2)
在这个阶段,上述步骤 3 - 5 被重复(互换)直到确定最佳模型能够超过基线模型的估计精度。
实习之后
嗯,实习已经印证加强了我对数据科学的热情,我很感激我的实习工作,其确实为我将来工作带来了一些动力。在研究和开发阶段,与不同的利益相关者交谈所需的沟通技巧、用数据来解决商业问题的好奇心和热情等等方面都提高了我对此领域的兴趣。
数据科学行业仍然很年轻,它的工作描述对我们这样的求职者来说可能显得模糊不清。不具备所有需要的技能是非常正常的,因为大多数工作描述是理想化的,以符合他们的最佳期望。
当有疑问时,只要从慕课、书籍和文章(我现在还在做的)中学习基本原理,然后通过你自己的个人项目或实习来运用你所学到的东西。要有耐心。学习之旅需要时间。津津有味地去开始你的学习旅程吧。因为…
旅程总有终点,但问题长存
–––– 你学到了什么?这就是你想要的吗?
谢谢大家的阅读。这篇文章简短地介绍了一些关于数据科学的流程以及我的学习之旅。如果你觉得这个有用,可以自由分享给别人,或者推荐这篇文章!=)如果你有任何问题,只需添加我,让我们在 LinkedIn上聊天或访问我的个人网站(http://admond1994.strikingly.com/)了解更多信息。
via towardsdatascience.com,雷锋网 AI 科技评论编译整理。
评论