构建机器学习应用的基本步骤

目录

定义问题

收集标记数据

分析我们的数据

特征处理

将数据分为训练数据和评估数据

训练模型

训练参数

学习率

模型大小

迭代次数

打乱数据(Shuffling)

正则化

评估模型的准确率

二元分类(Binary Classification)

多类分类(Multiclass Classification)

回归(Regression)

提高模型的精度

模型拟合:欠拟合与过拟合

使用模型做预测

批量预测

在线预测

使用新数据重新训练


构建机器学习应用是一个迭代的过程,主要包括以下几个步骤:

  • 根据观察到的数据和你想要模型回答的问题来构建核心的ML问题;
  • 收集、清洗、准备数据,使其适合ML模型的训练;对数据进行可视化和分析、进行完整性检查、验证数据的有效性并理解数据;
  • 通常来讲,原始数据(输入变量)和答案(目标)并不是以一种能够训练高预测性模型的形式展现出来的。因此,通常我们需要利用原始输入构造更具预测性的输入表达(特征);
  • 用得到的特征训练模型,利用未参与训练的数据评估模型的性能;
  • 使用模型对新的数据进行预测;

定义问题

机器学习的第一个步骤是要决定我们想要预测的是什么,也就是数据的标签或是目标答案。设想这样一个场景:我们生产各种各样的商品,并基于预期销量来决定每种商品要生产多少。在这个场景下,我们想要预测每种商品会被购买多少次,即预测销售量。有多种方法来定义这个问题,具体如何选择依赖于我们的使用场景或商业需求。

我们是想要预测客户对每个产品的采购量呢(此时是一个回归问题)还是想要预测哪些产品的采购量会超过10个呢(此时是一个二元分类问题)?

非常重要的是要避免把问题过度复杂化,并选择能够满足我们需求的最简单的方案。花些时间来决定预测哪个指标最有意义能够让我们免于构建那些无法回答我们问题的模型。

收集标记数据

机器学习问题始于数据,特别是大量的我们知道答案的数据。那些我们已知道答案的数据便是标记数据。在监督学习中,算法能够利用我们提供的标记数据自己学习。

我们的数据中的每个样本都必须包括两个元素:

  • 目标——我们想要预测的答案。我们提供标记有正确答案的数据给机器学习算法去学习,然后便可以利用训练好的模型对我们不知道答案的数据进行预测。

  • 变量/特征——可以用来识别模式、预测答案的样本属性。

举个例子,对于邮件分类问题来说,目标是判断某封邮件是不是垃圾邮件。变量则是诸如发信人、邮件内容、邮件主题、邮件发送时间等信息。

通常来讲,数据并不总是已经标记好了,可以直接拿来用的。在处理机器学习问题时,收集和准备变量和标记常常是最重要的一个步骤。这些样本数据应该能够代表那些我们想要用模型去预测的数据。

在有了标记数据以后,我们可能还需要把它们转换成我们的算法或模型可以接受的形式。比如,可能需要把数据保存在CSV(comma-separated value)文件中。

分析我们的数据

在把标记数据输入给ML算法之前,最好能够对数据进行一些检视,以便发现问题,对数据有一些了解。必须记住的是我们的模型的预测能力完全受限于我们提供给它的数据。

在分析数据时,需要记住以下几点:

变量和目标数据的大致情况——理解变量由哪些值组成以及哪些值占主导地位是很有用的。问自己一些问题:这些数据符合我们的预期吗?是否有某一类的数据比其他类更常见?缺失的值或无效的值是否比预期的多?

变量-目标的相关性——知道每个变量与目标值之间的相关性是很有帮助的,相关性高意味着变量和目标之间存在某种关系。通常,我们想要包含高相关性的变量(因为它们的预测能力较高),而忽略掉那些低相关性的变量(因为它们可能无关紧要)。

特征处理

在大致了解了我们的数据之后,可能还会想要对其做一些变换,使它们更有意义,这便是特征处理。例如,我们有一个变量是某个事件发生时的日期和时间,这个日期和时间以后肯定不会再出现,所以也就对预测目标没什么用处。但是,如果我们把这个值处理成一天里的某个时段,一周或者一个月里的某天,那这些变量就可能用来学习这个事件是否倾向于发生在某个特定的时段、日期或月份。这种特征处理能够形成更通用的数据,可以显著提升预测模型的性能。

常见的特征处理的例子:

  • 用更有意义的值替换缺失值或无效值。一个常用的策略是用均值或中值替换缺失值。在选择替换缺失值的策略前有必要先理解我们的数据。
  • 构造不
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值