请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册
搜索

Python机器学习入门指南


机器学习是人工智能范畴的一个突出主题,曾经存在相当长的一段工夫了。 这个范畴能够提供有吸引力工作机会,并且在其中职业生涯的初始阶段,不像乍看起来那样困难。 即便您在数学或编程方面的阅历为零,这也不是成绩。 成功的最重要要素纯粹是您本人的兴味,和学习一切这些东西的动力。

假如您是新手,不知道从哪里末尾学习,为什么需求机器学习,以及为什么机器学习最近越来越盛行。您来对地方了! 我搜集了一切必要的信息和有用的资源,以协助您获得新知识并完成您的第一个项目。

为什么从Python末尾?

假如您的目的是成为一名成功的编码人员,那么您需求了解很多事情。 但是,对于机器学习和数据迷信而言,掌握至少一种编码言语,并自信地运用它就足够了。 因此,冷静点,您不必成为编程天赋。

为了成功停止机器学习,有必要从一末尾就选择合适的编码言语,由于您的选择将决议您的将来。 在此步骤中,您必须停止战略性思索,并正确安排优先事项,不要将工夫糜费在不必要的事情上。

我的观点: Python是初学者专注于进入机器学习和数据迷信范畴的理想选择。 它是一种简约而直观的言语,具有功能完全的库(也称为框架),可显着减少获得第一个结果所需的工夫。

您也可以思索运用R言语,但是就我个人而言,我更倾向于Python。 您可以在这里阅读我对此事的详细解释:Python vs R。为AI,ML和数据迷信选择最佳工具。

第0步 您需求了解的ML过程的简要概述


机器学习是基于阅历的学习。 例如,就像一个人经过观察来学习下棋,而其别人则在下棋。 这样,经过提供经过培训的信息来对计算机停止编程,从而以很高的概率获得辨认要素或其特征的才能。

首先,您需求知道机器学习的各个阶段:

· 数据采集

· 数据分类

· 数据分析

· 算法开发

· 生成检查算法

· 运用算法得出进一步的结论

为了寻觅形式,运用了各种算法,这些算法分为两组:

· 无监督学习

· 监督学习

在无监督学习的状况下,您的机器仅接收一组输入数据。 此后,机器末尾确定输入数据与任何其他假设数据之间的关系。 与无监督学习不同,在监督学习中,为计算机提供了一些用于学习的验证数据,独立的无监督学习意味着计算机本身将发现不同数据集之间的形式和关系。 无监督学习可以进一步分为聚类和关联。

监督学习意味着计算机可以根据提供的样本辨认元素。 计算机将对其停止研讨,并开发出基于此数据辨认新数据的功能。 例如,您可以训练您的计算机以根据先前收到的信息过滤渣滓邮件。

一些监督学习算法包括:

· 决策树

· 支持向量机

· 朴素贝叶斯分类器

· k近邻居

· 线性回归

第1步 提高Python数学库所需的数学技能

在AI和ML范畴工作的,不懂数学的人就像一个不知道如何压服别人的政客。 两者都不可避免会失败!

因此,是的,没有最基本的数学基础知识,就无法处理ML和Data Science项目。 但是,您无需拥有数学学位即可获得成功。 以我的个人阅历,每天至少花费30-45分钟就会播种很多成果,并且您会更快地了解和学习有关的数学和统计学的高级主题。

您需求阅读或刷新基础实际。 无需阅读整个教程,只需专注于关键概念。

这是学习机器学习所需的数学的3个步骤:

1-用于数据分析的线性代数:标量,向量,矩阵和张量

例如,对于主成分法,您需求了解特征向量,并且回归需求矩阵乘法。 此外,机器学习通常适用于高维数据(具有许多变量的数据)。 此数据类型最好用矩阵表示。

2 —数学分析:导数和梯度

数学分析是许多机器学习算法的基础。 优化成绩将需求导数和梯度。 例如,最常见的优化方法之一是梯度下降。

为了疾速学习线性代数和数学分析,我引荐以下课程:
    可汗学院提供有关线性代数和数学分析的简短实际课程。 它们涵盖了最重要的主题。MIT OpenCourseWare提供了学习ML数学的课程。 包括一切视频讲座和学习材料。

