7步掌握Python机器学习

“开始”,是一个令人激动的字眼。然而万事开头难,当你拥有过多的选择时,往往就会不知所措。

我们希望借助免费、便捷的在线资源,帮助你完成从小白到大牛的蜕变。这篇文章将会回答如何选择资源、如何拓展学习以及按怎样的顺序学习等一系列问题。

我们要开始了!首先假定你还不具备以下技能:

  • 精通机器学习
  • 熟练掌握Python
  • 熟悉其他Python相关包

使用Python的经验或许对后面的学习有帮助,但并不是必需的。在最初的几步多花些时间和功夫也可以弥补这些欠缺。

第1步:Python基本技能

如果我们希望用Python进行机器学习,对Python的基本理解是至关重要的。幸运的是,由于Python作为编程语言的普及和它在相关领域的广泛应用,找到入门教程并非难事。而从何处起步取决于你对Python的掌握程度。

首先,你需要下载Python。考虑到我们会利用Python进行科学计算和机器学习,我建议安装Anaconda。它是一个多平台开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项,还包括我们许多教程的交互式环境iPython Notebook。

如果没有编程基础,我的建议是从下面的资料看起,然后再学习更多教程。

如果有其他编程语言基础,或刚接触Python,我会建议使用以下材料:

对于希望能够快速上手的读者,我推荐:

当然,如果你是一个有经验的Python程序员,你可以跳过这一步。

第2步:机器学习基础

人们会觉得数据科学家有许多异于常人之处。这实际上是人们对机器学习领域的印象,因为数据科学家所做的大部分工作都不同程度的涉及到机器学习算法。是否有必要为了更高效地完成机器学习模型的建立而去深入其内核?当然不是。就像生活中任何事物一样,理论理解的程度和实际应用相关。但机器学习算法并不在本文讨论范围,通常这需要长期学术研究,亦或是锲而不舍的自学。

好消息是,你不需要对机器学习拥有博士一般的理解程度,换句话说,并不是所有的程序员都需要接受理论的计算机科学教育才能成为的编程人员。

吴恩达老师在Coursera上的课程经常得到好评。然而,我的建议是多浏览学生编写的课程笔记,并跳过Octave某些的注释。尽管这些不是“官方”的笔记,但仍然把握了吴恩达老师课程材料的核心内容。如果你有时间和兴趣的话,现在可以在Coursera上选择吴恩达老师的机器学习课程了(网易云课堂也发布了吴老师的中文版课程)。

除了上述吴恩达老师的课程,其中还包含各种各样的视频讲座。

浏览到这里,你并不需要查看所有的笔记和视频。一个更为高效的方案是,完成下面特定的练习,并辅以相关的视频和笔记。例如,当你在练习回归模型建立时,阅读吴恩达老师和Mitchell的相关资料即可。

第3步:Python基础包概览

当我们掌握Python并对机器学习有一定概念后,我们还要了解一些机器学习常用的开源库:

  • Numpy-主要提供矩阵运算的功能。
  • Pandas-提供了高效地操作大型数据集所需的工具。
  • Matplotlib-一个
    Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。
  • Scikit-learn-用于数据分析和数据挖掘任务的机器学习算法。

相关学习教程如下:

下面的教程中将会提到其他一些软件包,其中包括Seaborn(一个基于Matplotlib的数据可视化库)。前面提到的包是Python机器学习任务的核心; 然而,我希望你理解它们以适应相关的包,而不会在以下教程中引用它们时引起混淆。

第4步:用Python开始机器学习

  • Python  √
  • 机器学习基础  √
  • Numpy  √
  • Pandas  √
  • Matplotlib 

时机成熟,让我们用Python的标准机器学习库Scikit-learn来实现机器学习算法吧!

下面的许多教程和练习将由iPython Notebook驱动,这是一个用于执行Python的交互式环境。这些iPython Notebook可以选择在线查看或下载,并在本地计算机上进行交互。

我们的第一个教程,是进行Scikit的学习。我建议在进行以下步骤之前先完成所有这些工作。

scikit-learn的一般介绍,涵盖了K-均值聚类算法:

一个更深入、更广泛的介绍,包括一个数据集的入门项目:

一个侧重于评估scikit-learn中不同模型的介绍,涵盖训练/测试数据集拆分:

