基础篇:只需-7-步-从零开始掌握-python-机器学习(附资源)

上传人:F****n 文档编号:98819098 上传时间:2019-09-14 格式:DOC 页数:10 大小:23KB
返回 下载 相关 举报
基础篇:只需-7-步-从零开始掌握-python-机器学习(附资源)_第1页
第1页 / 共10页
基础篇:只需-7-步-从零开始掌握-python-机器学习(附资源)_第2页
第2页 / 共10页
基础篇:只需-7-步-从零开始掌握-python-机器学习(附资源)_第3页
第3页 / 共10页
基础篇:只需-7-步-从零开始掌握-python-机器学习(附资源)_第4页
第4页 / 共10页
基础篇:只需-7-步-从零开始掌握-python-机器学习(附资源)_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《基础篇:只需-7-步-从零开始掌握-python-机器学习(附资源)》由会员分享,可在线阅读,更多相关《基础篇:只需-7-步-从零开始掌握-python-机器学习(附资源)(10页珍藏版)》请在金锄头文库上搜索。

1、基础篇:只需 7 步,从零开始掌握 Python 机器学习(附资源) Python 可以说是现在最流行的机器学习语言,而且你也能在网上找到大量的资源。你现在也在考虑从 Python 入门机器学习吗?本教程或许能帮你成功上手,从 0 到 1 掌握 Python 机器学习,至于后面再从 1 到 100 变成机器学习专家,就要看你自己的努力了。开始往往是最难的,尤其是当选择太多的时候,一个人往往很难下定决定做出选择。本教程的目的是帮助几乎没有 Python 机器学习背景的新手成长为知识渊博的实践者,而且这个过程中仅需要使用免费的材料和资源即可。这个大纲的主要目标是带你了解那些数量繁多的可用资源。毫无

2、疑问,资源确实有很多,但哪些才是最好的呢?哪些是互补的呢?以怎样的顺序学习这些资源才是最合适的呢?首先,我假设你并不是以下方面的专家:机器学习Python任何 Python 的机器学习、科学计算或数据分析库当然,如果你对前两个主题有一定程度的基本了解就更好了,但那并不是必要的,在早期阶段多花一点点时间了解一下就行了。基础篇第一步:基本 Python 技能如果我们打算利用 Python 来执行机器学习,那么对 Python 有一些基本的了解就是至关重要的。幸运的是,因为 Python 是一种得到了广泛使用的通用编程语言,加上其在科学计算和机器学习领域的应用,所以找到一个初学者教程并不十分困难。你

3、在 Python 和编程上的经验水平对于起步而言是至关重要的。首先,你需要安装 Python。因为我们后面会用到科学计算和机器学习软件包,所以我建议你安装 Anaconda。这是一个可用于 Linux、OS X 和 Windows 上的工业级的 Python 实现,完整包含了机器学习所需的软件包,包括 numpy、scikit-learn 和 matplotlib。其也包含了 iPython Notebook,这是一个用在我们许多教程中的交互式环境。我推荐安装 Python 2.7。如果你不懂编程,我建议你从下面的免费在线书籍开始学习,然后再进入后续的材料:Learn Python the H

4、ard Way,作者 Zed A. Shaw:https:/learnpythonthehardway.org/book/如果你有编程经验,但不懂 Python 或还很初级,我建议你学习下面两个课程:谷歌开发者 Python 课程(强烈推荐视觉学习者学习):http:/suo.im/toMzqPython 科学计算入门(来自 UCSB Engineering 的 M. Scott Shell)(一个不错的入门,大约有 60 页):http:/suo.im/2cXycM如果你要 30 分钟上手 Python 的快速课程,看下面:在 Y 分钟内学会 X(X=Python):http:/suo.im

5、/zm6qX当然,如果你已经是一位经验丰富的 Python 程序员了,这一步就可以跳过了。即便如此,我也建议你常使用 Python 文档:https:/www.python.org/doc/第二步:机器学习基础技巧 KDnuggets 的 Zachary Lipton 已经指出:现在,人们评价一个数据科学家已经有很多不同标准了。这实际上是机器学习领域领域的一个写照,因为数据科学家大部分时间干的事情都牵涉到不同程度地使用机器学习算法。为了有效地创造和获得来自支持向量机的洞见,非常熟悉核方法(kernel methods)是否必要呢?当然不是。就像几乎生活中的所有事情一样,掌握理论的深度是与实践应

6、用相关的。对机器学习算法的深度了解超过了本文探讨的范围,它通常需要你将非常大量的时间投入到更加学术的课程中去,或者至少是你自己要进行高强度的自学训练。好消息是,对实践来说,你并不需要获得机器学习博士般的理论理解就想要成为一个高效的程序员并不必要进行计算机科学理论的学习。人们对吴恩达在 Coursera 上的机器学习课程内容往往好评如潮;然而,我的建议是浏览前一个学生在线记录的课堂笔记。跳过特定于 Octave(一个类似于 Matlab 的与你 Python 学习无关的语言)的笔记。一定要明白这些都不是官方笔记,但是可以从它们中把握到吴恩达课程材料中相关的内容。当然如果你有时间和兴趣,你现在就可

7、以去 Coursera 上学习吴恩达的机器学习课程:http:/suo.im/2o1uD吴恩达课程的非官方笔记:http:/www.holehouse.org/mlclass/除了上面提到的吴恩达课程,如果你还需要需要其它的,网上还有很多各类课程供你选择。比如我就很喜欢 Tom Mitchell,这里是他最近演讲的视频(一起的还有 Maria-Florina Balcan),非常平易近人。Tom Mitchell 的机器学习课程:http:/suo.im/497arw目前你不需要所有的笔记和视频。一个有效地方法是当你觉得合适时,直接去看下面特定的练习题,参考上述备注和视频恰当的部分,第三步:科

