我的第一份数据科学实习
在写本文时,这是我在Quantum Inventions公司实习的最后一天。当我坐在电脑屏幕前,反思过去几个月的学习历程,我感到非常的满足。
在实习即将结束时,萦绕在我脑中的问题是:我学到了些什么?这是我想要的吗?
作为一名物理学家,我习惯通过推理解答问题从而来寻求真相。事实上,对数据科学家来说,问合适的问题也是至关重要的。
本文分为三个部分:实习前,实习期间,实习后。当中记叙了在这段经历中我所得到的收获。也欢迎阅读我上一篇文章《我是如何从物理学转行到数据科学领域》。
实习前
我仍然清楚地记得,在2017年11月的期末时我开始阅读《统计学习导论:基于R应用》(An Introduction to Statistical Learning?—?with Applications in R)。这是第一次接触到基础的机器学习知识。
一旦掌握了这些概念之后,我就开始学习热门的课程Coursera上吴恩达的《机器学习》。虽然刚开始的时候并不那么轻松,但是吴恩达能够吸引人们的注意力,用简单的方式解读复杂的概念。这也许就是我喜欢上机器学习的原因之一。我也强烈建议你试试,机器学习并没有听上去那么高大上和复杂。
同时,我开始学习人工智能的另一个重要领域——深度学习。
在掌握了一定的基础知识之后,我在2017年12月开始了我的第一份数据科学实习。
实习期间
Quantum Inventions专注于向消费者、企业和政府智能交通服务。我是第一位加入研发和分析团队的数据科学实习生。
在刚开始的几天,我认识到了许多出色的同事,接触到许多行业术语以及正在进行的项目。在这次实习中,Quantum Inventions给了我足够的信任和自由,让我能够选择感兴趣的项目,并为其而努力。
令我吃惊的是,目前我着手的这个项目是之前没有人做过的。这时就需要大量的研究,存在许多不确定性和困难,但是我仍然乐在其中。为什么呢?很简单,因为我能够有机会从头开始体验整个数据科学工作流程。
下面我将列出我所经历的工作流程,在这一过程中为我进入数据科学领域打下了一定的基础。希望能够给你带来一些帮助。
1. 了解业务问题
我所选的项目是预测短期高速公路行程时间。正如我所说的,提出合适的问题对数据科学家来说非常重要。 在项目完成前,需要提出大量的问题,从而了解实际的业务问题:可用的数据源,项目的最终目标等等。我们的目标是更准确地预测新加坡高速公路行程时间。
2. 收集数据源
我对新项目感到十分兴奋,然后我开始从数据库等渠道收集数据源。收集正确的数据源类似在不同网站抓取数据,以便稍后进行数据预处理。这一过程非常重要,这可能会影响你在后期建立模型的准确性。
3. 数据预处理
真实世界的数据并不那么理想。我们不能期望会获得Kaggle比赛中那样格式良好且干净的数据。因此,数据预处理(也称为数据管理或数据清理)至关重要。该过程占到整个工作流程的40%-70%,对提供给模型的数据进行清理。
Garbage in, Garbage out。(无用输入,无用输出)
我喜欢数据科学的一点在于,你必须对自己诚实。如果你没有把握,认为预处理的数据已经足够干净,并可以提供给模型,那么将存在使用错误数据构建模型的风险。换句话说,你需要从专业的角度质疑自己,确认数据是否可以使用。严格用阈值检查数据,确认整个数据集中是否存在其他异常、缺失或不一致的数据。
我对这个过程格外谨慎,之前我仅仅因为预处理步骤中的小疏忽就给模型提供了错误的数据。
4. 建立模型
经过一番研究,对于项目我提出了以下四个模型:支持向量回归(SVR),多层感知器(MLP),长期短期记忆网咯(LSTM)和状态空间神经网络(SSNN)。
对于还在学习在线课程的我来说,从头开始构建不同的模型无疑是十分困难的。幸运的是,Scikit-learn and Keras拯救了我,因为它们很容易学习,能够快速构建原型模型,并用Python进行编写。此外,我还学习了如何使用多种技术优化模型,并调整每个模型的参数。
5. 模型评估
为了评估每个模型的性能,我主要使用了以下指标:
· 平均绝对误差(MAE)
· 均方误差(MSE)
· 测定系数(R2)
在这个阶段,重复步骤3-5(可互换),直到得出的最佳模型能够超越基线估计。
实习后
这次实习加深了我对数据科学领域的热爱,这段经历为我之后的工作也提供了一些动力。我也大大提高了自身的能力,比如与不同人群进行利益的沟通技巧,利用数据解决业务问题等等。
数据科学行业还是一个新兴领域,对于我们这些求职者来说,有时当中的一些工作描述可能有些模棱两可。因此在求职时,发现自己不具备岗位所需的全部技能是完全正常的,因为大多数工作描述都是按照理想的方式写的,从而符合雇主的期望。
当在学习或工作中遇到疑问时,你可以从在线课程、书籍和文章中进行学习,这也是我仍在做的,并通过个人项目或实习来应用所学到的知识。请耐心一点,学习的过程需要大量的精力和时间。
在最后,记得问自己:你学到了什么?这是你要的吗?