写点什么

数学 vs 编程,哪个才是数据科学的敲门砖?

  • 2019-11-12
  • 本文字数:2002 字

    阅读完需:约 7 分钟

数学vs编程,哪个才是数据科学的敲门砖?

数据科学其实就是一门数学、计算机、软件相关的复合型的技术,离开编程自然是无法存在的。无论是数据科学家还是数据分析师,都需要跨学科人才,必须知道如何操作代码以便告诉计算机如何分析数据。他们要比软件工程师更擅长统计学,比统计学家更擅长软件工程,需要掌握的知识有数学统计、编程能力、机器学习、研究能力等。


如果我了解机器学习算法的全部数学逻辑,但我却不能很好地进行编程,那我还有机会进入数据科学领域吗?


如果我只是勉强了解哪些机器学习算法背后的数学知识,但我可以很好地进行编程,那我有没有资格成为一名数据科学家?


我希望,在我大学毕业前努力进入数据科学领域之前就能知道这个答案是什么。


先说一下我的背景。我有数学背景,但在大学期间并没有学过多少编程课程。我在大学学过的编程语言包括 R、C++ 和 Matlab。


Matlab 并不是开源语言,主要用于研究行业。R 没有 Python 那样拥有庞大的社区,尤其是在数据科学相关的库中。C++(C 族)仍然是编程的基础。所以如果你正在学习编程的话,我还是建议你学习 C 族的语言。


当我在实习期间,Python 在这个行业使用得最多。因此,我仍然需要自己去学习 Python。此外,我就只选修了一门与数学有关的机器学习课程。


我感到有些不知所措,因为,我不仅要学习数学,同时还要提高我的编程技能。因此,当时我就在想,我应该将更多的精力放在编程上呢,还是放在学习数学上呢?

数学,还是编程?

我将分享我的观点,即在目前的行业中,哪一个实际上更受欢迎。


让我来问你一个问题。如果你是数据科学的技术主管,并且手下已经有很多博士在为你工作,同时,你还想扩大团队。现在你心目中有两个候选人,其中一个更擅长编程,另一个更擅长数学概念。那么,你会选择哪一个候选人呢?


这个问题并没有正确或错误的答案,但跟据我的观察,他们通常会喜欢在编程方面拥有更好技能的那些人。


你可能会想,为什么会是这样呢?


原因很简单,因为大多数数据科学项目的方向,都是由博士提供的,他们应该有更多的知识。因此,能够更快地实现多种方法的人,将是最后一个坚持到底的人


然后,你可能会问,都说统计是数据科学的基础,而你却告诉我,为了进入数据科学领域,只需学习如何编程就可以了?🤔


不是的,数学在数据科学中仍然非常重要。 那些更懂数学的人,将会是能够提出新想法来改进机器学习模型的那些人。


目前市场上有大量的机器学习模型。因此,知道在什么样的场景中使用哪些模型,肯定会为你节省大量时间。此外,当之前表现很好的模型,突然开始出现性能下降时,你就能找出可能的原因了。


但是,如果你只是想进入数据科学领域的话,就不需要在数学部分深入研究太多细节。数据科学并不只是关于如何推导或求解数学方程式。 更重要的是,要知道如何定义并解决业务问题


例如,你在一家电子商务公司工作。你得到一个任务,让你实现对列表进行自动分类。可能,你需要做的第一步就是定义问题,也许是说明你需要实现的时间表和正确性。下一步,你将考虑模型可能面临的一些问题,并需要澄清这些问题。


假设,如果列表名称和图片属于不同的类别,那么应该如何对列表进行分类?是按图片进行分类呢,还是按列表名称进行分类呢?


在理解了你的团队同意的标准作业程序(Standard Operating Procedure,SOP)之后,那么只有你才能启动这个项目。


回到主题,数据科学迫切需要的技能之一是分叉 GitHub 代码并在数据集上进行实验的能力。因此,如果你擅长编程的话,那么无论编程语言是什么,你都能够测试不同的方法。


例如,你正在使用给定的数据集来训练 NER(Name Entity Recognition,命名实体识别)模型。让我们想象一下,目前还没有人用 Python 在 NER 上编写代码,而唯一可用的代码,由斯坦福大学提供,用 Java 编写的。遇到这种情况应该怎么办?因此,掌握不同编程语言的知识绝对是一个加分项,这样,你就可以节省用 Python 编写整个代码的时间,以便训练模型。


另一方面,如果你深入学习机器学习的数学部分,你就会对你应该关注哪些指标更加敏感,这要取决于不同的问题。 假设你正在从事一个信用欺诈项目。你应该关注的指标就不再是正确性,而应该是 f1-score 等。因为你的目标是不仅能够识别尽可能多的欺诈案件,而且还要保持准确率。

最后的感想

在数据科学领域中,数学和编程同等重要,但如果你正考虑在数据科学领域转行或者开始你的职业生涯,我想说的是,对于各种机器学习模型来说,掌握编程技能要比深入钻研数学更为重要。


开始进行更多的实际项目,并能够在面试过程中清晰地陈述和回答问题,这肯定会增加你进军数据科学领域的机会。


进入数据科学领域可没那么容易,但请记住,不要放弃,继续努力!


你所有的努力很快就会有回报,不管有多难,要坚持你正在做的事情。


作者介绍:


Low Wei Hong 是 Shopee 的数据科学家。他的经验主要涉及网站抓取、创建数据管道以及解决业务问题的机器学习模型。


原文链接:


https://towardsdatascience.com/math-vs-coding-data-science-43e216b4f671


2019-11-12 15:432102
用户头像
陈思 InfoQ编辑

发布了 576 篇内容, 共 280.0 次阅读, 收获喜欢 1301 次。

关注

评论

发布
暂无评论
发现更多内容

OPPO大数据离线计算平台架构演进

安第斯智能云

大数据 spark YARN

52 K8S之Harbor项目

穿过生命散发芬芳

k8s 28天写作 12月日更

恒源云(GPUSHARE)_云GPU服务器如何使用OpenCV?

恒源云

OpenCV 计算机视觉 图像识别

【年度评选】让我们为2021留下浓墨重彩的一笔

InfoQ写作社区官方

2021年度评选 热门活动

20个提升效率的JS简写技巧

CRMEB

百度王海峰:深耕自然语言处理近30年,推进AI融合创新

百度大脑

人工智能

重启iptables为啥内核参数不对了?

BUG侦探

Linux iptables

优秀程序员的30种思维--理解认知篇

hackstoic

程序员 架构思维

云脑启智 开源赋能 | 2021新一代人工智能院士高峰论坛暨启智开发者大会顺利举办

OpenI启智社区

人工智能 院士峰会 启智社区

1300亿次!百度地图发布生态全景3.0 日均位置服务请求次数再创新高

百度开发者中心

人工智能

DongTai 社区双周报 | v1.1.4 版本新功能解析来啦!

火线安全

三步开启你的网络服务全球动态加速之旅

声网

网络 人工智能「

【MongoDB学习笔记】-使用 MongoDB 进行 CRUD 操作(下)

恒生LIGHT云社区

数据库 mongodb

公安重点人员动态预警管控系统建设,警务情指一体可视化决策系统

电微13828808271

盘点 2021|代码之外:人生最大的幸运就是努力没有白费 -- 我的2021年度总结

宇宙之一粟

职场成长 生活记录 12月日更 盘点2021 代码之外

Spring Boot开发,有这个包就够了!

sleeper

Java DevOps springboot 框架

CSS之变量(三)心形加载条

Augus

CSS 12月日更

公安合成作战指挥中心平台建设方案,情指勤一体化系统开发建设

a13823115807

公安合成作战系统开发 情指勤一体化合成作战系统

《谈谈人生选择的思考逻辑》读后感

Changing Lin

12月日更

【等保小知识】等保一级二级三级哪个要求更高?

行云管家

网络安全 等保 等级保护 等保20

【CSS 学习总结】第二篇 - HTML 扩展简介

Brave

CSS 12月日更

详解 Rainbond Ingress 泛解析域名机制

北京好雨科技有限公司

手把手教你配置php的redis扩展

恒生LIGHT云社区

php redis php扩展

【AI最前线】精准优质-资讯|分享|热议第45期

百度大脑

人工智能「

作业三

施正威

CRM系统如何帮助企业改进销售流程

低代码小观

低代码 销售管理 CRM 无代码 CRM系统

公安大数据合成作战平台建设,合成作战指挥中心平台开发

电微13828808271

盘点 2021|学习、分享、努力中成长

小隐乐乐

盘点2021

区块链数字藏品平台开发助力潮玩行业新发展

电微13828808271

toB企业的客户续约提醒

明道云

如何突破浏览器12px限制

云小梦

CSS JavaScript html Vue transform

数学vs编程,哪个才是数据科学的敲门砖?_大数据_Low Wei Hong_InfoQ精选文章