统计学和机器学习是两个联系非常紧密的领域。
事实上,两者之间的界限有时可能非常模糊。尽管如此,有些方法明确属于统计学领域,它们在机器学习项目中不仅有用,而且是无价的。
可以公平地说,要有效地完成一个机器学习预测建模项目,统计方法是必需的。
在这篇文章中,您将发现统计方法的具体示例,这些方法在预测建模问题的关键步骤中非常有用且必不可少。
完成这篇文章后,您将了解:
- 探索性数据分析、数据摘要和数据可视化可用于帮助构建您的预测建模问题并更好地理解数据。
- 统计方法可以用于清理和准备用于建模的数据。
- 统计假设检验和估计统计学可以帮助模型选择,以及呈现最终模型的性能和预测。
用我的新书《机器学习统计学》启动您的项目,其中包括所有示例的分步教程和Python源代码文件。
让我们开始吧。

在应用机器学习项目中使用统计方法的10个示例
照片由 chenutis 提供,保留部分权利。
概述
在这篇文章中,我们将看10个在应用机器学习项目中使用统计方法的例子。
这将证明,掌握统计学知识对于成功完成预测建模问题至关重要。
- 问题构建
- 数据理解
- 数据清洗
- 数据选择
- 数据准备
- 模型评估
- 模型配置
- 模型选择
- 模型呈现
- 模型预测
需要机器学习统计学方面的帮助吗?
立即参加我为期7天的免费电子邮件速成课程(附示例代码)。
点击注册,同时获得该课程的免费PDF电子书版本。
1. 问题构建
在预测建模问题中,最具影响力的环节或许是问题的构建。
这包括选择问题类型,例如回归或分类,以及可能的问题输入和输出的结构和类型。
问题的构建并不总是显而易见的。对于某个领域的新手来说,可能需要对该领域的观察数据进行大量探索。
对于可能习惯于从传统视角看待问题的领域专家来说,从多个角度审视数据也可能让他们受益。
在问题构建阶段,有助于数据探索的统计方法包括:
- 探索性数据分析。通过摘要和可视化来探索数据的临时视图。
- 数据挖掘。自动发现数据中的结构化关系和模式。
2. 数据理解
数据理解意味着对变量的分布以及变量之间的关系有深入的把握。
这些知识部分可能来自领域专业知识,或者需要领域专业知识才能解释。尽管如此,无论是专家还是研究领域的新手,通过亲手处理该领域的真实观察数据都将受益。
用于帮助理解数据的两大统计方法分支是:
- 摘要统计。使用统计量来总结变量的分布和关系的方法。
- 数据可视化。使用图表、绘图和图形等可视化方式来总结变量的分布和关系的方法。
3. 数据清理
来自某个领域的观察数据通常不是原始完美的。
尽管数据是数字化的,但它可能会经历一些过程,从而损害数据的保真度,进而影响任何使用这些数据的下游过程或模型。
一些例子包括:
- 数据损坏。
- 数据错误。
- 数据丢失。
识别和修复数据问题的过程称为数据清理。
统计方法被用于数据清理;例如:
- 异常值检测。用于识别与分布中期望值相差甚远的观测值的方法。
- 插补。用于修复或填充观测值中损坏或缺失值的方法。
4. 数据选择
在建模时,并非所有的观测值或所有的变量都是相关的。
将数据范围缩小到对进行预测最有用元素的这个过程称为数据选择。
用于数据选择的两类统计方法包括:
- 数据抽样。从较大数据集中系统地创建较小代表性样本的方法。
- 特征选择。自动识别与结果变量最相关的变量的方法。
5. 数据准备
数据通常不能直接用于建模。
通常需要进行一些转换,以改变数据的形态或结构,使其更适合所选择的问题框架或学习算法。
数据准备是使用统计方法进行的。一些常见的例子包括:
- 缩放。诸如标准化和归一化等方法。
- 编码。诸如整数编码和独热编码等方法。
- 变换。诸如Box-Cox方法之类的幂变换方法。
6. 模型评估
预测建模问题的一个关键部分是评估学习方法。
这通常需要估计模型在模型训练期间未见过的数据上进行预测时的性能。
通常,规划训练和评估预测模型的过程被称为实验设计。这是统计方法的一个完整子领域。
- 实验设计。设计系统性实验以比较自变量对结果影响的方法,例如机器学习算法的选择对预测准确性的影响。
作为实施实验设计的一部分,会使用一些方法对数据集进行重采样,以便经济地利用可用数据来估计模型的性能。这两者代表了统计方法的一个子领域。
- 重采样方法。为了训练和评估预测模型,系统地将数据集分成子集的方法。
7. 模型配置
一个给定的机器学习算法通常有一套超参数,允许学习方法针对特定问题进行调整。
超参数的配置通常是经验性的,而非分析性的,需要进行大量的实验来评估不同超参数值对模型性能的影响。
不同超参数配置结果的解释和比较是使用统计学的两个子领域之一进行的,即:
- 统计假设检验。量化在给定关于结果的假设或期望的情况下观察到该结果的可能性的方法(使用临界值和p值呈现)。
- 估计统计学。使用置信区间量化结果不确定性的方法。
8. 模型选择
对于一个给定的预测建模问题,可能有多种机器学习算法是合适的。
选择一种方法作为解决方案的过程称为模型选择。
这可能涉及项目利益相关者的一系列标准,以及对为该问题评估的方法的估计性能的仔细解读。
与模型配置一样,有两类统计方法可用于解释不同模型的估计性能,以进行模型选择。它们是:
- 统计假设检验。量化在给定关于结果的假设或期望的情况下观察到该结果的可能性的方法(使用临界值和p值呈现)。
估计统计学。使用置信区间量化结果不确定性的方法。
9. 模型呈现
一旦最终模型训练完成,可以在其被用于或部署到对真实数据进行实际预测之前,向利益相关者进行呈现。
呈现最终模型的一部分包括呈现模型的估计性能。
估计统计学领域的方法可以通过使用容忍区间和置信区间来量化机器学习模型估计性能的不确定性。
- 估计统计学。通过置信区间量化模型性能不确定性的方法。
10. 模型预测
最后,将开始使用最终模型对我们不知道真实结果的新数据进行预测。
作为进行预测的一部分,量化预测的置信度非常重要。
就像模型呈现过程一样,我们可以使用估计统计学领域的方法来量化这种不确定性,例如置信区间和预测区间。
- 估计统计学。通过预测区间量化预测不确定性的方法。
总结
在本教程中,您发现了在整个预测建模项目工作流程中统计方法的重要性。
具体来说,你学到了:
- 探索性数据分析、数据摘要和数据可视化可用于帮助构建您的预测建模问题并更好地理解数据。
- 统计方法可以用于清理和准备用于建模的数据。
- 统计假设检验和估计统计学可以帮助模型选择,以及呈现最终模型的性能和预测。
你有什么问题吗?
在下面的评论中提出你的问题,我会尽力回答。
说统计方法在机器学习领域有用,就像说木工方法对木匠有用一样。抛开数据管理不谈,机器学习的全部意义就是对数据应用统计方法。
也许让我好奇的是下面这个问题——没有统计学,机器学习可能吗?
谢谢。
当然,统计学家们从未将实际的模型方法视为统计学,例如CART、神经网络、SVM等。他们过去和现在都认为这些是来自计算机科学的算法。
过多的统计学知识对创建机器学习模型也不好。有时,统计学家会忽略一个特征,因为他认为它对因变量影响不大。但实际上,在预测中,特征的组合可以产生非常好的预测能力。
这种情况可能会发生。
统计知识非常重要和有用,但它“仅仅是”领域知识,因此只是工具箱中的一个工具。我们(有时)通过让多个部门参与这个过程来解决这个问题。这些人对要解决的问题有不同的看法。统计方法提供了基础、补充和验证。然后看看差异,事情就会变得有趣起来。关键时刻 😉
在特征分布的表示过程中,如果它向左或向右偏斜,下一步该怎么做?特征必须是正态分布吗?置信区间和假设检验在模型构建中是如何使用的?
您可以使用幂变换来修正偏斜。
一些算法偏好数据具有高斯分布。
置信区间用于呈现模型性能。假设检验用于确认模型之间的差异是真实的。
对统计学在机器学习中的应用做了很好的总结。特别是推断统计学在机器学习中的应用。
谢谢。
为了制作一个能够预测标签的机器学习模型,是否必须使用这些统计方法?
要开发一个鲁棒且性能良好的模型,我认为是的。
这是否更偏向于监督学习?
是的,本博客和这篇文章的重点是监督学习。
你好,这可能不是提出这个问题的合适帖子,我预先道歉。
是这样的,我有一个数据库,我打算分析它以获得一些预测。但问题是这些数据不是数值(可以说),而是文字。我给你一个小的背景,我有的数据是电信设备的告警,这些告警按优先级划分,此外还有其他类型的参数显示了相关设备的特性。
您会如何处理这种情况?我曾想过将我的数据二值化,只将我想要预测的设为1级,其他的设为0级,但我认为这会丢失系统的内在特性。有什么方法可以处理这些情况吗?
非常感谢您的工作,Jason,它对我非常有帮助。
我建议对单词或文本进行编码。整数编码、词袋模型或独热编码可能是一个好的起点。之后可以考虑更高级的编码。
或许可以从这里描述的一些技术开始:
https://machinelearning.org.cn/start-here/#nlp
嗨,Jason,感谢您的精彩文章,
但我想知道如何在机器学习项目中使用应用计量经济学。
您能帮我一下吗?
也许直接使用这些模型?
好文章,Jason Brownlee先生。
我有一个非常小且具体的疑问,关于这里使用的一个术语(或者可能初学者不知道)。
您说的“模型的性能(skill)”是什么意思?
仅仅是准确率吗?还是一个不同的主题?
是的,就是你选择用来评估模型的任何度量。
“性能”(Skill)意味着它的表现优于一个基准模型(naive model)。
谢谢您的回复,Jason先生。
非常感谢。
这是一篇非常棒的文章,假设和解释都非常好,您所有的贡献对专业人士和非专业人士都非常有帮助。非常感谢分享一篇很棒的文章,请继续发表。
谢谢。