加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_阳江站长网 (https://www.0662zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > 模式 > 正文

Python机器学习教程

发布时间:2020-09-11 09:31:22 所属栏目:模式 来源:51cto
导读:本机器学习教程提供了机器学习的基本和中间概念。它是为完全入门的学生和专业工作人员而设计的。在本教程的最后,您不会成为机器学习方面的专家,但是您将能够制作能够执行复杂任务(例如,预测房屋价格或从尺寸识别虹膜的种类)的机器学习模型。花瓣和萼

尽管有许多可用于机器学习的语言,但据我称,Python是机器学习应用程序的最佳编程语言。这是由于以下部分提到的各种好处。可以用于机器学习应用程序的其他编程语言是R,C ++,JavaScript,Java,C#,Julia,Shell,TypeScript和Scala。R还是一种非常好的机器学习入门语言。

与其他编程语言相比,Python以其可读性和相对较低的复杂性而闻名。机器学习应用程序涉及复杂的概念,例如微积分和线性代数,这些实现需要花费很多精力和时间。Python通过快速实施来帮助机器学习工程师验证想法,从而减轻了负担。您可以查看《Python教程》以获得对该语言的基本了解。在机器学习中使用Python的另一个好处是预构建的库。如下所述,针对不同类型的应用程序有不同的软件包:

 在处理图像时使用Numpy,OpenCV和Scikit  文本处理时,NLTK与Numpy和Scikit一起  Librosa用于音频应用  Matplotlib,Seaborn和Scikit用于数据表示  用于深度学习应用程序的TensorFlow和Pytorch  科学计算科学  Django,用于集成Web应用程序  熊猫用于高级数据结构和分析

Python提供了在面向对象的编程或脚本之间进行选择的灵活性。也不需要重新编译代码。开发人员可以实施任何更改并立即查看结果。您可以将Python和其他语言一起使用以实现所需的功能和结果。

Python是一种通用的编程语言,可以在任何平台上运行,包括Windows,MacOS,Linux,Unix等。从一个平台迁移到另一个平台时,代码需要进行一些小的改动和更改,并且可以在新平台上使用了。

以下是使用Python解决机器学习问题的好处的摘要:

Python机器学习教程

机器学习的类型

机器学习大致分为三类

 监督学习  无监督学习  强化学习

什么是监督学习?

让我们从一个简单的例子开始,说您正在教一个孩子区分狗和猫。你会怎么做?

您可以给他/她看狗,然后说“这是狗”,遇到猫时您会指出它是猫。当您向孩子展示足够多的猫狗时,他可能会学会区分它们。如果他训练有素,他也许就能认出他从未见过的不同品种的狗。

同样,在监督学习中,我们有两组变量。一种称为目标变量,或称为标签(我们要预测的变量)和特征(可帮助我们预测目标变量的变量)。

我们向程序(模型)显示功能以及与这些功能关联的标签,然后程序便能够在数据中找到潜在的模式。以该数据集的示例为例,在该数据集中我们要根据房屋的大小来预测房屋的价格。作为目标变量的价格取决于作为特征的尺寸。

Number of rooms Price 1 $100 3 $300 5 $500

在真实的数据集中,我们将有更多的行和不止一个功能,例如大小,位置,楼层数等等。

因此,可以说监督学习模型具有一组输入变量(x)和一个输出变量(y)。一种算法识别输入和输出变量之间的映射函数。关系为y = f(x)。

在我们已经知道输出和算法每次都得到更正以优化其结果的意义上,对学习进行监视或监督。对数据集进行算法训练并对其进行修改,直到达到可接受的性能水平。

我们可以将有监督的学习问题归类为:

回归问题–用于预测未来价值,并使用历史数据对模型进行训练。例如,预测房屋的未来价格。

分类问题–各种标签训练算法以识别特定类别中的项目。例如,狗或猫(如上例中所述),苹果或橙子,啤酒或葡萄酒或水。

什么是无监督学习?

这种方法是没有目标变量,只有输入变量(特征)的方法。该算法可自行学习并在数据中发现令人印象深刻的结构。

目的是破译数据中的基础分布,以获得有关数据的更多知识。

我们可以将无监督学习问题分组为:

聚类:这意味着将具有相同特征的输入变量捆绑在一起。例如,根据搜索记录对用户进行分组

关联:在这里,我们发现控制数据集之间有意义关联的规则。例如,观看“ X”的人也会观看“ Y”。

什么是强化学习?

在这种方法中,机器学习模型经过训练,可以根据他们对自己的行为所获得的奖励和反馈做出一系列决策。机器学习如何在复杂和不确定的情况下实现目标,并且在学习期间每次达到目标都会获得奖励。

强化学习与监督学习在没有可用答案的意义上有所不同,因此强化代理决定执行任务的步骤。当没有训练数据集时,机器会从自己的经验中学习。

机器学习算法

这可能是您机器学习过程中最耗时且最困难的过程。机器学习中有很多算法,您不需要完全了解它们就可以入门。但是我建议,一旦您开始练习机器学习,就应该开始学习其中最受欢迎的算法,例如:

 线性回归  逻辑回归  决策树  支持向量机  朴素贝叶斯  K近邻  K均值  随机森林  梯度提升算法
 GBM  XGBoost  LightGBM   猫助推器

在这里,我将简要概述一下机器学习中最简单的算法之一,即K近邻算法(这是一种监督学习算法),并说明如何将其用于回归和分类。我强烈建议检查线性回归和逻辑回归,因为我们将要实现它们,并在实现部分将结果与KNN(K最近邻)算法进行比较。

您可能需要注意,对于回归问题和分类问题,通常有单独的算法。但是通过修改算法,我们可以将其用于分类和回归,如下所示

K最近邻居算法

KNN属于一组懒惰的学习者。与急切的学习者(例如逻辑回归,SVM,神经网络)相反,懒惰的学习者只是将训练数据存储在内存中。在训练阶段,KNN整理数据(建立索引的过程),以便在推理阶段有效地找到最接近的邻居。否则,它将不得不将推理期间的每个新个案与整个数据集进行比较,从而使其效率很低。

因此,如果您想知道什么是训练阶段,急切的学习者和懒惰的学习者,现在请记住,训练阶段是算法从提供给它的数据中学习的时间。例如,如果您经历了上面链接的线性回归算法,则在训练阶段,该算法将尝试找到最佳拟合线,该过程包括大量计算,因此需要大量时间,并且这种类型的算法被称为渴望的学习者。另一方面,懒惰的学习者就像KNN一样,不涉及很多计算,因此训练速度更快。

分类问题的K-NN

现在让我们看看如何使用K-NN进行分类。这里是一个假设的数据集,它试图根据身高和体重(特征)来预测一个人是男性还是女性(标签)。

高度(厘米)-特征 重量(kg)-特点。 性别(标签) 187 80 男 165 50 199 99 男 145 70 180 87 男 178 65 187 60 男

现在让我们绘制这些点:

Python机器学习教程

现在,我们要分类一个新点,因为它的高度为190 cm,重量为100 Kg。这是K-NN对这一点进行分类的方式:

(编辑:应用网_阳江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读