3 —梯度下降:从头末尾构建简单的神经网络

在分析和机器学习范畴中学习数学的最好方法之一是从头末尾构建简单的神经网络。 您将运用线性代数来表示网络,并运用数学分析对其停止优化。 特别是,您将从头末尾创建梯度下降。 不必太担心神经网络的纤细差别。 假如您只是按照阐明停止操作并编写代码,那很好。

以下是一些不错的演练:
    Python中的神经网络-这是一个很棒的教程,您可以从一末尾就构建一个简单的神经网络。 您将找到有用的插图,并了解梯度下降的工作原理。https://www.amazon.com/Neural-Network-Projects-Python-ultimate/dp/1789138906

简短的教程也将协助您逐渐掌握神经网络:
    如何在Python中从头末尾构建本人的神经网络 https://towardsdatascience.com/how-to-build-your-own-neural-network-from-scratch-in-python-68998a08e4f6运用Python从头末尾完成神经网络-简介。 http://www.wildml.com/2015/09/implementing-a-neural-network-from-scratch/面向初学者的机器学习:神经网络入门-关于神经网络如何工作以及如何从头末尾在Python中完成神经网络的一个更好的简单解释。https://victorzhou.com/blog/intro-to-neural-networks/

第2步 学习Python语法的基础

好音讯:您不需求残缺的学习课程,由于Python和数据分析不是同义词。

在末尾深化讨论语法之前,我想分享一个建议,该建议可以最大程度地减少能够的失败。

经过阅读有关游泳技巧的书来学习游泳是不能够的,但是在游泳池停止训练的同时阅读它们会更有效地获得技能。(你的书最好防水)

对编程的研讨也相似。 仅关注语法是不可行的。 那样,您能够会得到兴味。

您无需记住一切内容。 迈出小步,不关键怕将实际知识与实际相结合。 例如,专注于直观的了解,在特定状况下哪种功能合适,以及条件运算符如何工作。 您将经过阅读文档,并在编写代码的过程中逐渐记住语法。 很快,您不再需求运用Google这样的工具。

假如您没有任何编程知识,建议阅读"运用Python自动完成无聊的事情"。

该书为初学者提供了适用的编程阐明,并从零末尾讲授。 阅读第6章,"字符串操作",并完成本课的实践义务。 这样就足够了。

这里还有一些其他值得探求的资源:
    Codecademy-教授良好的通用语法 https://www.codecademy.com/艰难地学习Python –一本精巧的相似手册的书,引见了基础知识和更复杂的运用程序。https://learnpythonthehardway.org/Dataquest-此资源教授语法,同时也教授数据迷信 https://www.dataquest.io/Python教程—官方文档 https://docs.python.org/3/tutorial/

请记住,您越早末尾从理想际项目,您就会越早学习它。 无论如何,假如需求,您总是可以前往语法部分。

第3步 次要数据分析库


进阶阶段是修正和完善适用于数据迷信的Python部分。 是的,是时分学习库或框架了。 如前所述,Python拥有大量的库。 库纯粹是现成的函数和对象的集合,您可以将其导入脚本中以节省工夫。

如何运用库? 这是我的建议:
    打开Jupyter Notebook(请参阅下文)。在大约半小时内阅读库文档。将库导入到Jupyter Notebook中。请按照分步指南查看实践运用的库。检查文档以查看其还具有什么功能。

我不建议立刻进退学习库,由于在项目中末尾运用它们时,您能够会遗忘所学的大部分内容。 相反,请尝试找出每个库的功能。

#Jupyter笔记本

Jupyter Notebook是一种轻量级的IDE,在分析人员中非常受欢迎。 在大多数状况下,Python的安装包中曾经包含Jupyter Notebook。 您可以经过安装Anaconda(包含在Anaconda软件包中)打开一个新项目。

您将需求的Python库:

NumPy

NumPy是从Numeric Python简化而来的,它是针对专业人士和初学者的最通用,最通用的库。 运用此工具,您可以轻松,温馨地处理多维数组和矩阵。 也可以运用诸如线性代数运算和数值转换之类的函数。