第5步:开始主题化的机器学习

在Scikit-learn的基础上,我们可以进一步深入探索各种常见的、有用的算法。我们从K-means聚类开始,这是最着名的机器学习算法之一,是解决无监督学习问题的一种简单且有效的方法:

接下来,我们回到分类,并看看历史上最受欢迎的分类方法之一:

从分类,我们看看连续的数字预测:

然后我们可以利用回归分类问题,通过逻辑回归:

第6步:用Python完成机器学习进阶

我们已经习惯了Scikit-learn,现在我们把注意力转向一些更高级的话题。首先是支持向量机,一种与相关的学习算法有关的监督学习模型,可以分析数据、识别模式,用于分类和回归分析。

接下来,通过Kaggle比赛来检验随机森林:

降维是一种减少问题考虑的变量数量的方法。主成分分析是无监督降维的一种特殊形式:

在进入最后一步之前,我们回过头看看,我们在较短的时间内完成了许多充满意义的任务。

使用Python及其机器学习库,我们已经介绍了一些常见和知名的机器学习算法(K-均值聚类算法、K-means聚类、支持向量机),学习了强大的技术,检查了一些机器学习支撑任务(降维,模型验证技术)。除了一些基本的机器学习技巧外,我们也开始为自己扩充一个有用的工具包。

在完成之前,我们将再添加一个按需使用的工具。

第7步:Python深度学习


深度学习无处不在。它建立在神经网络研究的基础上,可以追溯到几十年前,但是最近几年来的进步已经显著提高了深度神经网络的感知能力。如果您不熟悉深度学习,这儿有一些文章可供学习。最后一步并不意味着任何机器学习方面的权威。我们将从两个领先的Python深度学习库学习简单网络的实现。对于那些有兴趣深入深度学习的人,我建议从下面的教程开始:

Theano

Theano是我们将要看到的第一个Python深度学习库。以下的Theano深度学习教程是冗长的,但它非常的经典、具体,被各方高度评价:

Caffe

Caffe是我们学习的另一种库。这篇教程是整个文章最璀璨的明珠,尽管我们已经实现了一些有趣的案例,但仍没有一个可以与用Caffe实现谷歌的DeepDream相匹敌。好好享受吧!掌握教程内容后,就可以让你的处理器拥有属于你的思维了!

我并不能保证上述这些会很快或很容易实现,但如果你花精力按照上面的7个步骤,相信你可以理解机器学习算法并熟练使用Python完成这一工作,兴许还能参与最前沿的深度学习研究中。

以上为全部译文

文章原标题7 Steps to Mastering Machine Learning With Python,译者:Anchor C.,审阅:虎说八道。

文章为简译,更详细内容请查看原文

时间: 2024-10-26 02:45:15

7步掌握Python机器学习的相关文章

《Python机器学习实践指南》——1.2 Python库和功能

1.2 Python库和功能 现在,我们已经对数据科学工作流的每一步有了初步的理解,下面来看看在每一步中,存在哪些有用的Python库和功能可供选择. 1.2.1 获取 访问数据常见的方式之一是通过REST风格的API接口,需要知道的库是Python Request库.它被称为给人类使用的HTTP,为API的交互提供了一个整洁和简单的方式. 让我们来看一个使用Requests进行交互的例子,它从GitHub的API中拉取数据.在这里,我们将对该API进行调用,并请求某个用户的starred库列表

《Python机器学习实践指南》——导读

前言 Python机器学习实践指南 机器学习正在迅速成为数据驱动型世界的一个必备模块.许多不同的领域如机器人.医学.零售和出版等,都需要依赖这门技术.在这本书中,你将学习如何一步步构建真实的机器学习应用程序. 通过易于理解的项目,你将学习如何处理各种类型的数据,如何以及何时应用不同的机器学习技术,包括监督学习和无监督学习. 本书中的每个项目都同时提供了教学和实践.例如,你将学习如何使用聚类技术来发现低价的机票,以及如何使用线性回归找到一间便宜的公寓.本书以通俗易懂.简洁明了的方式,教你如何使用机

Python机器学习工具:Scikit-Learn介绍与实践

本文讲的是Python机器学习工具:Scikit-Learn介绍与实践, Scikit-learn官方的解释很简单: Machine Learning in Python, 用python来玩机器学习. 什么是机器学习 机器学习关注的是:计算机程序如何随着经验积累自动提高性能.而最大的吸引力在于,不需要写任何与问题相关的特定代码,泛型算法就能告诉你一些关于数据的秘密. Scikit-learn的优点 构建于现有的NumPy(基础n维数组包),SciPy(科学计算基础包), matplotlib(

Python机器学习库

   Python在科学计算领域,有两个重要的扩展模块:Numpy和Scipy.其中Numpy是一个用python实现的科学计算包.包括: 一个强大的N维数组对象Array: 比较成熟的(广播)函数库: 用于整合C/C++和Fortran代码的工具包: 实用的线性代数.傅里叶变换和随机数生成函数.      SciPy是一个开源的Python算法库和数学工具包,SciPy包含的模块有最优化.线性代数.积分.插值.特殊函数.快速傅里叶变换.信号处理和图像处理.常微分方程求解和其他科学与工程中常用的

《Python机器学习——预测分析核心算法》——导读

前言 Python机器学习--预测分析核心算法 从数据中提取有助于决策的信息正在改变着现代商业的组织,同时也对软件开发人员产生了直接的影响.一方面是对新的软件开发技能的需求,市场分析师预计到2018年对具有高级统计和机器学习技术的人才需求缺口将达140000-190000人.这对具有上述技能的人员来说意味着丰厚的薪水和可供选择的多种有趣的项目.另一方面对开发人员的影响就是逐步出现了统计和机器学习相关的核心工具,这减轻了开发人员的负担.当他们尝试新的算法时,不需要重复发明"轮子".在所有

最好的Python机器学习库

引言 毫无疑问,神经网络和机器学习在过去几年一直是高科技领域最热门的话题之一.这一点很容易看出,因为它们解决了很多真正有趣的用例,如语音识别.图像识别.甚至是乐曲谱写.因此,在这篇文章,我决定编制一份囊括一些很好的Python机器学习库的清单,并将其张贴在下面. 在我看来,Python是学习(和实现)机器学习技术最好的语言之一,其原因主要有以下几点: 语言简单:如今,Python成为新手程序员首选语言的主要原因是它拥有简单的语法和庞大的社区. 功能强大:语法简单并不意味着它功能薄弱.Python

《Python机器学习实践指南》——第1章 Python机器学习的生态系统

第1章 Python机器学习的生态系统 Python机器学习实践指南 机器学习正在迅速改变我们的世界.作为人工智能的核心,我们几乎每天都会读到机器学习如何改变日常的生活.一些人认为它会带领我们进入一个风格奇异的高科技乌托邦:而另一些人认为我们正迈向一个高科技天启时代,将与窃取我们工作机会的机器人和无人机敢死队进行持久的战争.不过,虽然权威专家们可能会喜欢讨论这些夸张的未来,但更为平凡的现实是,机器学习正在快速成为我们日常生活的固定装备.随着我们微小但循序渐进地改进自身与计算机以及周围世界之间的互

《Python机器学习——预测分析核心算法》——第1章 关于预测的两类核心算法

第1章 关于预测的两类核心算法 Python机器学习--预测分析核心算法 本书集中于机器学习领域,只关注那些最有效和获得广泛使用的算法.不会提供关于机器学习技术领域的全面综述.这种全面性的综述往往会提供太多的算法,但是这些算法并没有在从业者中获得积极的应用. 本书涉及的机器学习问题通常是指"函数逼近(function approximation)"问题.函数逼近问题是有监督学习(supervised learning)问题的一个子集.线性回归和逻辑回归是解决此类函数逼近问题最常见的算法

《Python机器学习——预测分析核心算法》——第2章 通过理解数据来了解问题

第2章 通过理解数据来了解问题 Python机器学习--预测分析核心算法新数据集(问题)就像一个包装好的礼物,它充满了承诺和希望.一旦你能解决它,你就收获了喜悦.但是直到你打开它,它都一直保持着神秘.本章就是告诉你怎么"打开"新的数据集,看清楚里面都有什么,知道如何处置这些数据,并且开始思考如何利用这些数据构建相应的模型. 本章有两个目的:一是熟悉这些数据集,这些数据集被用来作为解决各种类型问题的例子,主要是利用第4章和第6章介绍的算法:另一个目的就是展示Python中分析数据的工具包