机器学习基于python opencv_Python机器学习实践指南:机器学习的相关工作流程

机器学习正在迅速改变我们的世界。作为人工智能的核心,我们几乎每天都会读到机器学习如何改变日常的生活。一些人认为它会带领我们进入一个风格奇异的高科技乌托邦;而另一些人认为我们正迈向一个高科技天启时代,将与窃取我们工作机会的机器人和无人机敢死队进行持久的战争。不过,虽然权威专家们可能会喜欢讨论这些夸张的未来,但更为平凡的现实是,机器学习正在快速成为我们日常生活的固定装备。随着我们微小但循序渐进地改进自身与计算机以及周围世界之间的互动,机器学习正在悄悄地改善着我们的生活。

如果你在Amazon.com这样的在线零售商店购物,使用Spotify或Netfix这样的流媒体音乐或电影服务,甚至只是执行一次Google搜索,你就已经触碰到了机器学习的应用。使用这些服务的用户会产生数据,这些数据会被收集、汇总并送入模型,而模型最终会为每个用户创建个性化的体验来完善服务。

想要深入到机器学习应用的开发中,现在就是一个理想的时机。你会发现, Python是开发这些应用的理想选择。Python拥有一个深度的、活跃的开发者社区,许多开发者也来自科学家的社区。这为Python提供了一组丰富的科学计算库。在本书中,我们将讨论并使用这些来自Python科学栈的库。

在接下来的章节中,我们将一步步学习如何建立各种不同的机器学习应用。但是,在真正开始之前,我们将使用本章剩下的篇幅讨论这些关键库的特性,以及如何准备能充分利用它们的环境。

我们将在本章中介绍以下主题。

·数据科学机器学习的工作流程。

·工作流中每个阶段的库。

·设置你的环境。

1.1 数据科学/机器学习的工作流程

打造机器学习的应用程序,与标准的工程范例在许多方面都是类似的,不过有一个非常重要的方法有所不同:需要将数据作为原材料来处理。数据项目成功与否,很大程度上依赖于你所获数据的质量,以及它是如何被处理的。由于数据的使用属于数据科学的领域,理解数据科学的工作流程对于我们也有所帮助:整个过程要按照图1-1中的顺序,完成六个步骤:获取,检查和探索,清理和准备,建模,评估和最后的部署。

在这个过程中,还经常需要绕回到之前的步骤,例如检查和准备数据,或者是评估和建模,但图1-1所示的内容可以描述该过程较高层次的抽象。

8e9eaf74bab77497b989ea1843e6c489.png

图1-1

现在让我们详细讨论每一个步骤。

1.1.1获取

机器学习应用中的数据,可以来自不同的数据源,它可能是通过电子邮件发送的CSV文件,也可能是从服务器中拉取出来的日志,或者它可能需要构建自己的Web爬虫。数据也可能存在不同的格式。在大多数情况下,它是基于文本的数据,但稍后将看到,构建处理图像甚至视频文件的机器学习应用,也是很容易的。不管是什么格式,一旦锁定了某种数据,那么了解该数据中有什么以及没有什么,就变得非常重要了。

1.1.2检查和探索

一旦获得了数据,下一步就是检查和探索它们。在这个阶段中,主要的目标是合理地检查数据,而实现这一点的最好办法是发现不可能或几乎不可能的事情。举个例子,如果数据具有唯一的标识符,检查是否真的只有一个;如果数据是基于价格的,检查是否总为正数;无论数据是何种类型,检查最极端的情况。它们是否有意义?一个良好的实践是在数据上运行一些简单的统计测试,并将数据可视化。此外,可能还有一些数据是缺失的或不完整的。在本阶段注意到这些是很关键的,因为需要在稍后的清洗和准备阶段中处理它。只有进入模型的数据质量好了,模型的质量才能有保障,所以将这一步做对是非常关键的。

1.1.3清理和准备

当所有的数据准备就绪,下一步是将它转化为适合于模型使用的格式。这个阶段包括若干过程,例如过滤、聚集、输入和转化。所需的操作类型将很大程度上取决于数据的类型,以及所使用的库和算法的类型。例如,对于基于自然语言的文本,其所需的转换和时间序列数据所需的转换是非常不同的。全书中,我们将会看到一些转换的的例子。

1.1.4 建模

一旦数据的准备完成后,下一阶段就是建模了。在这个阶段中,我们将选择适当的算法,并在数据上训练出一个模型。在这个阶段,有许多最佳实践可以遵循,我们将详细讨论它们,但是基本的步骤包括将数据分割为训练、测试和验证的集合。这种数据的分割可能看上去不合逻辑-尤其是在更多的数据通常会产生更好的模型这种情况下-但正如我们将看到的,这样做可以让我们获得更好的反馈,理解该模型在现实世界中会表现得如何,并避免建模的大忌:过拟合。

1.1.5评估

一旦模型构建完成并开始进行预测,下一步是了解模型做得有多好。这是评估阶段试图回答的问题。有很多的方式来衡量模型的表现,同样,这在很大程度上依赖于所用数据和模型的类型,不过就整体而言,我们试图回答这样的问题:模型的预测和实际值到底有多接近。有一堆听上去令人混淆的名词,例如根均方误差、欧几里德距离,以及F1得分,但最终,它们还是实际值与预估值之间的距离量度。

1.1.6部署

一旦模型的表现令人满意,那么下一个步骤就是部署了。根据具体的使用情况,这个阶段可能有不同的形式,但常见的场景包括将其作为另一个大型应用程序中的某个功能特性,一个定制的Web应用程序,甚至只是一个简单的cron作业。

本文节选自《Python机器学习实践指南》

8e11816a2c9570f25bd353863394c1a2.png

机器学习是近年来渐趋热门的一个领域,同时Python语言经过一段时间的发展也已逐渐成为主流的编程语言之一。本书结合了机器学习和Python语言两个热门的理念,通过易于理解的项目详细讲述了如何构建真实的机器学习应用程序。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值