The Steps of Machine Learning with Python

Python入门之机器学习(非常详细)篇幅拉满,一般人看不完! 什么是机器学习?监督学习 supervised learning;非监督学习 unsupervised learning;半监督学习 semi-supervised learning;强化学习 reinforcement learning;监督学习是不断向计算机提供数据(特征),并告诉计算机对应的值(标签),最后通过大量的数据,让计算机自己学会判断和识别。例如Google Photo,你在APP中输入狗,这时就会弹出与狗相关的图片,这背后使用的算法就是监督学习。 阅读详情

开始。这是最容易令人丧失斗志的两个字。迈出第一步通常最艰难。当可以选择的方向太多时,就更让人两腿发软了。

从哪里开始?

本文旨在通过七个步骤,使用全部免费的线上资料,帮助新人获取最基本的 Python 机器学习知识,直至成为博学的机器学习实践者。这篇概述的主要目的是带领读者接触众多免费的学习资源。这些资源有很多,但哪些是最好的?哪些相互补充?怎样的学习顺序才最好?我假定本文的读者不是以下任何领域的专家:

▪  机器学习 

▪  Python 

▪  任何Python的机器学习、科学计算、数据分析库

如果你有前两个领域其一或全部的基础知识,可能会很有帮助,但这些也不是必需的。在下面几个步骤中的前几项多花点时间就可以弥补。

第一步:基本 Python 技能

如果要使用 Python 进行机器学习,拥有对 Python 有基础的理解非常关键。幸运的是,Python 是当前普遍使用的流行语言,并纳入了科学计算和机器学习的内容,所以找到入门教程并不困难。在选择起点时,很大程度上要取决于你之前的 Python 经验和编程经验。

首先要安装 Python 。由于我们要使用机器学习和科学计算的 packages ,这里建议安装  Anaconda 。Anaconda 是一个可在 Linux , OSX , Windows 上运行的 Python 实现工具,拥有所需的机器学习 packages ,包括 numpy,scikit-learn,matplotlib。它还包含iPython Notebook ,一个带有许多教程的交互式环境。这里推荐使用 Python 2.7 ,不是因为特殊原因,只是因为它是目前安装版本中的主流。

如果你之前没有编程知识,建议你阅读这本免费电子书,然后再接触其他学习材料:

▪   Python The Hard Way 作者Zed A. Shaw

如果你之前有编程知识,但不是Python的,又或者你的Python水平很基础,推荐下列一种或几种教程:

