注: 在PPV课微信公众号回复“数据科学计划”获取PDF全文,内附学习资料网址推荐,让学习直达源头,不用找度娘更省心!
本文为2017年最全的数据科学学习计划(1)续篇,欢迎小伙们收藏转发学习。
3.5构建个人资料
建议时间:8周(2017年9月-2017年10月)
主题内容:
3.5.1使用GitHub
3.5.2竞赛练习
3.5.3论坛
3.5.1使用GitHub
对于数据科学家来说,有一个GitHub配置文件来管理他/她所做过的项目的所有代码是非常重要的。这样将来你的雇主就可以看到你做了哪些项目,你是如何编码的,以及了解你做数据科学做了多久。
此外,GitHub上的代码为开源项目开辟了道路,可以大大增强你的学习。如果你不知道如何使用Git,你可以看Udacity上的课程“GitandGitHub”。这是学习终端管理库的最好和容易的课程之一。
3.5.2竞赛练习(强制性)
一次又一次,我一直在强调实践胜于理论这个事实。黑客马拉松的编程让你离开发数据产品来解决实际问题更近一步。以下是最受欢迎的参与数据科学/机器学习比赛的平台。
AnalyticsVidhyaDatahack
Kagglecompetitions
CrowdAnalytixhumanlayer
3.5.3论坛(可选)
在论坛中,你坚持为某一个问题不断寻找,坚持给对方解答,这也是一种很好的学习方式。下面是一些讨论丰富的平台,你应该保留一个以解决你的疑惑。
AnalyticsVidhyaDiscussionPortal
KaggleDiscussion
StackExchange
3.6寻找工作或实习
建议时间:8周(2017年11月-2017年12月)
主题涵盖:工作/实习
如果你非常勤奋,完成了上述学习内容,那么你可以准备寻求数据科学/分析或机器学习公司的工作/实习职位了。但是,找到合适的工作相当困难。所以为了减少不必要的麻烦,我列出数据科学/机器学习工作和实习的一些招聘网站。
AnalyticsVidhyaJobPortal
Datajobs
KaggleJobportal
Internshala
准备这些面试之前,你还可以看看这篇指南《DamnGoodHiringPathtogetyourselfhiredasaDataScientist》
4.2017年转行者的学习之路
首先,这里有一个坏消息:转行到数据科学是一件非常不容易的事情。并且如果你先前的工作经验越多,就越难转行。有时候你会问自己,是否真的适合从事这个行业,这时你需要有坚定的决心。
接下来,还有一个好消息:数据科学行业的薪酬是值得你付出的,你不需要担心你的收入,即使在转行期间。
想到达到自己的目标,你要做的就是勤奋地根据这个学习路线图来学习。这个学习路线图已经涵盖了让你进入数据科学行业的所有技能与技术。
转行者的终极道路
简单来说,如果你想要一年内完成过度,你将需要学习我们为上面的初学者安排的所有任务。此外,你还要花更多的时间来展示你的技能。用你的项目和工作来说服你的雇主。
我相信你开始明白为什么转行不是一件容易的事情。
2017年转行者的学习步骤:
路径的结构是类似的,但你需要加速计划的上半部分的学习。首先阅读文章《PlanningalatecareershifttoAnalytics/Bigdata?Betterbeprepared!》,并通过几个成功案例来了解过渡将需要什么。一旦你开始准备,根据这些时间表遵循计划。
步骤1:尝试并开始接触数据科学(1月17日)
步骤2:数学与统计(17年1月-17年3月)
步骤3:介绍该工具-R/Python(17年3月17日-4月17日)
步骤4:基本和高级机器学习工具(5月17日-7月17日)
步骤5:建立您的个人资料(17年8月-17年10月)
步骤6:申请工作(17年11月-17年12月)
5.2017年中级数据人员的学习之路
如果你可以构建预测模型,但不需要了解深度学习和数据领域的最新发展,一下的学习路线图可以帮到你。根据你的技能和一年的学习计划,你可以选择你想要学习的领域。
2017年中级数据人员的学习步骤:
步骤1:评估您的技术和结构化思维
步骤2:更多的ML算法
步骤3:掌握一种数据可视化工具
第4步:大数据工具和技术
第5步:基本和高级的深度学习
步骤6:增强学习
步骤7:Web框架和云计算
5.1:评估您的技术和结构化思维技能-2017年1月
创建学习计划的第一步是对自己的各种技能(包括技术和结构化思维)进行基准测试。你可以通过AnalyticsVidhya的技能测试来判断您是否需要复习。如果你做得好,继续获取新的技能。否则,要花更多的时间回过头看看前面的知识。
如果你觉得需要复习,请参考包含各种有用资源的初学者的路径。
技能测试:
Statistics1(https://www.analyticsvidhya.com/blog/2016/08/solutions-for-skilltest-in-statistics-revealed/)&Statistics2(https://www.analyticsvidhya.com/blog/2016/09/skilltest-statistics-ii-solutions/)
RforDataScience(https://www.analyticsvidhya.com/blog/2016/08/full-solution-skill-test-on-r-for-data-science/)
PythonforDataScience(https://www.analyticsvidhya.com/blog/2016/09/solutions-data-science-in-python-skilltest/)
MachineLearning(https://www.analyticsvidhya.com/blog/2016/11/solution-for-skilltest-machine-learning-revealed/)
Regression(https://www.analyticsvidhya.com/blog/2016/12/45-questions-to-test-a-data-scientist-on-regression-skill-test-regression-solution/)
Tree-basedalgorithms(https://www.analyticsvidhya.com/blog/2016/12/detailed-solutions-for-skilltest-tree-based-algorithms/)
SQL(https://www.analyticsvidhya.com/blog/2017/01/46-questions-on-sql-to-test-a-data-science-professional-skilltest-solution/)
结构化思维
文章(强制性):这些文章将指导你构建结构化思维,以有效地解决业务问题。
《Howtotrainyourmindforanalyticalthinking?》
《Toolsforimprovingstructuredthinking》
《Theartofstructuredthinkingandanalyzing》
竞赛(强制性):检查你的战略思维问题,测试你的结构化思维。此外,多注意对商业案例的研究,因为它们有助于构建你的思维过程。
5.2:更多的ML算法-2017年2月
有一些特定的机器学习算法,在解决具体问题时可以派上用场。例如,尝试通过应用在线学习算法解决大型数据集的在线点击预测。这里有一些本月学习的高级ML算法:
在线机器学习
课程:《OnlineMethodsInMachineLearningbyMIT》
书籍:《UnderstandingMachineLearning:FromTheorytoAlgorithms》
《OnlineLearningandOnlineConvexOptimization》
博客:《Langford’shunch.net》
VowpalWabbit
课程:《BythecreatorofVowpalWabbit–JohnLangford》
FERL算法
课程:《OnlineLearningbyUniversityofWashington》
论文:《Google’sadclickprediction》
实践:自行练习一下Kaggle竞赛的题目或者练习Criteo提供的数据集。
5.3:学习数据可视化工具(2017年3月)
理想情况下,应该选择D3.js、QlikView和Tableau之一。D3.js的灵活性最好,QlikView和Tableau创建仪表盘非常方便,都不会很复杂。
主题内容:
使用d3.js的交互式可视化(3周)
在QlikView中创建数据可视化(1周)
在Tableau中创建数据可视化(1周)
使用d3.js的交互式可视化
d3.js在数据科学界并不是很流行,主要是因为它需要一些不是数据科学家所掌握的技能,如HTML,CSS,Javascript。
但是d3.js可以在不同的程度上展现数据结果。可以创建一个嵌入在浏览器中的非静态交互式图形,来获得更丰富的体验。以下是掌握d3.js的资源列表:
课程:《DataVisualizationandd3.js》这是由Udacity的专家Zipfian和Facebook的数据分析师Nanodegree一起讲的一个很好的课程。
书籍:《InteractiveDataVisualizationfortheWeb》斯科特·默里的一本非常出色的书,可作为参考资料。有一个可以免费使用的网络版本。
代码的资源:《Dashingd3.js》这是一个面向代码的教程,将帮助您创建交互式可视化。我目前也正在使用这个教程学习d3.js。
博客/文章:《Completepathfrombeinganoobietoanexpertatd3.js》-这是我开始学习d3.js的第一篇文章。它包含一个资源列表以及一些基本图形元素的代码。
使用QlikView创建数据可视化
《Qlikview–LearningPathfromastartertoaQlikViewExpert!》-这是一篇很详细的文章,其中包含掌握QlikView所需的材料和资源。
在Tableau中创建数据可视化
课程(强制性):《DataVisualizationandCommunicationinTableau–Coursera》-这是杜克大学提供的一个很好的课程,帮助人们学习使用Tableau。
博客/文章(强制性):《YourguidetobecomeaTableauexpert》这是一个成为Tableau专家的综合学习途径。文章结构严谨,非常详细。建议收藏。
书籍:《CommunicatingDatawithTableau》这是一本出色的书,可供您快速参考。
5.4:大数据工具和技术(2017年4月)
大数据
课程(强制性):《IntroductiontoBigDatabyUniversityofCalifornia,SanDiego》
书籍(可选):《BigData:UsingSmartBigData,AnalyticsandMetricstomakebetterdecisionsandimprovePerformance》
其他有用的工具:
H2O
SparkR&PySpark
ApacheSpark
课程:《BigDataanalysiswithApacheSpark》
书籍:《LearningSpark–LighteningfastBigDataAnalysis》
5.5:基础与高级深度学习(2017年5月-2017年8月)
深度学习基础(2017年5月-2017年6月)
课程(强制性):《MachineLearningbyAndrewNg》没有比本课的第4周和第5周课程介绍深度学习和神经网络更好的材料了。
《DeeplearningbyGoogle|Udacity》-这是从机器学习转到深度学习以及深度神经网络,卷积神经网络和文本深度学习,一门很好的基础课程。
阅读材料/书籍:《DeeplearningTextbook》-本书由IanGoodfellow,YoshuaBengio和AaronCourville等人撰写,是学习深度学习的一本好书。
《StanfordDeepLearningtutorial》-这里所有文本和图像资源都由斯坦福大学提供,让你轻松地从线性回归进入卷积神经网络的学习。
实践:“IdentifytheDigits”一个检查你学习识别手写数字的比赛。
高级深度学习(2017年6月-2017年8月)
课程(强制性):《DeepLearningbyOxford》
《DeeplearningsummerschoolatMontreal2016》-这是一个许多深度学习领域专家共同发言的演讲。
专业材料
深度学习计算机视觉
引文:“DLforComputerVision”
项目:“FacialKeypointDetection”
所需库:Nolearn
相关课程:“CS231n:ConvolutionalNeuralNetworksforVisualRecognition”
自然语言处理的深度学习
入门:“DeepLearning,NLP,andRepresentations”
项目:“Chatbots深度学习”:“第1部分”,“第2部分”
所需库:Tensorflow
相关课程:“CS224d:DeepLearningforNaturalLanguageProcessing”
语音/音频深度学习
入门:“DeepSpeech:LessonsfromDeepLearning”新闻文章和相应的视频。
项目:“MusicGenerationusingMagenta(Tensorflow)”
所需库:Magenta
相关课程:“DeepLearning(Spring2016),CILVRLab@NYU”
5.6:增强学习(2017年9月-2017年10月)
主题涵盖:增强学习(理论)
课程:《CourseonReinforcementLearningbyDavidSilverUCL》理论。
《Udacity–MachinelearningReinforcementLearning》理论加实例。
《ReinforcementLearningvideobyAndrewNG》理论。
编程:“ReinforcementLearningIntroductoryCodes”
书籍:《ReinforcementLearningbyMITpress》这是MIT的教授写的关于增强学习的一本很好的参考书。
竞赛:“AnawesomewebsiteforreinforcementLearningCompetitions”
“Kaggle’sfirstreinforcementstylelearningcompetition-Twosigma”
5.7:Web框架和云计算(2017年11月-2017年12月)
Web框架
现在你对机器学习有了一定的了解,你可能想要把机器学习应用到网络产品上。那么你需要学习的是一个关于Web框架的工作知识。Web框架可以快速构建和制作基于Web的产品,同时避免编程的复杂性。
鉴于你已经掌握了Python,您可以选择任何基于Python的Web框架。我推荐Flask,比较简单。Flask是一个简单和轻量的Web框架,应该能很好地满足你的需求。如果你想要一个复杂的网络产品,还可以考虑Django。
关于Flask的学习资源:
Flask官方文档
Flask大型教程
PythonWeb应用程序使用Flask
练习:你应该做一个项目来练习你的机器学习技能和Web开发技能。您可以构建一个简单的Web应用程序,用户可以上传图片并找到汽车的制造商和型号。