8、学计算 Python 软件包概述好了,我们已经掌握了 Python 编程并对机器学习有了一定的了解。而在 Python 之外,还有一些常用于执行实际机器学习的开源软件库。广义上讲,有很多所谓的科学 Python 库(scientific Python libraries)可用于执行基本的机器学习任务(这方面的判断肯定有些主观性):numpy主要对其 N 维数组对象有用 http:/www.numpy.org/pandasPython 数据分析库,包括数据框架(dataframes)等结构 http:/pandas.pydata.org/matplotlib一个 2D 绘图库,可产生出版物质量的

9、图表 http:/matplotlib.org/scikit-learn用于数据分析和数据挖掘人物的机器学习算法 http:/scikit-learn.org/stable/学习这些库的一个好方法是学习下面的材料:Scipy Lecture Notes,来自 Ga?l Varoquaux、Emmanuelle Gouillart 和 Olav Vahtras:http:/www.scipy-lectures.org/这个 pandas 教程也很不错:10 Minutes to Pandas:http:/suo.im/4an6gY在本教程的后面你还会看到一些其它的软件包,比如基于 matplot

10、lib 的数据可视化库 Seaborn。前面提到的软件包只是 Python 机器学习中常用的一些核心库的一部分,但是理解它们应该能让你在后面遇到其它软件包时不至于感到困惑。下面就开始动手吧!第四步:使用 Python 学习机器学习首先检查一下准备情况Python:就绪机器学习基本材料:就绪Numpy:就绪Pandas:就绪Matplotlib:就绪现在是时候使用 Python 机器学习标准库 scikit-learn 来实现机器学习算法了。scikit-learn 流程图下面许多的教程和训练都是使用 iPython (Jupyter) Notebook 完成的,iPython Notebook

11、 是执行 Python 语句的交互式环境。iPython Notebook 可以很方便地在网上找到或下载到你的本地计算机。来自斯坦福的 iPython Notebook 概览:http:/cs231n.github.io/ipython-tutorial/同样也请注意,以下的教程是由一系列在线资源所组成。如果你感觉课程有什么不合适的,可以和作者交流。我们第一个教程就是从 scikit-learn 开始的,我建议你们在继续完成教程前可以按顺序看一看以下的文章。下面是一篇是对 scikit-learn 简介的文章,scikit-learn 是 Python 最常用的通用机器学习库,其覆盖了 K 近

12、邻算法:Jake VanderPlas 写的 scikit-learn 简介:http:/suo.im/3bMdEd 下面的会更加深入、扩展的一篇简介,包括了从著名的数据库开始完成一个项目:Randal Olson 的机器学习案例笔记:http:/suo.im/RcPR6下一篇关注于在 scikit-learn 上评估不同模型的策略,包括训练集/测试集的分割方法:Kevin Markham 的模型评估:http:/suo.im/2HIXDD第五步:Python 上实现机器学习的基本算法在有了 scikit-learn 的基本知识后,我们可以进一步探索那些更加通用和实用的算法。我们从非常出名的

13、K 均值聚类(k-means clustering)算法开始,它是一种非常简单和高效的方法,能很好地解决非监督学习问题:K-均值聚类:http:/suo.im/40R8zf 接下来我们可以回到分类问题,并学习曾经最流行的分类算法:决策树:http:/ logistic 回归:logistic 回归:http:/suo.im/S2beL第六步:Python 上实现进阶机器学习算法我们已经熟悉了 scikit-learn,现在我们可以了解一下更高级的算法了。首先就是支持向量机,它是一种依赖于将数据转换映射到高维空间的非线性分类器。支持向量机:http:/suo.im/2iZLLa随后,我们可以通过

14、 Kaggle Titanic 竞赛检查学习作为集成分类器的随机森林:Kaggle Titanic 竞赛(使用随机森林):http:/suo.im/1o7ofe降维算法经常用于减少在问题中所使用的变量。主成份分析法就是非监督降维算法的一个特殊形式:降维算法:http:/suo.im/2k5y2E在进入第七步之前,我们可以花一点时间考虑在相对较短的时间内取得的一些进展。首先使用 Python 及其机器学习库,我们不仅已经了解了一些最常见和知名的机器学习算法(k 近邻、k 均值聚类、支持向量机等),还研究了强大的集成技术(随机森林)和一些额外的机器学习任务(降维算法和模型验证技术)。除了一些基本的

15、机器学习技巧,我们已经开始寻找一些有用的工具包。我们会进一步学习新的必要工具。第七步:Python 深度学习神经网络包含很多层深度学习无处不在。深度学习建立在几十年前的神经网络的基础上,但是最近的进步始于几年前,并极大地提高了深度神经网络的认知能力,引起了人们的广泛兴趣。如果你对神经网络还不熟悉,KDnuggets 有很多文章详细介绍了最近深度学习大量的创新、成就和赞许。最后一步并不打算把所有类型的深度学习评论一遍,而是在 2 个先进的当代 Python 深度学习库中探究几个简单的网络实现。对于有兴趣深挖深度学习的读者,我建议从下面这些免费的在线书籍开始:神经网络与深度学习,作者 Michael Nielsen:http:/ 是我们讲到的第一个 Python 深度学习库。看看 Theano 作者怎么说:Theano 是一个 Python 库,它可以使你有效地定

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号