我们Pick了一些用Python进行机器学习实践的基本技巧。我是一名计算机科学与技术专业的学生。我怎么才能入门机器学习/深度学习/人工智能?

原标题Some Essential Hacks and Tricks for Machine Learning with Python,作者为Tirthajyoti Sarkar。

咱们Pick了一些用Python进行机器学习实践的根本技巧。

我是一名核算机科学与技术专业的学生。我怎样才干入门机器学习/深度学习/人工智能?

入门机器学习历来不是一件简略的事。除了老练的MOOC,网络上还有海量的免费资源,这儿列举了一些从前对我有协助的资源:

  1. 从YouTube上的一些精彩的视频开端入门。读一些优异的教材或文章。例如,你读过《 终极算法: 机器学习和人工智能怎么重塑国际》吗?而且我敢保证,你会深深的爱上这本书里有关机器学习的精彩页面。

  2. 首先要明晰差异相关术语——机器学习、人工智能、深度学习、数据科学、核算机视觉、机器人。阅览或倾听专家的讲座。观看Brandon Rohrer的精彩视频,他是一位很有影响力的数据科学家,这些视频明晰的叙述了数据科学相关概念的界说和差异。

  3. 清楚知道自己学习想要到达的方针。然后,学习Coursera的课程,或许一些来自华盛顿大学的课程,也是不错的挑选。

  4. 重视一些优异的博客: KDnuggets,Mark Meloon的博客,是关于数据科学的,Brandon Rohrer的博客,Open AI的博客,首要是关于他们的研讨的。

  5. 假如你对在线mooc课程充满热情,无妨看看这篇文章的辅导。

  6. 最重要的是,培育一种感觉。参加一些好的交际论坛,可是要抵制住引诱,不要去重视那些耸人听闻的标题和新闻内容。做你自己的阅览,了解它是什么,它不是什么,它或许去哪里,它会有什么样的或许性。 然后坐下来考虑怎么将机器学习或许将数据科学原理运用到日常工作中。 树立一个简略的回归模型来猜测下一顿午饭的本钱,或许从电力公司那里下载你的用电数据,然后在Excel中做一个简略的时刻序列图来发现一些用电规则。 在您彻底沉迷于机器学习之后,能够看看这个视频。

关于机器学习/人工智能,Python是一款优异的言语吗?

除非你是一个研讨杂乱算法的纯理论证明的博士研讨员,不然你将首要运用现有的机器学习算法,并将它们运用于处理新问题。这就需求你懂得怎么编程。

关于“最优异的数据科学言语”有许多争辩。当争辩剧烈的时分,停下来读读这篇有见地的文章,了解你的主意,看看你的挑选。或许,看看 KDnuggets 的文章。现在,咱们普遍认为,从开发到布置及保护,Python能够协助开发人员更有功率。与 Java、C 和 C++ 比较,Python 的语法更简略,更高档。 它具有充满活力的社区,开源文明,数以百计高质量的机器学习程序库,以及来自职业巨子的鼎力支撑(例如:谷歌,Dropbox,Airbnb 等)。这篇文章会重视PythonIt运用于机器学习上的相关根本技巧。

需求了解及把握的根底程序库

为使机器学习实践功率更高,你需求把握一些 Python 中心库。这些库简略介绍如下。

Numpy

Numerical Python的缩写,NumPy 是选用 Python 进行科学核算和数据剖析一切必要的根本程序库。简直一切的高档东西都是根据 Numpy 构建的,例如 Pandas 和 scikit-learn。 TensorFlow 运用 Numpy数组作为根底构件模块,根据此,为深度学习使命构建了 Tensor 目标和 graphflow 。许多 Numpy 操作都是用 C 完结的,这使它运转更快。对数据科学和现代机器学习使命来说,这是一个名贵的优势。

Pick一下?Python机器学习实用技巧(python机器训练)  Python 机器学习 编程语言 第1张

Pandas

这是 Python 科学核算范畴进行通用数据剖析方面最盛行的库。Pandas 根据 Numpy 数组构建,因而保留了核算速度快的特性,而且供给了许多数据工程范畴的功用,包括:

  • 能够读/写多种不同的数据格式;

  • 挑选数据子集;

  • 跨行列核算;

  • 查找并填充缺失的数据;

  • 将操作运用到数据中的独立组 ;

  • 将数据重组成不同的办法;

  • 兼并多个数据集;

  • 高档的时序功用;

  • 经过 Matplotlib 和 Seaborn 完结可视化;

Pick一下?Python机器学习实用技巧(python机器训练)  Python 机器学习 编程语言 第2张

Matplotlib 与 Seaborn

数据可视化和长于用数据表达是每一位数据科学家应有的根本技术,这些技术能够有用传达从剖析中取得的信息。这关于把握并通晓机器学习是十分重要的,在你的机器学习工作流(ML Pipeline)中也是如此。在决议运用特定的ML算法之前,您需求对数据集进行探究性剖析。

Matplotlib 是运用最广泛的2维可视化库,它具有令人目不暇接的数组指令和接口,能够从数据生成高质量的图表。,能够帮你入门 Matplotlib 。

Pick一下?Python机器学习实用技巧(python机器训练)  Python 机器学习 编程语言 第3张

