导读
希望这篇学习路线图对你学习数据科学有帮助,需要说明的是国内本文中所说的数据科学家在国内一般称为数据分析师或者数据挖掘师,尽管称谓不同,但文章的路线图仍可作为学习指南供需要的同学参考。
如果你对英文不是很擅长,也可以到PPV课大数据学习社区获取相关的中文课程和学习指南。关于如何成为一名数据科学家,如果你有自己的学习路线图,希望你能乐意与我分享。
好了,现在就开启你的洪荒之力,和我们一起踏上数据科学的神奇之旅吧!
为什么要写这篇学习路线呢?
在AnalyticsVidhya上的众多资源中,学习路线图类的文章是比较特别的。写一篇完整的学习路线图所要付出的精力和努力是大家难以想象的,但是这对读者产生的影响是巨大的。所以我决定为广大的读者写下这篇2017年的学习计划。
我们曾制定过2016年的学习计划,还有如何从软件工程转行到数据科学的文章。这一次,我们将制定一个更为详细更全面的学习计划,让读者们在今年有更多的收获,学到更多有用的数据科学知识。
这篇学习路线图适合哪些人群呢?
这篇学习路线图非常适合今年想要学习“机器学习”、“深度学习”和“数据科学”的朋友。不管你是新手、想转行还是想寻求技能的提升,这篇计划都会给大家提供了明确的学习方向。
如何使用这篇学习路线图?
在制定这篇计划时,我们已经考虑到大家普遍存在的问题。目前大家在学习时面临的最大挑战不是学习资料的匮乏,而是有太多学习资料。以至于你不知道该从哪里开始学习,不知道要练习什么,不知道要花多少时间在一个概念上,不知道从哪里获得有用的资源等。这对大多数初学者来说,反而成为了障碍,甚至使原本在学习单一技能的人们中途放弃。
这篇计划则消除了上面的疑惑,包含了理论资源和实战例子。我们还会提供测试资源,让你对自己的学习有一个评判标准。作为此计划的一部分,你还可以将所学的概念知识运用到实际问题当中并获得实际操作经验。
目录
1.开始前的一些定义
2.设置目标和时间表
3.2017年新手的学习之路
4.2017年转行者的学习之路
5.2017年中级数据人员的学习之路
6.注释
1.开始前的一些定义
你需要做的第一件事情是确定你属于哪种学习者,请参考下面的说明,并确定你属于哪个类别。
数据科学的初学者:
转行的数据科学家:
中级数据科学家:
2.为自己设置目标和时间表
我们提供以下一些指南:
数据科学初学者
转行数据科学家
中级数据科学家
3、 2017年新手的学习之路
学习框架:
3.1:尝试并开始接触数据科学
3.2:数学及统计知识
3.3:介绍分析工具——R/Python
3.4:基本和高级的机器学习工具
3.5:构建你的个人资料
3.6:寻找工作或实习
3.1 尝试并开始接触数据科学
建议时间:4周(2017年1月)
在这个阶段,最重要的是要知道你为什么想成为一名数据科学家?你的优点和缺点是什么?你知道做数据科学家需要什么吗?在进入这个领域之前必须先回答这些问题。
观看一段视频:TetianaIvanova描述了她如何在没有数据科学的硕士和博士学历下成为一名数据科学家。
下面还有一些帮助你回答上面问题的资源:
3.1.1 什么是数据科学?
DataJobs的这篇文章将告诉你Netflix和Amazon里数据科学家是如何工作的,此外它还强调了成为数据科学家需要哪些重要技能。
3.2.2.我应该成为一名数据科学家吗?
这篇文章提供了一些问题让你来判断自己是否适合成为一名数据科学家。我非常建议你看了这篇文章再继续下面的学习内容。
接下来,你应该参加一些当地的数据活动或聚会。走出去,看一下别人对数据科学或机器学习的看法。数据活动不仅能帮助你学习分析工具和技术,还能为你提供行业的人际关系网,有助于你以后找到和合适的实习或工作。
继续向前并思考以上问题,这将决定你接下来11个月的生活。
3.2:数学及统计知识
建议时间:8周(2017年2月-2017年3月)
主题内容:
描述性统计-1周
概率-2周
推理统计-2周
线性代数-1周
结构化思维-2周
描述性统计-1周
课程(强制性):《DescriptiveStatisticsfromUdacity》这门课程比较基础,学习必须从学习课程开始。
书籍(可选):学习在线课程同时补充统计类电子书,找一些学习基本统计数据的好书。
概率-2周
课程(强制性):《Introductiontoprobability-Thescienceofuncertainty》这是edX上学习概率概念(如条件概率和概率分布)的比较好的课程。
书籍(可选):《Introductiontoprobability–Berkley’sstats134standardtextbook》这是补充课程的一个很好的参考资料。
推理统计-2周
课程(强制性):《IntrotoInferentialStatisticsfromUdacity》学习了描述性统计课程后,本课程将带你了解统计建模技术和高级统计。
书籍(可选):统计类电子书 在线图书可作为推理任务的快速参考。
线性代数-1周
课程(强制性):《LinearAlgebra–KhanAcademy》这是KhanAcademy一门优秀的课程,将为你提供数据科学和机器学习所需的技能。
书籍(可选):《LinearAlgebra/Levandosky》这是一本经常被引用的书,也是斯坦福学生的教科书。
《TheMangaguidetoLinearAlgebra》这是一个有趣的线性代数书,并且将机器学习穿插到上下文中。相信你永远不会忘记这些代数知识。
结构化思维-2周
文章(强制性):这些文章将指导你如何构建思维,以更好的方式解决问题,以提高工作效率。
《Howtotrainyourmindforanalyticalthinking?》
《Toolsforimprovingstructuredthinking》
《Theartofstructuredthinkingandanalyzing》
竞赛(强制性):实践胜于理论。这是一个战略思维问题,竞赛可以测试你的思考过程。此外,要多留意商业案例研究,因为它们十分有助于构建你的想法。
3.3:介绍分析工具——R/Python
建议时间:8周(2017年4月-2017年5月)
主题内容:
工具(R/Python)-4周
数据分析和可视化(R/Python)-4周
特征选择/工程
工具
3.3.1.R
课程:《 Interactive Intro to R ProgrammingLanguage by DataCamp 》这是DataCamp一门很好的课程,教你R语言的实战知识,课程里还有很多互动环节,让你在学习R语言的过程中不会感到无聊。
图书:《RforDataScience》这是可以一站式解决R语言问题的参考资料。
博客/文章:《ACompleteTutorialtolearnDataScienceinRfromScratch》这篇文章将从安装RStudio/R开始到运用R构建模型提供指导。
“R-bloggers“这是R语言使用者最推荐的博客之一,每一个使用R的人都应该收藏起来,它会提供一些最有效实用的R教程。
3.3.2.Python
课程(强制性):《IntrotoPythonforDataScience》由DataCamp开发的一个交互式课程,教你如何用Python进行数据科学学习。
书籍(强制性):《PythonforDataAnalysis》本书涵盖数据科学的各个方面,包括加载数据,处理,清除和可视化数据。是Pandas用户的参考指南。
博客/文章(可选):《ACompleteTutorialtoLearnDataSciencewithPythonfromScratch》本文是使用Python学习数据科学的快速指南。
分析和可视化
1.R
课程:《ExploratoryDataAnalysis》这是约翰霍普金斯大学在Coursera的一个很棒的课程,有了这门课程你就不需要再看其他的相关课程了。
博客/文章:《ComprehensiveguidetoDataExplorationinR》我建议你仔细阅读,并按照文章逐步操作。因为文章中提到的步骤适用于解决任何数据问题或黑客马拉松问题。
《Cheatsheet–11StepsforDataExplorationinR(withcodes)》此文章包含数据分析的所有步骤与代码。我建议你打印出来,粘贴在墙壁上,供快速参考。
2.Python
课程(可选):《IntrotoDataAnalysis》这是Udacity在使用Numpy和Pandas进行数据分析方面一门很好的课程。
博客/文章(强制性):《ComprehensiveguidetoDataExplorationusingPythonNumPy,MatplotlibandPandas》-这是一篇介绍如何使用最流行的Python库用于数据分析和可视化的十分全面的文章。
《9popularwaystoperformDataVisualizationinPython》-本文介绍了在数据分析中最常用的图标以及Python代码。这是使用Python进行数据分析的人们非常值得收藏的文章。
书籍(可选):《PythonforDataAnalysis》-用于解决在Python中进行数据分析和可视化所遇到的问题。
特征选择/工程
博客:《AComprehensiveGuidetoDataExploration》本文将解释特征工程的基本技术和特征创建的不同方法。
书籍(可选):《MasteringFeatureEngineering》:这本书是学习特征工程的主导。不仅能从这本书中学习如何以系统的方式实现特征工程,还能学习特征工程中涉及的不同方法。
3.4:基本和高级的机器学习工具
建议时间:12周(2017年6月-2017年8月)
基本机器学习算法(2017年6月-2017年7月):
线性回归
逻辑回归
决策树
KNN(K近邻)
K均值
朴素贝叶斯
降维
高级算法(2017年8月):
随机森林
降维技术
支持向量机
梯度提升机
XGBOOST
线性回归
课程:《MachineLearningbyAndrewNg》-这是学习线性回归最好的一门课。它将让你对线性回归了解得非常透彻,并且这门课的老师AndrewNg被认为是机器学习的摇滚明星。
博客/文章:《Lesson1:SimpleLinearRegression》PennStateStat501中的此课程概述了线性回归的主要特征,课程范围从线性回归的简单定义到确定回归线的拟合优度。
《5QuestionswhichcanteachyouMultipleRegression》这是一篇用实例说明用代码解释线性回归的非常好的文章。
书籍:《TheElementsofStatisticalLearning》这本书有时被认为是机器学习和数据科学的圣杯。它从数学角度来解释机器学习的概念。
《MachineLearningwithR》(https://www.packtpub.com/big-data-and-business-intelligence/machine-learning-r)这是一本我个人用来简要了解机器学习算法及其实现代码的书。
实践:“AboutPracticeProblem:BlackFriday” 我常说:“实践胜于理论”。这里有一个回归问题,你可以尝试一下做一下,以加深理解。
逻辑回归
课程(强制性):《MachineLearning:Classification》第1周和第2周的这门实用的课程将教你如何使用Python做Logistic回归。
《MachineLearningbyAndrewNg》此课第3周的课程让你更深入地了解最广泛使用的分类算法之一。
博客/文章(可选):《LogisticRegressionbyMachineLearningMastery》这是一篇不使用代码的介绍逻辑回归方法的文章,可用以加深你的知识。我建议你看看它。
图书(可选):《IntroductiontoStatisticalLearning》-这是一本很优秀的书,其中包含Logistic回归的基本假设及统计性质和数学的联系。
实践(强制性):“AboutPracticeProblem:LoanPrediction”-这是一个极好的练习和测试你的逻辑回归技能的竞赛例子,是来预测一个人的贷款状态是否被批准。
决策树
课程(强制性):《Machine Learning:Classification》本课程第3周和第4周是关于决策树的学习,决策树用于防止过度拟合和处理缺失值。
博客/文章(强制性):《TechnicalOverviewofdecisiontrees》这是决策树的快速概述,任何新手学习都要看一看。
《Completetutorial ontreebasedmodeling》这是一个基于python的决策树教程,只需看第1-6节。
图书(强制性):《IntroductiontoStatisticalLearning》第8.1节和第8.3节通过理论和实例介绍了决策树的基础知识。
《MachineLearningwithR》本书第5章给出了目前机器学习算法的最佳解释。用通俗易懂的语言解释了什么是决策树。
KNN(K近邻)
课程(强制性):《MachineLearning–ClusteringandRetrieval》:本课程的第2周进行到从1最近邻居的k最近邻居,并且还描述了估计最近邻居的最佳方式。它使用python来解释了KNN的概念。
博客/文章(强制性):《Introductiontok-nearest neighbors:simplified》这篇基本文章介绍了什么时候可以使用KNN,什么情况下能得到k。
《LearningKNNalgorithmusingR》这篇文章是用代码来介绍KNN的全面的学习指南,可作为参考资料。
K均值
课程:《MachineLearningCourse–UnsupervisedLearningwithK-meansalgorithm》:本章的第8周讨论如何使用K-means算法来处理非结构化数据。
博客:《AnIntroductiontoClusteringanddifferentmethodsofclustering》:在本文中,您将学习什么是k-means聚类和涉及的复杂性。它将会教你如何一步一步地运用K-means算法。
朴素贝叶斯
课程:《IntrotoMachineLearning》在这个课程中,塞巴斯蒂安·苏恩用简单的英语解释了朴素贝叶斯。
博客/文章:《6EasyStepstoLearn Naïve BayesAlgorithm(withcodeinPython)》这篇文章详细介绍了朴素贝叶斯算法,你将了解朴素贝叶斯算法如何工作、如何应用等。它还将介绍运用朴素贝叶斯建立一个模型的实际操作。
《naïveBayesforMachineLearning》通过这篇文章来理解为什么朴素贝叶斯算法对机器学习很重要。
降维
课程:《MachineLearning–DimensionalityReduction》本课程的第8周将引导您了解维度降低以及主成分分析如何用于复杂数据的数据压缩。
博客/文章:《BeginnersGuideToLearnDimensionReductionTechniques》在本文中,您将了解降维在机器学习中的重要性以及降维的方法。
随机森林
视频(强制性):“HowRandomForestalgorithmworks?”-观看此视频了解随机森林算法的工作原理。
书籍(可选):《IntroductiontoStatisticalLearning》-第8节通过理论和实践例子解释随机森林(包括bagging和boosting)的基础知识。
《Appliedpredictivemodeling》-第8章。
博客/文章(强制性):《Atutoriallontreebasedmodelingfromscratch》这是一篇关于使用python的基于树的建模的优秀文章。
《RandomForests》这篇文章解释了随机森林的整个工作过程以及具体细节。
支持向量机
课程(强制性):《MachineLearningbyAndrewNg》本课的第7周课程将有趣地开启你的SVM学习。
书籍(强制性):《IntroductiontoStatisticalLearning》本书的第9章详细地介绍了SVM。
博客/文章(可选):《Understandingsupportvectormachines》这是一篇很好的用实例来了解算法的文章。
《SVMbyMachineLearningMastery》本文讨论SVM中使用的不同类型的核函数及其用法。
梯度提升机
博客/文章(强制性):《GuideonBoostingmethods》
《ParametertuningGBM》
《MachineLearningMastery-GBM》
演讲(强制性):这是一个关于GBM的精彩演讲,它讲述了GBM的特点和使用它解决实际问题的优缺点。想要了解GBM的必须要看看。
XGBOOST
博客/文章(强制性):《OfficialIntroductionXGBOOST》它是对GBM的一个改进,是现在使用最广泛的赢得比赛的算法。
《UsingXGBOOSTinR》一篇关于使用R来解决XGBOOST实际问题的优秀文章。
《XGBOOSTforappliedMachineLearning》机器学习中一篇评估XGBOOST的性能优于其他算法的文章。
未完待续……