热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何自学成为一名数据科学家?

编者按:数据科学家被认为是21世纪最性感的职业。可是如果你没有大学学位,对数据和编程几乎没有了解该怎么办?又或者你原先干的不是这一行想要转

编者按:数据科学家被认为是21世纪最性感的职业。可是如果你没有大学学位,对数据和编程几乎没有了解该怎么办?又或者你原先干的不是这一行想要转行又怎么办?一直致力于为学习数据科学提供指导的Dario Radečić给出了他的建议和参考书籍。原文发表在Medium上,标题是:Becoming a Self-Taught Data Scientist

数据科学被认为是21世纪最性感的工作。这是一项大胆的声明,主要是因为我们目前才是2019年,谁知道50年后的就业市场会是什么样子的呢。

但是,如果只看过去15至20年的职位的话,那就完全是另一回事了。在本文中我将为大家找出一些最出色的资源,让你可以一举打入数据科学的领域。而且你是否拥有其他领域的学位一点都没有关系。

在本文中,我将深入探讨自学数据科学的路线,同时还将为你提供一些出色的资源来开始学习。

本文适用于谁?

  • 没有任何学位的人

  • 在一段时间前完成大学学习并想转向数据科学的人

好来,我们就不要再花时间在介绍上了——现在,我们将深入探讨真正的内容。

自学是什么意思?

好问题。简而言之,这意味着你没有在自己感兴趣的领域(比如说数据科学)修完任何的大学文凭,但是你又在从事着自己感兴趣的这个领域的工作(比如数据科学),那么就可以认为在该领域你是自学成才。

你还可以到网上去修在线课程,去看看书,但是并没有花几年在大学课桌后面接受正规教育。

那么我们就来看看自学成为数据科学家的第一种办法是什么吧。

从零开始的路线

如果符合以下情况的话你属于这一类:

  • 你没有大学学位

  • 你对数据和编程的了解很少或一点都不了解

那该怎么办?这是一个很难回答的问题。首先,你需要掌握一些基础知识,主要是数学和统计技能。而且,你也的学习如何编码,最好是用Python。

之前我写过一篇文章,里面列出了进入该领域所需先决条件的相关资源:

数据科学预修终极清单

我知道,要学的太多了,但是没有人说这件事情很容易。花一些时间来学习一下基础知识。你不需要手工去做大量计算,扎实的可视化理解应该就绰绰有余了。

我不建议手工进行大量计算有一个原因——因为那种事情计算机很容易做到。对于计算机来说困难的是如何框定问题,以及知道在哪种情况下要做什么(我说的不是条件语句)。这就是数学和统计方法的可视化是一座金矿的原因。

如果你愿意花时间深入学习一下数学、统计学以及程序设计的话,那你的起点就跟那些几年前在大学听这些课学习数据科学的人一样了(大学学数学的人除外)——至少在数据科学方面,那些完成学业的人绝对不会比你领先。

这就是从0开始的路线。接下来让我们探索另一条路线,然后再深入去研究一下相关资源。

转换职业的路线

转行可能会很艰难。你可能已经从事某个领域已经好几年,然后确定这一行不适合你。这没什么。也许你觉得很无聊,也许是工作动力不足……原因穷举不尽,我不想过多讨论。

你想要尽快做的一件事是要老实地评估自己的数学和统计技能。我是说要诚实面对自己。承认自己把10年前学到的东西全都还给了老师并不是什么可耻的事情。

如果您对以下学科的理解不是100%自信的话:

  • 线性代数

  • 微积分

  • 概率论

  • 统计

  • 程序设计

请参考本文并选择适合你需求的资源——无论是书籍还是在线课程都可以。

OK,该说的都说了吗?你可以继续看看我个人选择的资源。

为自学成才的数据科学家准备的资源

不管出于什么原因读大学都不应该是个选项,但是你可以每天花一两个小时去探索一下数据科学的世界。紧跟着的下一步因人而异,这很大程度上取决于你喜欢看书还是看视频。我更喜欢看视频——因为我不想上完8小时的班后还要看书。

我会从我个人的最爱开始——这是我跟数据科学的第一次接触:

适用数据科学和机器学习的Python训练营

Jose是一位了不起的讲师。他先是简单回顾一下基本的Python库,然后很快你就可以开始用Pandas和Numpy 进行数据分析,并用Matplotlib 和Seaborn进行一些数据可视化。是的,你还会练习机器学习。东西不多,也不够深入,但足以带你入门。

如果你更喜欢读书,那么我建议你看看这本书:

书名叫做《Python数据科学手册》,大概有550页,涵括的内容跟前面的视频课程一样—— numpy、Pandas、Matplotlib以及Scikit –Learn——都是些对搞数据科学至关重要的东西。

一旦掌握了基础知识,就该开始深入研究机器学习了。我有两本值得推荐的好书,其中一本是免费的。让我们仔细讲一下。

对于想要进一步学习机器学习的人来说,《统计学习入门》是一本非常出色的书,还是免费的。书里面偶尔会有些数学性的内容,但是读起来还是比较容易的。对于机器学习这么一个话题广泛的领域来说,此书能够把篇幅控制住400页左右,说明简洁性做的相当好。唯一的缺点是这本书的代码是用R语言而不是Python编写的。但是,你可以试着把R 代码“翻译” 成Python 代码,这肯定会是一个很好的练习。

我要推荐的下一本书叫《Scikit-Learn与TensorFlow机器学习实用指南》。如果我没记错的话,这本书大概有700页,厚是厚了点,但的确是一本好书。你还将学习到一些深度学习的概念,并且还会学习一些机器学习算法。

这两本书你选哪一本都不错,都是很好的入门读物(最好两本都看)。

至于在线课程,我得推荐一下Coursera的机器学习课程,因为这是机器学习的大牛吴恩达的课程学完这门课程需要10多周的时间,而且如果你基础不是很牢的话很快就会感觉到学习的困难。但是,在总共大约12万的用户里面这门拿到了4.9(满分为5)的高分,这已经说明了一切。

实验不是用Python写的,甚至也不是用R语言编写的,而是用Matlab 的免费版本Octave 写的,这一点需要考虑一下。

后续计划

你已经看过书或者课程(或者这两样都做了)了,现在你想知道下一步该怎么做。后续该怎么做其实要因人而异,但理想情况下,你应该去设立一个GitHub档案。

找到5个好一点的数据集,然后尽自己最大努力去做。去进行大量的分析,用Markdown格式写下结论和想法,制作自述文件,全身心地投入进去。

这样做很重要,原因有两个:

  • 这是在练习新习得的技能

  • 向潜在员工展示你写出高质量代码以及得出结论的能力

至于在职业发展方面,让潜在雇主看到你的最好作品非常重要。你没有大学学位,或者至少没有相关学位的话,你得以某种方式向他们展示自己的能力,让他们知道你知道怎么去完成工作。而GitHub是个不错的选择。

花一两个月的时间,做点让自己感到骄傲的事情吧。

————

编辑 ∑Gemini

来源:36Kr

☞数学家探索两个几何世界之间的镜像链接

☞数学天才帕吉特:他有如电影般的人生际遇

☞世界上最奇怪的数学天才,被奖励100万却拒领,宁愿过得像乞丐

☞斯坦福大学教育学院院长:学习本身就是一门学问

☞如果没有数学,我们如何测量

☞数学的真相:物理时空的数字模型还是现实本身?

算法数学之美微信公众号欢迎赐稿

稿件涉及数学、物理、算法、计算机、编程等相关领域,经采用我们将奉上稿酬。

投稿邮箱:math_alg@163.com

欢迎加入算与数学术交流群,请添加微信:nhyilin(备注:算数粉丝)



推荐阅读
  • 使用 Jupyter Notebook 实现 Markdown 编写与代码运行
    Jupyter Notebook 是一个开源的基于网页的应用程序,允许用户在同一文档中编写 Markdown 文本和运行多种编程语言的代码,并实时查看运行结果。 ... [详细]
  • 本文详细介绍了 Java 网站开发的相关资源和步骤,包括常用网站、开发环境和框架选择。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 从0到1搭建大数据平台
    从0到1搭建大数据平台 ... [详细]
  • 在机器学习领域,深入探讨了概率论与数理统计的基础知识,特别是这些理论在数据挖掘中的应用。文章重点分析了偏差(Bias)与方差(Variance)之间的平衡问题,强调了方差反映了不同训练模型之间的差异,例如在K折交叉验证中,不同模型之间的性能差异显著。此外,还讨论了如何通过优化模型选择和参数调整来有效控制这一平衡,以提高模型的泛化能力。 ... [详细]
  • Python与R语言在功能和应用场景上各有优势。尽管R语言在统计分析和数据可视化方面具有更强的专业性,但Python作为一种通用编程语言,适用于更广泛的领域,包括Web开发、自动化脚本和机器学习等。对于初学者而言,Python的学习曲线更为平缓,上手更加容易。此外,Python拥有庞大的社区支持和丰富的第三方库,使其在实际应用中更具灵活性和扩展性。 ... [详细]
  • 当前,众多初创企业对全栈工程师的需求日益增长,但市场中却存在大量所谓的“伪全栈工程师”,尤其是那些仅掌握了Node.js技能的前端开发人员。本文旨在深入探讨全栈工程师在现代技术生态中的真实角色与价值,澄清对这一角色的误解,并强调真正的全栈工程师应具备全面的技术栈和综合解决问题的能力。 ... [详细]
  • 分享两个GitHub链接,今天看到的,超赞超赞不能更赞了,答应我一定要去看好吗~~~~不论是笔记还是github中分享的其它资源ÿ ... [详细]
  • 浅析python实现布隆过滤器及Redis中的缓存穿透原理_python
    本文带你了解了位图的实现,布隆过滤器的原理及Python中的使用,以及布隆过滤器如何应对Redis中的缓存穿透,相信你对布隆过滤 ... [详细]
  • 本文介绍如何使用OpenCV和线性支持向量机(SVM)模型来开发一个简单的人脸识别系统,特别关注在只有一个用户数据集时的处理方法。 ... [详细]
  • 投融资周报 | Circle 达成 4 亿美元融资协议,唯一艺术平台 A 轮融资超千万美元 ... [详细]
  • 在《Python编程基础》课程中,我们将深入探讨Python中的循环结构。通过详细解析for循环和while循环的语法与应用场景,帮助初学者掌握循环控制语句的核心概念和实际应用技巧。此外,还将介绍如何利用循环结构解决复杂问题,提高编程效率和代码可读性。 ... [详细]
  • 基于OpenCV的图像拼接技术实践与示例代码解析
    图像拼接技术在全景摄影中具有广泛应用,如手机全景拍摄功能,通过将多张照片根据其关联信息合成为一张完整图像。本文详细探讨了使用Python和OpenCV库实现图像拼接的具体方法,并提供了示例代码解析,帮助读者深入理解该技术的实现过程。 ... [详细]
  • 在Python编程中,掌握高级技巧对于提升代码效率和可读性至关重要。本文重点探讨了生成器和迭代器的应用,这两种工具不仅能够优化内存使用,还能简化复杂数据处理流程。生成器通过按需生成数据,避免了大量数据加载对内存的占用,而迭代器则提供了一种优雅的方式来遍历集合对象。此外,文章还深入解析了这些高级特性的实际应用场景,帮助读者更好地理解和运用这些技术。 ... [详细]
  • 谷歌工程师:TensorFlow已重获新生;网友:我还是用PyTorch
    乾明发自凹非寺量子位报道|公众号QbitAI道友留步!TensorFlow已重获新生。在“PyTorch真香”的潮流中,有人站出来为TensorFlow说话了。这次来自谷歌的工程师 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有