只需十四步从零开始掌握python.doc
只需十四步从零开始掌握PYTHON机器学习(附资源)20170314机器之心选自KDNUGGETS作者MATTHEWMAYO机器之心编译参与黄小天、吴攀、晏奇、蒋思源PYTHON可以说是现在最流行的机器学习语言,而且你也能在网上找到大量的资源。你现在也在考虑从PYTHON入门机器学习吗本教程或许能帮你成功上手,从0到1掌握PYTHON机器学习,至于后面再从1到100变成机器学习专家,就要看你自己的努力了。本教程原文分为两个部分,机器之心在本文中将其进行了整合,原文可参阅HTTP//SUOIM/KUWGL和HTTP//SUOIM/96WD3。本教程的作者为KDNUGGETS副主编兼数据科学家MATTHEWMAYO。「开始」往往是最难的,尤其是当选择太多的时候,一个人往往很难下定决定做出选择。本教程的目的是帮助几乎没有PYTHON机器学习背景的新手成长为知识渊博的实践者,而且这个过程中仅需要使用免费的材料和资源即可。这个大纲的主要目标是带你了解那些数量繁多的可用资源。毫无疑问,资源确实有很多,但哪些才是最好的呢哪些是互补的呢以怎样的顺序学习这些资源才是最合适的呢首先,我假设你并不是以下方面的专家机器学习PYTHON任何PYTHON的机器学习、科学计算或数据分析库当然,如果你对前两个主题有一定程度的基本了解就更好了,但那并不是必要的,在早期阶段多花一点点时间了解一下就行了。基础篇第一步基本PYTHON技能如果我们打算利用PYTHON来执行机器学习,那么对PYTHON有一些基本的了解就是至关重要的。幸运的是,因为PYTHON是一种得到了广泛使用的通用编程语言,加上其在科学计算和机器学习领域的应用,所以找到一个初学者教程并不十分困难。你在PYTHON和编程上的经验水平对于起步而言是至关重要的。首先,你需要安装PYTHON。因为我们后面会用到科学计算和机器学习软件包,所以我建议你安装ANACONDA。这是一个可用于LINUX、OSX和WINDOWS上的工业级的PYTHON实现,完整包含了机器学习所需的软件包,包括NUMPY、SCIKITLEARN和MATPLOTLIB。其也包含了IPYTHONNOTEBOOK,这是一个用在我们许多教程中的交互式环境。我推荐安装PYTHON27。如果你不懂编程,我建议你从下面的免费在线书籍开始学习,然后再进入后续的材料LEARNPYTHONTHEHARDWAY,作者ZEDASHAWHTTPS//LEARNPYTHONTHEHARDWAYORG/BOOK/如果你有编程经验,但不懂PYTHON或还很初级,我建议你学习下面两个课程谷歌开发者PYTHON课程(强烈推荐视觉学习者学习)HTTP//SUOIM/TOMZQPYTHON科学计算入门(来自UCSBENGINEERING的MSCOTTSHELL)(一个不错的入门,大约有60页)HTTP//SUOIM/2CXYCM如果你要30分钟上手PYTHON的快速课程,看下面在Y分钟内学会X(XPYTHON)HTTP//SUOIM/ZM6QX当然,如果你已经是一位经验丰富的PYTHON程序员了,这一步就可以跳过了。即便如此,我也建议你常使用PYTHON文档HTTPS//WWWPYTHONORG/DOC/第二步机器学习基础技巧KDNUGGETS的ZACHARYLIPTON已经指出现在,人们评价一个「数据科学家」已经有很多不同标准了。这实际上是机器学习领域领域的一个写照,因为数据科学家大部分时间干的事情都牵涉到不同程度地使用机器学习算法。为了有效地创造和获得来自支持向量机的洞见,非常熟悉核方法(KERNELS)是否必要呢当然不是。就像几乎生活中的所有事情一样,掌握理论的深度是与实践应用相关的。对机器学习算法的深度了解超过了本文探讨的范围,它通常需要你将非常大量的时间投入到更加学术的课程中去,或者至少是你自己要进行高强度的自学训练。好消息是,对实践来说,你并不需要获得机器学习博士般的理论理解就想要成为一个高效的程序员并不必要进行计算机科学理论的学习。人们对吴恩达在COURSERA上的机器学习课程内容往往好评如潮;然而,我的建议是浏览前一个学生在线记录的课堂笔记。跳过特定于OCTAVE(一个类似于MATLAB的与你PYTHON学习无关的语言)的笔记。一定要明白这些都不是官方笔记,但是可以从它们中把握到吴恩达课程材料中相关的内容。当然如果你有时间和兴趣,你现在就可以去COURSERA上学习吴恩达的机器学习课程HTTP//SUOIM/2O1UD吴恩达课程的非官方笔记HTTP//WWWHOLEHOUSEORG/MLCLASS/除了上面提到的吴恩达课程,如果你还需要需要其它的,网上还有很多各类课程供你选择。比如我就很喜欢TOMMITCHELL,这里是他最近演讲的视频(一起的还有MARIAFLORINABALCAN),非常平易近人。TOMMITCHELL的机器学习课程HTTP//SUOIM/497ARW目前你不需要所有的笔记和视频。一个有效地方法是当你觉得合适时,直接去看下面特定的练习题,参考上述备注和视频恰当的部分,第三步科学计算PYTHON软件包概述好了,我们已经掌握了PYTHON编程并对机器学习有了一定的了解。而在PYTHON之外,还有一些常用于执行实际机器学习的开源软件库。广义上讲,有很多所谓的科学PYTHON库(SCIENTIFICPYTHONLIBRARIES)可用于执行基本的机器学习任务(这方面的判断肯定有些主观性)NUMPY主要对其N维数组对象有用HTTP//WWWNUMPYORG/PANDASPYTHON数据分析库,包括数据框架(DATAFRAMES)等结构HTTP//PANDASPYDATAORG/MATPLOTLIB一个2D绘图库,可产生出版物质量的图表HTTP//MATPLOTLIBORG/SCIKITLEARN用于数据分析和数据挖掘人物的机器学习算法HTTP//SCIKITLEARNORG/STABLE/学习这些库的一个好方法是学习下面的材料SCIPYLECTURENOTES,来自GAËLVAROQUAUX、EMMANUELLEGOUILLART和OLAVVAHTRASHTTP//WWWSCIPYLECTURESORG/这个PANDAS教程也很不错10MINUTESTOPANDASHTTP//SUOIM/4AN6GY在本教程的后面你还会看到一些其它的软件包,比如基于MATPLOTLIB的数据可视化库SEABORN。前面提到的软件包只是PYTHON机器学习中常用的一些核心库的一部分,但是理解它们应该能让你在后面遇到其它软件包时不至于感到困惑。下面就开始动手吧第四步使用PYTHON学习机器学习首先检查一下准备情况PYTHON就绪机器学习基本材料就绪NUMPY就绪PANDAS就绪MATPLOTLIB就绪现在是时候使用PYTHON机器学习标准库SCIKITLEARN来实现机器学习算法了。SCIKITLEARN流程图下面许多的教程和训练都是使用IPYTHONJUPYTERNOTEBOOK完成的,IPYTHONNOTEBOOK是执行PYTHON语句的交互式环境。IPYTHONNOTEBOOK可以很方便地在网上找到或下载到你