▪   Google Developers Python Course ((强烈推荐给视觉型学习者)

▪ An Introduction to Python for Scientific Computing (from UCSB Engineering) 作者 M. Scott Shell (一个很好的 Python 科学计算简介,60 页)

对于想要速成课程的人,这里有:

▪   Learn X in Y Minutes (X = Python)

当然,如果你是个经验丰富的Python程序员,可以跳过这一步。尽管如此,还是建议你把通俗易懂的  Python documentation   放在手边。

第二步:机器学习基础技能

KDnuggets 的 Zachary Lipton 指出,人们对于“数据科学家”的认知千差万别。这实际上是对机器学习领域的反映。数据科学家在不同程度上使用计算学习算法。要建立和使用支持向量机模型,熟知 核函数方法是否是必需的? 答案当然不是。就像现实生活中的许多事情一样,所需要的理论深入程度与具体的实际应用有关。获取对机器学习算法的深入理解不是本文的讨论范围, 而且这通常需要在学术领域投入大量时间,或者至少要通过密集的自学才能达到。

好消息是,你不必拥有博士级别的机器学习理论能力才能进行实践,就如同不是所有程序员都必须接受计算机理论教育才能写好代码。

吴恩达在 Coursera 的课程饱受赞誉。但我的建议是去看看一名以前的学生做的笔记。略过那些针对 Octave(一个与 Python 无关的,类 Matlab 语言)的内容。需要注意,这些不是“官方”的笔记,虽然看起来的确抓住了吴恩达课程材料的相关内容。如果你有时间,可以自己去 Coursera 完成这个课程 : Andrew Ng’s Machine Learning course 。

▪   非官方课程笔记 链接

除了吴恩达的课程以外,还有很多其他视频教程。我是Tom Mitchell的粉丝,下面是他(与Maria-Florina Balcan共同完成的)最新的课程视频,对学习者非常友好:

▪ Tom Mitchell Machine Learning Lectures

你不需要现在看完全部的笔记和视频。比较好的策略是向前推进,去做下面的练习,需要的时候再查阅笔记和视频。比如,你要做一个回归模型,就可以去查阅吴恩达课程有关回归的笔记以及/或者Mitchell的视频。

第三步:科学计算 Python packages 一览

好了。现在我们有了 Python 编程经验,并对机器学习有所了解。Python 有很多为机器学习提供便利的开源库。通常它们被称为Python科学库( scientific Python libraries ),用以执行基本的数据科学任务(这里有一点程度主观色彩):

▪ numpy – 主要用于N维数组

▪ pandas – Python数据分析库,包含dataframe等结构

▪ matplotlib – 2D绘图库,产出质量足以进行印刷的图

▪ scikit-learn – 数据分析、数据挖掘任务使用的机器学习算法

学习以上这些内容可以使用:

▪ Scipy Lecture Notes 作者 Gaël Varoquaux, Emmanuelle Gouillart, Olav Vahtras

下面这个pandas教程也不错,贴近主题:

▪ 10 Minutes to Pandas

在后面的教程中你会看到其他一些packages,比如包括Seaborn,一个基于matplotlib的可视化库。前面提到的packages (再次承认具有一定主观色彩)是许多Python机器学习任务的核心工具。不过,理解它们也可以让你在之后的教程中更好理解其他相关packages。

好了,现在到了有意思的部分…..

第四步:开始用Python进行机器学习

Python。搞定。

机器学习基础。搞定。

Numpy。搞定。

Pandas。搞定。

Matplotlib。搞定。

是时候用Python的标准机器学习库,scikit-learn,实现机器学习算法了。

scikit-learn 算法选择图

下面许多教程和练习都基于交互式环境iPython (Jupyter) Notebook。这些iPython Notebooks有些可以在网上观看,有些可以下载到本地电脑。

▪   iPython Notebook 概览 斯坦福大学

也请注意下面的资源来自网络。所有资源属于作者。如果出于某种原因,你发现有作者没有被提及,请告知我,我会尽快改正。在此特别要向 Jake VanderPlas ,Randal Olson , Donne Martin , Kevin Markham , Colin Raffel 致敬,感谢他们提供的优秀免费资源。

下面是scikit-learn的入门教程。在进行下一个步骤之前,推荐做完下列全部教程。

对于scikit-learn的整体介绍,它是Python最常用的通用机器学习库,包含knn最近邻算法:

▪   An Introduction to scikit-learn 作者 Jake VanderPlas

更深入更宽泛的介绍,包含一个新手项目,从头到尾使用一个著名的数据集:

▪   Example Machine Learning Notebook 作者Randal Olson

专注于scikit-learn中评估不同模型的策略,涉及训练集/测试集拆分:

▪   Model Evaluation 作者 Kevin Markham

第五步:Python机器学习主题

在scikit-learn打下基础以后,我们可以探索更多有用的常见算法。让我们从最知名的机器学习算法之一,k-means聚类开始。对于无监督学习问题,k-means通常简单有效:

▪   k-means Clustering 作者Jake VanderPlas

接下来是分类,让我们看看史上最流行的分类方法之一,决策树:

▪   Decision Trees via  The Grimm Scientist

分类之后,是连续数字变量的预测:

▪   Linear Regression 作者 Jake VanderPlas

通过逻辑斯蒂回归,我们可以用回归解决分类问题:

▪   Logistic Regression 作者Kevin Markham

第六步:Python高级机器学习

接触过scikit-learn,现在让我们把注意力转向更高级的内容。首先是支持向量机,一个无需线性的分类器,它依赖复杂的数据转换,把数据投向高维空间。

▪   Support Vector Machines 作者 Jake VanderPlas

接下来是随机森林,一种集成分类器。下面的教程通过 Kaggle Titanic Competition 讲解。

▪   Kaggle Titanic Competition (with Random Forests) 作者 Donne Martin

降维是一种减少问题涉及的变量数目的方法。PCA主成分分析是一种无监督学习降维的特殊形式:

▪   Dimensionality Reduction 作者 Jake VanderPlas

在开始下一步之前,可以暂停一下,回想我们在短短的时间已经走了多远。通过使用Python和它的机器学习库,我们涵盖了一些最常用最知名的机器学习算法(knn最近邻,k-means聚类,支持向量机),了解了一种强有力 的集成方法(随机森林),涉及了一些其他机器学习支持方案(降维,模型验证技巧)。在一些基础机器学习的技巧的帮助下,我们开始有了一个渐渐丰富的工具 箱。

在结束以前,让我们给工具箱增加一个需求很大的工具:

第七步 :Python深度学习

学习,深深地 。

到处都在深度学习!深度学习基于过去几十年的神经网络研究,但最近几年的发展大大增加了深度神经网络的能力和对于它的兴趣。如果你不熟悉深度学习,KDnuggets 有 许多文章 ,详细介绍最近的进展、成果,以及对这项技术的赞誉。

本文的最后一部分并不想成为某种深度学习示范教程。我们会关注基于两个Python深度学习库的简单应用。对于想了解更多的读者,我推荐下面这本免费在线书:

▪   Neural Networks and Deep Learning 作者  Michael Nielsen

Theano

Theano是我们关注的第一个Python深度学习库。根据作者所说:

作为一个Python库,Theano让你可以有效定义、优化、评估包含多维数组的数学表达式。

下面的Theano深度学习教程很长,但非常不错,描述详细,有大量评论:

▪   Theano Deep Learning Tutorial 作者  Colin Raffel

Caffe

我们关注的另一个库是Caffe。根据它的作者所说:

Caffe是一个深度学习框架。开发过程中时刻考虑着表达式、速度、模型。 它是由Berkeley Vision and Learning Center (BVLC) 和社区贡献者共同开发的。

这个教程是本文的压轴。尽管上面列举了一些有趣的案例,没有那个比得上下面这个:用Caffe实现 Google 的 #DeepDream 。希望你喜欢!理解这个教程以后,尽情玩乐,让你的处理器开始自己做梦吧。

▪   Dreaming Deep with Caffe via  Google’s GitHub

我不敢保证Python机器学习是速成的或简单的。但只要投入时间,遵循这七个步骤,你无疑会对于这个领域拥有足够的熟练度和理解,会使用流行的Python库实现许多机器学习算法,甚至当今深度学习领域的前沿内容。

作者简介:  Matthew Mayo 是一名计算机专业的研究生。他目前在从事并行机器学习算法方面的论文工作。同时他也是一个数据挖掘学习者,数据爱好者,立志成为机器学习科学家。

翻译:王鹏宇
原文链接:

http://www.kdnuggets.com/2015/11/seven-steps-machine-learning-python.html

感谢 数据工匠 的投稿,如果您也有兴趣在数盟发布文章,欢迎联系我们:contact@dataunion.org

机器学习书单:按学习阶段精准匹配的实战路线图 机器学习入门与进阶的核心挑战,不在于知识量多少,而在于学习路径是否匹配真实工程节奏。从数据预处理、模型训练到原理深挖,关键要理解‘直觉→工具→原理→领域’的四阶段演进逻辑。尤其在Python机器学习实践中,scikit-learn的Pipeline构建、PyTorch手写反向传播、特征工程中的时间序列滚动统计等高频技术点,往往文档缺失、教程脱节。本书单聚焦可运行代码、带验证题的章节设计和GitHub活跃度三大硬指标,筛选出真正支撑Kaggle竞赛、风控建模、推荐系统等工业场景的12本核心读物,帮助学习者避开 阅读详情

相关推荐

AI项目源码级评审指南:以Continuous Thought Machine为例

源码级评审是深度分析AI研究项目工程实现的关键手段,它不同于普通教程,而是通过追踪训练与推理链路、验证状态更新机制、复现实验结果,来评估项目的真实价值与可扩展性。在机器学习工程实践中,源码级评审能够帮助开发者快速理解复杂模型结构,识别可复现条件与潜在风险。无论面对新模型、训练策略还是评测框架,掌握以项目定位、机制实现、可复现性、扩展点为核心的评审方法,都能显著提升技术判断力。本文以Continuous Thought Machine为例,系统介绍了从环境准备、核心链路追踪到报告输出的完整流程,为AI源码级评

weixin_34060741的博客 322

七步精通Python机器学习

转自:http://datartisan.com/article/detail/66.html#rd 七步精通Python机器学习 开始。这是最容易令人丧失斗志的两个字。迈出第一步通常最艰难。当可以选择的方向太多时,就更让人两腿发软了。 从哪里开始? 本文旨在通过七个步骤,使用全部免费的线上资料,帮助新人获取最基本的 Python 机器学习知识,直至成为博学的机

csyhhb的专栏 1073

Five Steps to Getting Started with Machine Learning in

作者:禅与计算机程序设计艺术 1.背景介绍 In this article, we will explore machine learning by using the popular open-source programming language - Python. This is a begi

AI天才研究院 717

python --机器学习(基本算法详解)SciPy、Numpy、Matplotlib

数据集在计算机中,数据集指的是任何数据集合。它可以是从数组到完整数据库的任何内容。通过查看数组,我们可以猜测平均值可能约为 80 或 90,并且我们还可以确定最大值和最小值,但是我们还能做什么?通过查看数据库,我们可以看到最受欢迎的颜色是白色,最老的车龄是 17 年,但是如果仅通过查看其他值就可以预测汽车是否具有 AutoPass,该怎么办?这就是机器学习的目的!分析数据并预测结果!在机器学习中,通常使用非常大的数据集。...............

weixin_44634704的博客 1万+

Python 科学计算入门(来自 UCSB Engineering 的 M. Scott Shell)含中文注释

Python的一个入门文档,写了很多其他入门文档没有写的东西,感觉挺不错的,部分地方加了中文注释。

UE5 使用Slate制作对话窗口

使用Slate制作对话框窗口并获取对话框结果,非UMG

qq_25521145的博客 3189

【Python入门系列】第十一篇:Python机器学习入门

机器学习是人工智能领域中的重要分支,它利用数据和统计方法来训练机器模型,从而实现自动化的决策和预测。Python作为一种简单易用且功能强大的编程语言,成为了机器学习领域的首选工具之一。本文将介绍Python机器学习的基础知识和常用库。机器学习是一种人工智能的分支,通过利用数据和统计算法,让计算机能够自动学习和改进,从而完成特定任务。以下是机器学习的作用总结:预测和分类:机器学习可以通过对历史数据的学习,预测未来事件的发生概率,或将数据分为不同的类别。

杰西笔记 4705

S参数反演法

等效介质理论模型— 利用S参数反演法提取超材料结构的等效参数 等效介质理论模型—利用S参数反演法提取超材料结构的等效参数 S参数反演法,即利用等效模型的传输矩阵和S参数求解超材料结构的等效折射率n和等效阻抗Z的过程。本文对等效介质理论模型进行了详细介绍,并提供对应代码。 超材料的传输矩阵 超材料结构的传输矩阵函数为: 其中,d 为等效光学活性材料的厚度,n 为折射率,Z 表示阻抗。 S参数和传输矩阵T 超材料结构的S参数和传输矩阵T满足下列方程: 利用以上两式,可以得到等效折射率n和相对阻抗的表达式

weixin_43962864的博客 1万+

[导读]7 Steps to Mastering Machine Learning With Python

Step 1: Basic Python Skills▪Python The Hard Wayby Zed A. Shaw▪Google Developers Python Course(highly recommended for visual learners)▪An Introduction to Python for Scientific Comp...

全网:架构师研究会 1012

CMOS反相器版图设计全解析:PMOS/NMOS布局与VDD/VSS连接门道

版图设计是芯片从电路原理图迈向物理实现的必经桥梁,而CMOS反相器作为最基础的数字单元,恰好是理解这一过程的最佳切入点。在版图绘制中,PMOS与NMOS因导电类型和迁移率差异,需要在N阱与P衬底上分别规划,并呈现出不同的有源区尺寸。真正决定版图好坏的关键,往往在于VDD/VSS的完整连接——不仅要接通源漏,还要通过阱接触和衬底接触固定阱与衬底电位,防止寄生PN结正偏和闩锁效应。合理布局电源地线轨道、优化接触孔数量,能显著降低寄生电阻与电迁移风险。这些原理不仅适用于反相器,也是所有CMOS数字标准单元版图设计

weixin_29159441的博客 301

一种车内UWB圆极化天线的理论推导及具体实现

本文详细描述了一款工作于UWB channel 9也即中心频率为7987.2MHz,带宽为499.2MHz的圆极化天线。首先是理论推导圆极化天线的物理尺寸参数,分析物理尺寸参数对天线性能指标的影响。然后分析圆极化天线在汽车驾驶室这种狭窄空间应用中带来的优势,也即可以最大化的极化损失多径,提高主径接收信号的信噪比。

weixin_44555637的博客 2961

Mastering Machine Learning with Python in Six Steps 免积分下载

Mastering Machine Learning withPythonin Six Steps: A Practical Implementation Guide to Predictive Data Analytics UsingPython Mastering Machin...

chongyuwan4121的博客 191

C语言头文件完全解析(连“#”我都给你讲明白)

C语言头文件完全解析 引言 本文将尽量详细的介绍c语言的头文件所包含的知识,如有错误,还望指正。 萌新们肯定疑惑为什么每次打代码都要写一个所谓的头文件(如:#include<stdio.h>),这里先简单让大家有个了解,你所用的 printf("%d",a)就是这个 stdio里的东西,如果没有这个头文件,编译器都不知道 printf是个什么东东。所以头文件就是一个准备好的大仓库,你可...

CRAZY_eyes的博客 7万+

Four steps to master machine learning with python (including free books &amp; resources)

To understand and apply machine learning techniques you have to learn Python or R. Both are programming languages similar to C, Java or PHP. However, since Python and R are much younger and “farer awa...

成の博客 610

【WRF-Chem工具】pyVPRM 计算大气与陆地植被之间的 CO₂ 交换通量

pyVPRM 计算大气与陆地植被之间的 CO₂ 交换通量

WW、forever的博客 210

硬件工程师入门基础知识(一)基础元器件认识(二)

我们的电路输入一般是只有两种状态,0V 或者是其它的高电平(1.8V,3.3V,5V 等),截止状态一般不用怎么考虑,因为如果让三极管的 Vbe=0,自然就截止了,重要的是饱和状态如何保证。也就是说只要 Rb

小幽余生不加糖 1万+

使用 RevoScalePy 在 SQL Server 2017 Machine Learning Services 中构建共享单车站点空置预测模型

本文基于 sql-server-samples 仓库中的 `samples/features/machine-learning-services/python/getting-started/bike-sharing prediction` 样例,完整讲解如何在 SQL Server 2017 Machine Learning Services(Python)环境中,使用微软 RevoScaleP

gitblog_01121的博客 252

U盘无法识别?一条命令轻松修复,数据不丢失

问题描述 U盘经常会遇到提示:无法识别或者需要重新格式等问题,例如下图 修复方法 WIN+R输入cmd 输入chkdsk+盘符:/F /F是修复的意思 更多内容 U盘无法识别或提示需要格式化?别急着格式化丢失数据!本文教你使用Windows自带的命令快速修复U盘文件系统错误,简单几步就能解决问题,让你的U盘恢复正常使用💾✨

XiaoqiangClub的博客 637

PADS VX中Length Tuning实现蛇形走线的工程逻辑与实操指南

蛇形走线是高速PCB设计中保障信号时序对齐的关键长度补偿技术,其本质并非图形绘制,而是基于叠层参数、阻抗连续性与制造约束的电长度精准调控。在USB3.1、PCIe Gen3、DDR4/5等高速接口设计中,传统手动绕线易导致反射、串扰与量产良率下降;而PADS VX将该能力整合进Length Tuning模块,通过目标长度定义、叠层感知求解与DRC驱动拓扑生成,实现阻抗可控、制造可行、可验证的自动化等长。本文聚焦Length Tuning的核心原理、参数配置、Gerber输出适配及量产协同要点,帮助工程师跨越

weixin_33922670的博客 387

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

ML-For-Beginners Q-Learning 实战:为「Peter and the Wolf」构建含能量与疲劳机制的更真实世界

本篇技术指南基于 ML-For-Beginners 课程 8-Reinforcement 章节第 1 课的课后挑战作业 [assignment.es.md](https://link.gitcode.com/i/cac96c62ed1f725d36b84ef60bbd28ca)(西语版,对应英文版 [assignment.md](https://link.gitcode.com/i/bb9e1c8

gitblog_00037的博客 901

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Machine Learning 学习笔记(二)——梯度下降(Gradient Descent)

Machine Learning 学习笔记(二)————梯度下降(Gradient Descent) 文章目录Machine Learning 学习笔记(二)————梯度下降(Gradient Descent)1.梯度下降图形解释2.梯度下降的数学解释3.梯度下降的最终表示总结4.用python实现线性回归的梯度下降("Batch" Gradient Descent) 1.梯度下降图形解释 上一...

WD 661

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

SolarWM评测体系完整剖析:自动指标、Gemini双序裁判与Bradley-Terry Elo如何量化世界模型

[![SolarWM 世界模型评测:长时程交互式视频世界模型的多种渲染效果展示](https://raw.gitcode.com/gh_mirrors/so/SolarWM/raw/c517b9d7292ab5e3a6e95a7bd2d65ef10c5326bb/assets/solar_teaser.png?utm_source=gitcode_repo_files)](https://link

gitblog_00603的博客 462

Star-CFQ 组合泛化实验复现指南:基于 google-research 仓库的完整训练与评估流程

本文以 `star_cfq/README.md` 为主体,结合仓库内 `run_experiment.sh`、`_run_cfq.sh`、`setup_cfq.sh` 与 `split_sets/` 目录下的实验配置,完整讲解 *-CFQ(Star-CFQ)数据集上训练与评估机器学习架构的端到端流程,涵盖 Google Cloud 虚拟机环境搭建、CFQ 依赖初始化、实验脚本参数语义以及 spli

gitblog_00736的博客 243

python-machine-learning-book 第 13 章实战:用 Theano 并行化神经网络训练并用 Keras 高效搭建 MNIST 多层感知机

本篇技术指南以《Python Machine Learning(第 1 版)》第 13 章「Parallelizing Neural Network Training with Theano」为核心,结合仓库中 [ch13 目录](https://link.gitcode.com/i/de04d4891b1afd19c587260bed19a2b9) 的完整 notebook 与可执行脚本,系统讲

gitblog_00026的博客 180

强化学习入门:用 Q-Learning 教“彼得与狼“中的智能体寻路(ML-For-Beginners 实战教程)

本篇技术指南以 ML-For-Beginners 项目第 8 部分"强化学习"第一节课程为核心,系统讲解强化学习(Reinforcement Learning, RL)的三大基本概念——**智能体(agent)、状态(state)与动作(action)**,并借助经典棋盘环境 [rlboard.py](https://link.gitcode.com/i/b2adc82c4b197dcaa344c

gitblog_00945的博客 220
上一篇: python2.X编码问题梳理
下一篇: Python图表绘制:matplotlib绘图库入门
Wang_AI
博客等级 码龄12年 988粉丝 162原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值