Seaborn 是另一个十分棒的专心于核算绘图的可视化库。机器学习从业者是值得学习的。在 Matplotlib 根底之上,Seaborn 供给 API (具有绘图款式和色彩默许的灵敏挑选),针对常见的核算绘图类型它界说简略的高档函数,针对 Pandas 库能够无缝对接。这儿有一份合适初学者的很棒的 Seaborn 教程。

Pick一下?Python机器学习实用技巧(python机器训练)  Python 机器学习 编程语言 第4张

Seaborn plots的比如

Scikit-learn

Scikit-learn 是必备的最重要的常见 Python 的机器学习包。它支撑多种分类、回归和聚类算法,包括支撑向量机、随机森林、梯度提高、k-means 和 DBSCAN 。Scikit-learn 可与 NumPy 库 SciPy 库交互操作。它经过共同界面供给一系列的监督和非监督算法。Scikit-learn 库致力于完结必定程度的健壮性和支撑出产实践中的运用。这意味着要深化重视例如易于运用,代码质量,协作,文档和功能等问题。能够看看这篇关于Scikit-learn运用的机器学习词汇的简略介绍。这儿是另一篇文章,演示了运用 Scikit-learn 的简略机器学习管道办法。这儿有另一篇运用Scikit-learn演示简略的机器学习办法的文章。

Scikit-learn背面的闪光点

针对机器学习初学者和经历丰富的专业人士,Scikit-learn 是十分简略上手的包。可是,即便是十分有经历的ML从业人员也或许没有意识到这个包背面一切的的闪光点,它们能够明显提高功率。我企图展现scikit-learn中少为人知的办法/接口。

管道:它能够将多个 estimators 封装成一个。处理数据进程中一般有一系列固定进程所以它十分有用,例如特征挑选、规范化和分类。这儿有份教程供深化了解。

网格查找:超参数不是在estimators直接学习到的参数。在 scikit-learn 中它们作为参数传递给估量类的结构函数。查找超参数空间以便取得最好穿插验证分数是可行且被引荐的做法。当构建 estimators 时待估的任何参数都能够用这种办法优化。

验证曲线:每个 estimator 都有其优缺点。泛化差错可根据误差,方差和噪音分化。estimators 的误差是不同操练集的平均差错。estimators 的方差表明其对改动操练集有多灵敏。噪音是数据的一个特点。制作单个超参数在操练集和验证集的分数,以确认某些超参数估量量是过拟合仍是欠拟合的做法是十分有用的。Scikit-learn 内置办法请移步于此。

Pick一下?Python机器学习实用技巧(python机器训练)  Python 机器学习 编程语言 第5张

分类数据的独热编码:它是一种十分常见的数据预处理使命,用于将输入的分类特征转化为分类或猜测使命中运用的二进制编码(例如:掺稀有指和文本特征的逻辑回归)。Scikit-learn 供给强壮而简略的办法完结上述进程。它直接在 Pandas 数据框或 Numpy 数组上操作,因而便于用户为这些转化编写任何特别的 map/apply 函数。

多项式特征生成:关于不尽其数的回归建模使命,在输入数据中考虑非线性特征来添加模型的杂乱性是有用的。一个简略且常用的办法是运用多项式特征,可得到特征的高阶和交互项。Scikit-learn有现成的函数,可根据给定的特搜集和用户挑选的最高多项式的程度生成高阶的穿插项。

数据集生成器:Scikit-learn包括各种随机样本生成器,可用于构建给定巨细和杂乱度的人工数据集。它具有分类,聚类,回归,矩阵分化和多种测验的函数。

Pick一下?Python机器学习实用技巧(python机器训练)  Python 机器学习 编程语言 第6张

实践交互式机器学习

在2014年 Jupyter 项目于脱胎于 IPython 项目,并敏捷演变为支撑一切干流编程言语的交互式数据科学和科学核算的笔记本。毫无疑问,它在协助数据科学家快速测验,为他/她的主意创立原型,展现作用给同行和开源社区等方面带来巨大影响。

可是,只要当用户能够交互式地操控模型参数并实时看到作用(简直)的时侯,学习和测验数据才变得真实滋润其间。Jupyter 中大大都出现都是静态的

可是你需求更多操控,你想经过简略的滑动鼠标而不是经过编写 for 循环改动变量。该怎样办?你能够运用 IPython 的插件。

插件是重要的 Python 组件,它经过浏览器有所表现,一般作为一个前端 (HTML/JavaScript) 出现通道控件,如滑块、文本框等。

本文我演示运用简略插件完结根底的曲线拟合操练。后续文章将进一步扩展到交互式及其学习技术范畴。

深度学习结构

本文介绍运用 Python 探究机器学习美妙国际的重要技巧。但它不包括 TensorFlow,Keras 或 PyTorch等深度学习结构,由于它们每一个都需求深化评论。您能够在这儿阅览一些关于上述主题的十分棒的文章,但稍后咱们或许会对这些冷艳的结构进行专门评论。

  • 7 great articles on TensorFlow (Datascience Central)

  • Datacamp tutorial on neural nets and Keras example

  • AnalyticsVidhya tutorial on PyTorch

总结

文章不或许掩盖机器学习主题的全部内容(即便是一小部分)。可是,期望这篇文章能激起你的爱好,也为你供给 Python 生态系统中已存在一些强壮结构的明晰指针,保证开端你的机器学习之旅。

转载请说明出处
知优网 » Pick一下?Python机器学习实用技巧(python机器训练)

发表评论

您需要后才能发表评论