Pandas

Pandas是一个著名的高功能工具,用于显示数据帧。 运用它,您可以从几乎任何来源加载数据,计算各种函数并创建新参数,并运用相似于SQL的聚合函数对数据停止查询。 而且,存在各种矩阵变换函数,滑动窗口方法以及用于从数据获得信息的其他方法。 因此,对于一个好的专家来说,这完全是不可或缺的事情。

Matplotlib

Matplotlib是用于创建图形和可视化的灵敏库。 它功能弱小,但内容却很旁大。 此时,您可以跳过Matplotlib并运用Seaborn入门(请参见下面的Seaborn)。

Scikit Learn

我可以说这是我迄今为止接触到的设计最完善的ML程序包。 它完成了广泛的机器学习算法,并且很容易将其引入实践运用中。 您可以在此处运用一系列功能,例如回归,聚类,模型选择,预处理,分类等。 因此,完全值得学习和运用。 这里的最大优势是工作速度高。 因此,毫不奇异,为什么像Spotify,Booking.com和J.P.Morgan这样的抢先平台都运用scikit-learn。

第4步 开发结构化项目

掌握了基本语法,并探求了基本的库之后,您就可以末尾本人制造项目了。 经过这些项目,您将可以了解新事物以及创建用于进一步求职的投资组合。

有足够的资源为结构化项目提供主题。
    Dataquest-教授交互式地Python和数据迷信。 您正在分析一系列风趣的数据集,从地方情报局的文件末尾,以NBA的比赛统计数据结束。 您将开发战术算法,其中包括神经网络和决策树。https://www.dataquest.io/Python for Data Analysis —由许多论文的作者撰写的关于Python数据分析的书。

    Scikit —文档— Python上的次要计算机培训库。https://scikit-learn.org/stable/documentation.htmlCS109 —哈佛大学数据迷信专业的课程。https://cs109.github.io/2015/

第5步 处理本人的项目

您可以找到很多新事物,但是找到那些可以激发您灵感的项目很重要。 但是,就在找到理想工作的愉快时辰之前,您应该学习如何出色地处理程序中的错误。 在用于此目的的最受欢迎的有用资源中,可以区分以下内容:
    StackOverflow —多功能站点,提供了许多成绩和答案,人们可以在其中讨论一切能够的成绩。 另外,它是最受欢迎的地方,因此您可以讯问本人的错误并从众多受众中获得答案Python文档-另一个搜索参考材料的好地方

不用说,您也不应该忽略任何需求合作的机会。 参与与Python相关的一切能够的事情,并找到从事风趣项目的人员。 特地探求别人开发的新项目,Github是完成此目的的绝佳场所。 了解新知识并继续关注主题-一切这些都必将有助于提升你的程度!

最后的话和一点动机


您能够会问:"我为什么要涉足机器学习范畴? 能够曾经有很多其他优秀专家了。'

知道什么? 我也曾堕入这个圈套,如今可以大胆地说-这种想法不会给您带来任何好处。 这是您获得成功的宏大妨碍。

根据摩尔定律,集成电路中的晶体管数量每24个月翻一番。 这意味着我们的计算机的功能每年都在增长,这意味着以前无法访问的知识范围再次"向右移动" —有研讨大数据和机器学习算法的空间!

将来在等着我们。 也许这些数字将进一步添加,并且机器学习将变得愈加重要? 而且很能够是的!

您能做的最可怕的事情就是假设您的地位已被另一位专家接过。

我希望您有很多学习的志愿和力气,之后再停止那些一定能激发您灵感的项目! 在回复中分享您的阅历!




(本文翻译自Oleksii Kharkovyna的文章《Beginner’s Guide to Machine Learning with Python》, 参考https://towardsdatascience.com/beginners-guide-to-machine-learning-with-python-b9ff35bc9c51)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

大神点评3

看起来好像不错的样子
回复

使用道具 举报

章紫枫 2019-12-10 13:14:03 来自手机 显示全部楼层
对不起,我就来看看,不说话
回复

使用道具 举报

残缺的汤圆 2019-12-11 10:39:25 显示全部楼层
LZ帖子不给力,勉强给回复下吧
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies