7步掌握Python机器学习

简介: 如今,网络上的Python机器学习资源纷繁复杂,使得刚入门的小白们眼花缭乱。究竟从哪里开始?如何进行?读完这篇文章,相信你就会有自己的答案。

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

d79b0c6e435fb36352c29455f1ccbd6cb0a6dbb1

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

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

  • 精通机器学习
  • 熟练掌握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来实现机器学习算法吧!

[object Object][object Object]ed406cc02cfb67f237ee92c39dd8cbc25d922625

下面的许多教程和练习将由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深度学习

9477cb99c9c18bb66aa00d8d510680fc51e8949d

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

Theano

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

Caffe

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

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


以上为全部译文

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

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


相关文章
|
15天前
|
机器学习/深度学习 算法 TensorFlow
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
交通标志识别系统。本系统使用Python作为主要编程语言,在交通标志图像识别功能实现中,基于TensorFlow搭建卷积神经网络算法模型,通过对收集到的58种常见的交通标志图像作为数据集,进行迭代训练最后得到一个识别精度较高的模型文件,然后保存为本地的h5格式文件。再使用Django开发Web网页端操作界面,实现用户上传一张交通标志图片,识别其名称。
44 6
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
|
14天前
|
机器学习/深度学习 算法 数据挖掘
Python数据分析革命:Scikit-learn库,让机器学习模型训练与评估变得简单高效!
在数据驱动时代,Python 以强大的生态系统成为数据科学的首选语言,而 Scikit-learn 则因简洁的 API 和广泛的支持脱颖而出。本文将指导你使用 Scikit-learn 进行机器学习模型的训练与评估。首先通过 `pip install scikit-learn` 安装库,然后利用内置数据集进行数据准备,选择合适的模型(如逻辑回归),并通过交叉验证评估其性能。最终,使用模型对新数据进行预测,简化整个流程。无论你是新手还是专家,Scikit-learn 都能助你一臂之力。
67 8
|
11天前
|
机器学习/深度学习 数据可视化 数据挖掘
数据可视化大不同!Python数据分析与机器学习中的Matplotlib、Seaborn应用新视角!
在数据科学与机器学习领域,数据可视化是理解数据和优化模型的关键。Python凭借其强大的可视化库Matplotlib和Seaborn成为首选语言。本文通过分析一份包含房屋面积、卧室数量等特征及售价的数据集,展示了如何使用Matplotlib绘制散点图,揭示房屋面积与售价的正相关关系;并利用Seaborn的pairplot探索多变量间的关系。在机器学习建模阶段,通过随机森林模型展示特征重要性的可视化,帮助优化模型。这两个库在数据分析与建模中展现出广泛的应用价值。
26 2
|
16天前
|
机器学习/深度学习 存储 人工智能
文本情感识别分析系统Python+SVM分类算法+机器学习人工智能+计算机毕业设计
使用Python作为开发语言,基于文本数据集(一个积极的xls文本格式和一个消极的xls文本格式文件),使用Word2vec对文本进行处理。通过支持向量机SVM算法训练情绪分类模型。实现对文本消极情感和文本积极情感的识别。并基于Django框架开发网页平台实现对用户的可视化操作和数据存储。
20 0
文本情感识别分析系统Python+SVM分类算法+机器学习人工智能+计算机毕业设计
|
26天前
|
机器学习/深度学习 算法 Python
从菜鸟到大师:一棵决策树如何引领你的Python机器学习之旅
【9月更文挑战第9天】在数据科学领域,机器学习如同璀璨明珠,吸引无数探索者。尤其对于新手而言,纷繁复杂的算法常让人感到迷茫。本文将以决策树为切入点,带您从Python机器学习的新手逐步成长为高手。决策树以其直观易懂的特点成为入门利器。通过构建决策树分类器并应用到鸢尾花数据集上,我们展示了其基本用法及效果。掌握决策树后,还需深入理解其工作原理,调整参数,并探索集成学习方法,最终将所学应用于实际问题解决中,不断提升技能。愿这棵智慧之树助您成为独当一面的大师。
25 3
|
16天前
|
机器学习/深度学习 数据采集 算法
机器学习新纪元:用Scikit-learn驾驭Python,精准模型选择全攻略!
在数据爆炸时代,机器学习成为挖掘数据价值的关键技术,而Scikit-learn作为Python中最受欢迎的机器学习库之一,凭借其丰富的算法集、简洁的API和高效性能,引领着机器学习的新纪元。本文通过一个实际案例——识别垃圾邮件,展示了如何使用Scikit-learn进行精准模型选择。从数据预处理、模型训练到交叉验证和性能比较,最后选择最优模型进行部署,详细介绍了每一步的操作方法。通过这个过程,我们不仅可以看到如何利用Scikit-learn的强大功能,还能了解到模型选择与优化的重要性。希望本文能为你的机器学习之旅提供有价值的参考。
21 0
|
25天前
|
机器学习/深度学习 人工智能 TensorFlow
神经网络入门到精通:Python带你搭建AI思维,解锁机器学习的无限可能
【9月更文挑战第10天】神经网络是开启人工智能大门的钥匙,不仅是一种技术,更是模仿人脑思考的奇迹。本文从基础概念入手,通过Python和TensorFlow搭建手写数字识别的神经网络,逐步解析数据加载、模型定义、训练及评估的全过程。随着学习深入,我们将探索深度神经网络、卷积神经网络等高级话题,并掌握优化模型性能的方法。通过不断实践,你将能构建自己的AI系统,解锁机器学习的无限潜能。
21 0
|
5月前
|
机器学习/深度学习 存储 搜索推荐
利用机器学习算法改善电商推荐系统的效率
电商行业日益竞争激烈,提升用户体验成为关键。本文将探讨如何利用机器学习算法优化电商推荐系统,通过分析用户行为数据和商品信息,实现个性化推荐,从而提高推荐效率和准确性。
210 14
|
5月前
|
机器学习/深度学习 算法 数据可视化
实现机器学习算法时,特征选择是非常重要的一步,你有哪些推荐的方法?
实现机器学习算法时,特征选择是非常重要的一步,你有哪些推荐的方法?
97 1
|
5月前
|
机器学习/深度学习 算法 搜索推荐
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
下一篇
无影云桌面