数据科学该怎么学?必备技能有哪些?

最近,一份数据科学领域的学习宝典在推特上火了,吸引点赞1k+。

这份宝典火了 小哥学后加薪30W+-风君雪科技博客

之所以能够引起大家的关注,是因为这份教程将数据科学广而杂的知识内容,梳理成了14个方面及各自要点,同时解答了许多学习中的常见疑问。

比如“用什么语言比较好”、“哪些工具最适合”。

这份学习宝典的作者为Matt Dancho,他是一个数据科学学习网站的创始人。

那么,具体这份干货到底讲了什么?是否真的如此神奇?

我们一起来看。

进入正题之前,我们先来浅聊一下数据科学 (Data Science)。

数据科学是指通过挖掘数据、处理数据、分析数据,从而得到有用信息的技术和研究,再将这些信息应用到不同领域的各个方面。

该学科结合了诸多领域中的理论和技术,包括应用数学、统计、模式识别、机器学习、数据可视化、数据仓库以及高性能计算等,覆盖知识面非常广。

这份宝典火了 小哥学后加薪30W+-风君雪科技博客

作者表示想要掌握这些技能,大概每周要投入10个小时来学习。

那么在开始真正学习之前,先来看一个最关键的问题——

这份宝典火了 小哥学后加薪30W+-风君雪科技博客

在这里,作者认为选择R语言或者Python都可以。

如果从从业角度出发,他会考虑以下三个因素:

编程语言对数据科学的影响有多大?就业市场的需求如何?就业市场的竞争力如何?

第一方面,作者直接将二者进行了对比。

这份宝典火了 小哥学后加薪30W+-风君雪科技博客

Python非常适合机器学习和深度学习。但是在市场报告方面的优势不大,能用于统计经济学等重要领域的库比较少。

R语言在业务分析、数据科学方面都拥有完善的工具支持,在深度学习方面的应用比较弱。

不过作者认为,深度学习在数据科学中的应用不多,而且在需要深度学习或者其他API时,R语言可以和Python集合。

再从就业市场角度来看。

作者统计了美国招聘市场上的数据。

结果显示,Python方面在招职位的数量,是R语言的2.4倍。

但是了解、掌握Python的人,也比掌握R语言的更多。

可能达到4-32倍。

最终作者认为,选择R语言更有优势。

这份宝典火了 小哥学后加薪30W+-风君雪科技博客

那么还有一些其他基础技能呢?

比如推荐使用Excel吗?

作者认为,虽然Excel的使用人群更广、商务人士非常喜爱,但是它在处理机器学习、大数据方面都不具有优势,而且单元格中的函数也容易报错。

所以,建议大家慎重使用Excel。

而在选用什么开发工具方面,作者展开了一项小调查。

针对喜欢使用R语言的人群,RStudio是大家最喜爱的开发工具。

这份宝典火了 小哥学后加薪30W+-风君雪科技博客

Python方面,Jupyter、VSCode更受人们欢迎。

这份宝典火了 小哥学后加薪30W+-风君雪科技博客

在这里作者没有给出明确的推荐,大家可以按照喜好选择。

接下来,就到了正式学习的环节。

大致可以分为4个步骤:

掌握基础技能学习建模学习时间序列分析将模型集成到应用程序

所需要点亮的技能树如下所示:

这份宝典火了 小哥学后加薪30W+-风君雪科技博客

看到这里,先不要头皮发麻……作者给出了一些具体的学习tips。

第一,从基础技能学起。

可能很多人一上来就想搞定机器学习,但这可能会影响学习兴趣&效率。

这份宝典火了 小哥学后加薪30W+-风君雪科技博客

作者用R语言进行了示范,列举了一些基础技能:

导入数据:使用数据库,连接到SQL,readr包, readxl包;转换数据:处理异常值、缺失数据、重塑数据、聚合、过滤等;可视化数据:静态/交互式数据可视化,ggplot2以及plotly;处理文本数据、函数式编程……

如果以上这些基础技能都掌握后,接下来就可以学习机器学习了。

在这里,可能有人会疑惑,不应该先学习数学、统计和算法吗?

对此作者认为,如果从头开始学习如何编写算法,可能并不是快速上手数据分析。

所以,他更推荐从实战中学习这些技能。

简单来看可以分为三步:

把机器学习应用在实际问题上;尝试使用不同的算法;对比不同的应用结果。

在这方面需要用到哪些工具呢?

Tidymodels和H2O是作者推荐的两个软件包。

另外,Recipes中具有很多预处理工具,可以转换数据、创建数据特征。

接下来,作者推荐你开始学习时间序列分析。

因为这个技能意味着你可以对未来的一些数据进行预测,掌握这项技能也会使你成为大厂手中炙手可热的人才。

在这方面,你需要掌握的技能如下:

时间序列分析:处理日期/日期时间数据、聚合、转换、可视化时间序列、使用timetk预测:ARIMA、指数平滑、Prophet、机器学习(XGBoost、随机森林、GLMnet 等)、深度学习(GluonTS)、集成、调整超参数、扩展预测、modeltime包。

进行到这一步后,你就可以尝试去创建一个模型并投入使用了。

在这里,作者推荐了一个能够将模型集成到应用程序中的工具——Shiny。

这个程序包可以用来创建交互式Web应用程序,代码可以在本地或服务器上托管。

看完这份技能树后,也有网友提出了疑问:

为什么没有看到深度学习?

作者回复表示:针对商业应用,机器学习会更实用。

作者表示,有位小哥在他们网站选择了快速进修的课程后,得到了微软机器学习工程师的offer。

当然,这份完整的学习计划是可以白嫖的(链接请见文末)。

对于这篇分享,你怎么看?

欢迎留言讨论~

学习清单: