大数据文摘出品
来源:towardsdatascience
编译:zeroInfinity、白浩然、笪洁琼
刚刚加入数据科学的你,是否也有这样的疑问:
- 如何成为数据科学家?
- 成为数据科学家的规划路线是什么?
- 我应该选什么课程来学习数据科学?
对于未知的学科,琳琅满目的学习资源,美好的工作机会,应该怎样去努力?本文作者是研究数据挖掘和生物医学方向,目前就职于泰国的一所研究大学的全职生物信息学副教授。他在22岁时开始自学数据科学,目前已经自学成才,文摘菌编译了这篇文章,希望能把以下需要注意的10件事告诉刚入门的你。
我从2004年开始数据科学之旅。那个时候‘数据科学’概念才刚被提出,当时广泛使用的术语是‘数据挖掘’。一直到2012年‘数据科学’这个概念才引起人们注意,且一篇由Thomas Davenport 和 D.J. Patil撰写的哈弗商业评论文章《数据科学:21世纪最迷人的工作》而流行起来。
什么是数据科学
简而言之,数据科学是一门实质上用数据来解决问题,并且能够给公司和团体带来影响力,价值和洞察力的科学,应用在广泛的学术领域和行业中,包括但不限于教育,经济,健康,地质,零售,旅游和电子竞技。
数据科学的技术内容包括了数据收集,数据预处理,数据深度分析,数据可视化,统计分析,机器学习,编程和软件工程。除了这些技术要求,数据科学家还需要具有各种软技能。下面信息图所示概括了数据科学家必备的一些技能。
1. 你的数据科学旅程是独一无二的
你的数据科学旅程是比较独特的,不要去和别人比进度,要知道每个人都是独一无二的将会走出不一样的旅程。专注于你自己的道路。或许会有挫折使你耽搁,但不要让这些障碍阻止你达成目标。晚到一点也比从未到达要好。
保持着“冒充者综合症(自我否定的倾向)”,并将这种不安全感当作帮助你,完成所有数据科学旅程的导览图。尤其是将引导你走上自我完善的路径,制定你自己的要学和做的事情清单。标识出你还不知道的数据科学的概念和技巧,记下你接下来想要了解的内容。然后从这个概念/技能清单中,专注于每天只学习一样新东西。等经过一年的课程学习,你将会惊讶的发现复合效应下你竟然掌握了这么多新的概念和技术。
2. 怎样学习数据科学
我们怎样学习?一般的学习方式被分为3种主要类型:
- 看书
- 听课
- 刷题
知识无处不在,学习的来源也多种多样。例如,你可以从书本,博客,视频,博客,有声读物,演讲,教学中学习,当然最重要的是在实践中学习。
学习数据科学最好的方式是实践数据科学。
— Chanin Nantasenamat (AKA Data Professor) |
当您学新的概念或技能时(指通过看和听),你可以立即通过应用新学到的知识到你的数据科学课题中(即做和实践)来巩固所学。通过不断的时间,你将逐渐加强和训练你所学到的概念和技能。并且随着时间积累,就能很好的掌握他们。
此外,为了进一步加深对知识和技能的理解,你也可转为指导他人(即,撰写教程博客,制作视频教程以及转教他人)。通过转教,你可以充分利用上述所提到的三种学习方式,从而最大程度的发挥你的学习潜力。还值得一提的是教导别人可以帮助你牢记新的概念和技能,并将它们变成属于你自己的,从而有助于重新组织思想和加深理解。
3. 学习如何学习
关于如何学习的冰山一角。实际上,Barbara Oakley博士和Terrence Sejnowski博士在Coursera上有一个在线课程,名为“学习方法”,这是一门很棒的课程,它将教您一些学习技巧,以帮助您更有效地学习。
Evernote的另一篇精彩读物是Medium的一篇文章,为“从费曼技巧中学习”,其中总结了诺贝尔奖获得者和物理学家理查德·费曼所设计的学习技巧。此外,youtube视频上的25个最佳科学研究技巧,提供了不少有效学习技巧的可行建议,您也可以在学习数据科学时使用这些技巧。
此外,斯科特·杨(ScottYoung)写了一本很棒的关于超级学习(Ultralearning)的书,其中他分享了在短短1年的时间里学完麻省理工学院四年制计算机科学课程的自我教育经验。此外,乔什·考夫曼(Josh Kaufman)在他发布的TED演讲,和《最初的20小时》一书中声称,我们可以在短短20个小时内学到任何想要的东西。
掌握学习的技巧,可以能更有效地学习和研究数据科学,从而使学习体验更加愉快。
学习数据科学的策略:
去年底,我在youtube上发布了视频“2020年学习数据科学策略”,其中分享了一些实用的技巧和窍门能够帮助您开始进行数据科学之旅。
主页:http://bit.ly/dataprofessor/
您可能还需要查看视频“如何成为数据科学家(学习路径和技能要求)”,在这里我带您参观数据科学的整体情况,并介绍所有数据科学家都应该知道的8个重要技能。笔记在
https://github.com/dataprofessor/
4. 数据科学的学习资源(包含付费和免费)
如今网上有非常多的数据科学的学习资源。实际上,有太多的选择也会使人眼花缭乱。我将可用的学习资源分为两类:付费的和免费的。
列出其中一些有偿和免费学习的资源列表。付费学习资源:
- 365 Data Science https://365datascience.com/
- DataCamp https://bit.ly/dataprofessor-datacamp
- DataQuest https://www.dataquest.io/
- O’Reilly Online Learning (月费49美元,年费499美元)
优达学城(数据科学课程)上有数百个课程,以下是还不错的。
- 机器学习系列:在数据科学中使用Python&R:https://www.udemy.com/course/machinelearning/
- 数据科学与机器学习的python训练营:https://www.udemy.com/course/python-for-data-science-and-machine-learning-bootcamp/
- 2020年数据科学课程:数据科学训练营:https://www.udemy.com/course/the-data-science-course-complete-data-science-bootcamp/
- 数据科学:数据科学实战:https://www.udemy.com/course/datascience/
免费或部分付费学习资源,edX — 除了CS50,其它都是付费的。
- CS50(免费/认证费用90美元):https://www.edx.org/course/cs50s-introduction-to-computer-science
- 数据科学专业认证(Harvard University):https://www.edx.org/professional-certificate/harvardx-data-science
- 微学位:统计与数据科学项目(MIT):https://www.edx.org/micromasters/mitx-statistics-and-data-science
- 微学位:数据科学项目(UC San Diego):https://www.edx.org/micromasters/uc-san-diegox-data-science
- IBM的数据科学专业认证(IBM):https://www.edx.org/professional-certificate/ibm-data-science
- 微学位:使用基础方法与工具分析:https://www.edx.org/micromasters/gtx-analytics-essential-tools-and-methods
- 分析科学在线硕士(Georgia Tech University):https://www.edx.org/masters/online-master-science-analytics-georgia-tech
Coursera :旁听免费,认证证书付费
- 机器学习 (Andrew Ng / 斯坦福大学):https://www.coursera.org/learn/machine-learning
- 专业数据科学(10门课/JHU):https://www.coursera.org/specializations/jhu-data-science
- 数据科学实战(5门课/JHU):https://www.coursera.org/specializations/executive-data-science
- 专业数据挖掘(6门课/伊利诺伊大学):https://www.coursera.org/specializations/data-mining
- 数据科学硕士(8门课/伊利诺伊大学圣巴巴拉分校):https://www.coursera.org/degrees/master-of-computer-science-illinois/data-science
- 数据科学应用硕士(密歇根大学):https://www.coursera.org/degrees/master-of-applied-data-science-umich
Udacity:一些被选出的导论课程免费,优达数据科学院和人工智能学院的纳米学位课程付费。
- 数据科学导论(免费):https://www.udacity.com/course/intro-to-data-science--ud359
- 数据分析导论 (免费):https://www.udacity.com/course/intro-to-data-analysis--ud170
- 数据可视化分析(免费):https://www.udacity.com/course/data-analysis-and-visualization--ud404
- 使用SQL做数据分析 (免费):https://www.udacity.com/course/sql-for-data-analysis--ud198
- 统计推理入门 (免费):https://www.udacity.com/course/intro-to-inferential-statistics--ud201
- 数据科学家微学位 (付费):https://www.udacity.com/course/data-scientist-nanodegree--nd025
- 数据科学微学位(付费):https://www.udacity.com/course/data-analyst-nanodegree--nd002
- 数据可视化微学位(付费):https://www.udacity.com/course/data-visualization-nanodegree--nd197
- 数据工程师微学位(付费):https://www.udacity.com/course/data-engineer-nanodegree--nd027
- 机器学习工程师微学位(付费):https://www.udacity.com/course/machine-learning-engineer-nanodegree--nd009t
完全免费学习资源,Kaggle 14节微课程包括:https://www.kaggle.com/learn/overview
- Python:https://www.kaggle.com/learn/python
- 机器学习导论:https://www.kaggle.com/learn/intro-to-machine-learning
- 机器学习(中级):https://www.kaggle.com/learn/intermediate-machine-learning
- 数据可视化:https://www.kaggle.com/learn/data-visualization
- Pandas:https://www.kaggle.com/learn/pandas
- 特征工程:https://www.kaggle.com/learn/feature-engineering
- 深度学习:https://www.kaggle.com/learn/deep-learning
- SQL导论:https://www.kaggle.com/learn/intro-to-sql
- SQL提高版:https://www.kaggle.com/learn/advanced-sql
- 空间分析:https://www.kaggle.com/learn/geospatial-analysis
- 微竞赛:https://www.kaggle.com/learn/microchallenges
- 机器学习(拓展):https://www.kaggle.com/learn/machine-learning-explainability
- 自然语言处理:https://www.kaggle.com/learn/natural-language-processing
- 游戏AI与增强学习导论:https://www.kaggle.com/learn/intro-to-game-ai-and-reinforcement-learning
youtube:有好几个精彩的频道涵盖了数据科学中几个重要的话题。
- Data Professor:https://www.youtube.com/dataprofessor?sub_confirmation=1
- Ken Jee:https://www.youtube.com/c/kenjee1?sub_confirmation=1
- Krish Naik:https://www.youtube.com/user/krishnaik06
- Codebasics:https://www.youtube.com/channel/UCh9nVJoWXmFb7sLApWGcLPQ
- 3Blue1Brown:https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAw
- StatQuest with Josh Starmer:https://www.youtube.com/user/joshstarmer
- Sentdex:https://www.youtube.com/user/sentdex
- Data School:https://www.youtube.com/user/dataschool
- Python Programmer:https://www.youtube.com/user/consumerchampion
- Lex Fridman:https://www.youtube.com/user/lexfridman
- Abhishek Thakur:https://www.youtube.com/user/abhisheksvnit
- Two Minute Papers:https://www.youtube.com/user/keeroyz
- Andreas Kretz:https://www.youtube.com/channel/UCY8mzqqGwl5_bTpBY9qLMAA
- Cory Schafer:https://www.youtube.com/user/schafer5
- Siraj Raval
- Story by Data (Kate Strachnyi):https://www.youtube.com/channel/UCU9GTVEPqlSNRDHypVf3BRw
- RichardOnData
- Joma Tech (Data Science Playlist):https://www.youtube.com/channel/UCV0qA-eDDICsRR9rPcnG7tw
- 365 Data Science:https://www.youtube.com/channel/UCEBpSZhI1X8WaP-kY_2LLcg
- Data Science Dojo:https://www.youtube.com/user/DataScienceDojo
- Data Camp:https://www.youtube.com/channel/UC79Gv3mYp6zKiSwYemEik9A
- Import Data:https://www.youtube.com/channel/UCYDacpfRrCX6_8oDDlzTgFw
- Data Science Jay:https://www.youtube.com/channel/UCcQx1UnmorvmSEZef4X7-6g
- David Langer:https://www.youtube.com/channel/UCRhUp6SYaJ7zme4Bjwt28DQ
- Daniel Bourke:https://www.youtube.com/channel/UCr8O8l5cCX85Oem1d18EezQ
5. 为什么是数据科学
对于想要学习数据科学的你,需要花一些时间思考和探索以下问题。
(1) 为什么我想要学习数据科学?
最重要的问题:为什么想要学习数据科学?通过这个问题你可以更好的了解数据科学中需要重点关注的点,以免迷失方向掉入陷阱。
(2) 如何在项目中应用数据科学
确定在你的项目中如何应用数据科学很重要。您要回答的一些问题包括:
- 您将进行深度数据分析吗?
- 您是否将开发回归/分类/聚类模型?
- 您会要开发聊天机器人吗
- 您是否要开发推荐系统。
(3) 通过使用数据科学,能给工作带来什么价值
正如斯蒂芬·科维(Stephen Covey)在“高效人才的七个习惯”中所说的那样,“从思想的源泉开始”。
因此花一点时间考虑一下您希望通过数据科学达到的理想目的地。牢记明确的目标,你会为实现目标的决心而感到惊讶。
6. 保持你的责任心和生产力
首先,对自己的学习进度负责,并保持学习进度。我一直在Ken Jee建立的数据科学家在线社区中进行讨论。这个在线社区中设有一个讨论板,成员可以在该板上公开发布一周或一个月的目标,这样做有助于我们保持初心。
下面是一些提高生产力的基本建议:
- 每天利用专门的时间(最好是每天1-2小时或至少45分钟)来学习和练习数据科学。
- 避免分心(关闭手机,避免查看社交媒体等)。如果你没法阻止分心,那就离开令你分心的环境。这意味着你应该去到一个可以集中注意力的安静的地方。
- 不要拖延,不要过度思考,just do it!
因为归根结底,如果你没有取得进展,就意味着你没有学到东西,更无法实现之前目标,走向事业的巅峰。
7. 拥抱失败并学会找代码的Bug
拥抱失败。你必须学会适应不舒服的地方。简而言之,天下没有免费的午餐,一分耕耘一分收获。不要拘泥于之前的失败,而是要重新站起来并继续尝试。
卡在学习的中途,不了解某个算法,不知道如何在代码中找bug,这些都是完全OK的。你可以先休息一下,然后再重新尝试解决问题。有时候,你的思维会因为一时的阻塞而变得迟钝,因此,稍作休息可能有助于让思维焕发活力。
如果你有一个精通代码的朋友,那么当你卡在某个代码中的bug上的时候,就去问问他。如果没有,请直接搜索“Stack Overflow”(如果上面有类似问题的答案)。如果没有,那就自己在上面提问!
学会享受debug代码的过程,把它当作一个学习的机会,因为你可以从失败和错误中获得宝贵的经验和教训。如果没有失败,就没有学习的过程。但当你失败时,不要对自己太过苛责,要学会重头再来,重新开始。你要对失败保持足够的耐心。
8. 不要担心,一切都要从头学起
作为新手,数据科学领域里面的新奇术语可能会让你感到震惊,但不要害怕,记住数据科学和机器学习是一个动态,不断发展的领域,因此新的技术总是在不断被引入的。简而言之,不断改变才是唯一不变的东西。
如上所述,不要被吓倒然后全部推倒重来。无论你从哪里开始,都没有关系,最重要的是你真正开始了你的数据科学之旅。
(1) 注重基本功
- 数据处理(Python – pandas,R - dplyr)。
- 学习统计手段,以便可以将其应用到模型中,例如,应用适当的统计学知识来比较模型的好坏(参数与非参数)。
- 使用数据分析和描述性统计的手段,以获取数据大致概况。
- 从建立简单且可解释的机器学习模型(线性回归,基于树的方法)开始。
- 使用你比较熟悉的机器学习方法(了解其背后的数学原理)。
(2) 专注于项目本身而不是技术
不要过度思考。要战胜“不知道选哪门编程语言比较好”的困境,择其一然后继续前进。
要知道,编程只是一种工具,它是来帮助你推进将项目的构想并进行部署的。
编程的基本概念与编程语言无关,这意味着编程思想的核心基础适用于各种语言:
- 定义变量,数组,数据框等
- 流程的控制(比如for循环,if和else语句)
数据科学中具体的任务
- 数据预处理
- 数据可视化
- 模型搭建
- 模型部署
9. 让你的模型易被复现
让你的模型容易被复现有以下好处:
- 别人可以帮你:当你遇到代码bug的时候,制作一个最小的工作示例(MWE)是很重要的,以便其他人能够复现你的出错情况,从而为你提供帮助。
- 为将来的你自己和他人节省时间:将项目导出为Docker容器以及Python和Conda的环境。因为你的编码环境中安装的基础库的版本在不断变化,今天可行的方法可能会在六个月之后就运行不了。因此,使用虚拟环境,Docker容器或至少导出库版本(如下所示的pip和conda命令)是十分重要的。
使用pip进行环境的导出:
- pip freeze > requirements.txt
使用conda进行环境的导出:
- conda env export > environment.yml
10. 成功从内心开始
本节探讨这样一个想法,数据科学之旅的成功与否来自于你的内心。这包含了为即将发生的事情做好准备的想法。这些概念包括:好奇心,热爱过程,成长心态和勇气。
(1) 好奇心
好奇心可以被认为是成为数据科学家的核心和必要技能之一,因为它使我们在寻求解决问题的创新方式时保持积极性和毅力。爱因斯坦这样比较好奇心和知识。
“好奇心比知识更重要。”―Albert Einstein
“…少考虑数据科学将如何支持和执行你的计划,多考虑如何创造环境,以使你的数据科学家有能力提出你做梦都想象不到的事情。”―Eric Colson
(2) 热爱过程
学习数据科学不是一件容易的事,但也不是不可能的壮举。
在谈论热爱过程时,会想到三个名字:迈克尔·乔丹(Michael Jordan),加里·维纳丘克(Gary Vaynerchuk)和克莱蒙·米海莱斯库(Clément Mihailescu)。这三个人可以被认为是他们所从事的领域中做的最好的,因为他们对工作的热情是无比强烈的。
在签署他的第一份职业篮球合同时,迈克尔·乔丹(Michael Jordan)确保:“对比赛的热爱”,条款被包含在合同当中,该条款使乔丹可以不受限制地随时随地打篮球。
正如Gary Vaynerchuk(VaynerX主席,VaynerMedia首席执行官,《纽约时报》5次畅销书作者)在youtube视频中所说,当被问及是否可以通过委派大部分工作给别人以减少自己的工作时间时,他说。
“我热爱工作的过程,我喜欢钻研,我喜欢攀登。如果我无法为我想要的事情而努力工作,我会感到窒息。”―Gary Vaynerchuk
Clément Mihailescu(AlgoExpert首席执行官,前Facebook软件工程师兼技术youtuber)在youtube视频中讲述了自己如何做到永不倦怠。
“说到头来,你必须享受过程。无论你在做什么,无论你在追求什么,都必须享受每天的生活,必须喜欢坚韧不拔的东西。你必须像呼吸一样和他们共存。”―Clément Mihailescu
(3) 成长的心态与勇气
基于数年的研究,Character Lab的创始人兼首席执行官,宾夕法尼亚大学心理学教授Angela Duckworth在她最畅销的著作《勇气:激情和毅力的力量》中,将“勇气”一词定义为激情和毅力的结合。特别是她对毅力的定义:
“毅力是保持对长期目标的兴趣和努力的趋势。”
―Angela Duckworth |
Carol Dweck在她的《心态:改变思维方式来实现潜能》中描述了她对指导我们生活的两种主要心态的研究:(1)成长心态和(2)固定心态。前者与成功相关,而后者通常会导致自我怀疑和不满意的生活。在她的TED演讲中,Dweck提出了在舒适区域外工作的重要性,这是提高绩效的关键。
在数据科学中,变革是不可避免的,因为总会有新的具有挑战的概念被引入,这些概念可能会覆盖或重新定义先前的概念。我们将始终从内心出发,面对复杂的挑战,以应对这些变化,正确的心态可以帮助你迈向成功之路。
彩蛋:
11. 承担全部责任
我们通常很容易找到借口,把无数的事情归咎于生活中的不幸。正如Gary Vaynerchuk总是会说的那样,当我们这样做时,“我们的责任是零”。
学习数据科学与我们一生中所做的其他努力没有什么不同。真正的问题是,我们应该为自己在学习过程中遇到的拖延或障碍负责,还是我们不用承担全部责任并将责任推卸到其他地方?
“对发生在你身上的事情承担全部责任,这是人类成熟度的最高形式之一。承担全部责任的那一天就是你认识到自己从童年到成年的那一天。”
―Jim Rohn |
现在,花点时间反思一下。让我们开始承担责任并承担全部责任,你会惊讶于你在数据科学之旅中可以取得的成就。只有我们能够客观地对自己的行动和缺乏进步承担全部责任,我们才有能力对这些错误采取行动。我给你留下Jim Rohn的这句话。
成功不是你追求的东西,成功是你成为的东西。
―Jim Rohn |
这就是如果我能回到过去,并告诉22岁的自己关于学习数据科学的十件事。
我希望这些对你开始数据科学之旅会很有用,或者如果你已经开始,那么希望你能从中找到有用的东西。学习数据科学的最佳方法是练习数据科学。
祝你旅途愉快!
相关报道:
https://towardsdatascience.com/10-things-i-wish-i-knew-about-learning-data-science-7a30bfb91759
【本文是51CTO专栏机构大数据文摘的原创译文,微信公众号“大数据文摘( id: BigDataDigest)”】