Python 中的 fit(), transform() 和 fit_transform() 方法2024 年 8 月 29 日 | 阅读 6 分钟 可以说,scikit-learn(有时称为 sklearn)是 Python 中最具影响力和最受欢迎的机器学习包之一。它包含一套完整的算法和模型技术,可供训练,以及用于预处理、训练和评估模型的实用工具。 Sklearn 中最基本的类之一是 transformer,它实现了三种不同的方法:fit()、transform() 和 fit_transform()。我们将探讨它们之间的区别。 引言在继续之前,让我们回顾一下数据科学项目所遵循的步骤;我们知道,要构建任何数据科学项目,都需要采取特定的行动。我们将在这里简要回顾一下。
如果我们关注前三个过程,模型开发和模型训练很可能更侧重于数据预处理。因此,每次我们希望启动任何机器学习软件时,这都是一个非常关键的过程。 Sklearn 中的 TransformerTransformer 是 Scikit-learn 中常用的对象。Transformer 的功能是执行特征转换过程,这是数据预处理的一部分;然而,对于模型训练,我们需要称为模型的对象,例如线性回归、分类等。用于特征选择的类 Transformer-like 对象的一些示例是 StandardScaler、PCA、Imputer、MinMaxScaler 等。我们使用这些工具对原始数据执行一些预处理,例如更改输入数据的格式和特征缩放。此外,这些数据用于模型训练。 我们使用标准化过程,该过程采用特征 F 并将其更改为 F'。通过对 f_1、f_2、f_3 和 f_4 特征使用标准化公式,f_1、f_2、f_3 和 f_4 是自变量特征,f_4 是因变量特征;我们更改这些特征。借助三个不同的操作,我们可以将输入特征 F 转换为另一个输入特征 F'。这些操作是
fit() 方法在 fit() 方法中,我们将必要的公式应用于输入数据中我们想要更改的特征,并计算结果,然后将结果拟合到 Transformer。我们必须在 Transformer 对象之后使用 .fit() 方法。 如果创建了 StandardScaler 对象 sc,则应用 .fit() 方法将计算特定特征 F 的均值 (µ) 和标准差 (σ)。我们可以稍后使用这些参数进行分析。 让我们以预处理 Transformer StandardScaler 为例,假设我们需要缩放自创建数据的特征。下面的代码示例数据集是使用 arrange 方法创建的,然后分为训练集和测试集。之后,我们创建一个 StandardScaler 实例,并将训练数据的特征拟合到它上面,以确定将来用于缩放的均值和标准差。 必须强调在对数据集进行任何预处理过程(例如缩放)之前将其分离成训练集和测试集的重要性。测试数据点代表真实世界数据。因此,我们只能对训练特征执行 fit(),以防止未来的数据泄露到我们的模型中。 代码 输出 Training dataset: [[ 8 9] [ 0 1] [ 6 7] [ 2 3] [14 15] [16 17] [10 11]] Testing dataset: [[ 4 5] [18 19] [12 13]] Parameters of the fit method: {'copy': True, 'with_mean': True, 'with_std': True} transform() 方法要更改数据,我们最有可能使用 transform() 函数,我们在其中对特征 F 中的每个值执行 fit() 的计算。我们转换拟合的计算。因此,在我们应用了 fit 对象之后,我们必须使用 .transform()。 当我们使用 fit 方法创建一个对象时,我们利用上一节的示例,并将该对象放在 . 前面。 使用 transform 和 fit_transform 方法转换数据点的值,我们收到的输出始终是稀疏矩阵或数组。 代码 输出 [[ 8 9] [ 0 1] [ 6 7] [ 2 3] [14 15] [16 17] [10 11]] [[ 0. 0. ] [-1.46759877 -1.46759877] [-0.36689969 -0.36689969] [-1.10069908 -1.10069908] [ 1.10069908 1.10069908] [ 1.46759877 1.46759877] [ 0.36689969 0.36689969]] fit_transform() 方法通过对训练数据应用 fit_transform(),对训练数据进行缩放并确定其缩放参数。在这种情况下,我们创建的模型将发现训练集中特征的均值和方差。 使用 fit 方法计算我们数据中报告的每个特征的均值和方差。transform 方法使用相应的均值和方差转换所有特征。 我们希望在测试数据上实现缩放,但我们也不希望我们的模型产生偏差。我们期望我们的测试数据集对我们的模型来说是全新的、意料之外的。在这种情况下,convert 方法很有用。 代码 输出 [[ 8 9] [ 0 1] [ 6 7] [ 2 3] [14 15] [16 17] [10 11]] [[ 0. 0. ] [-1.46759877 -1.46759877] [-0.36689969 -0.36689969] [-1.10069908 -1.10069908] [ 1.10069908 1.10069908] [ 1.46759877 1.46759877] [ 0.36689969 0.36689969]] 结论在本教程中,我们探讨了 sklearn 中最常用的三个 Transformer 函数:fit()、transform() 和 fit_transform()。我们研究了每个函数的作用、它们的区别以及在什么情况下应该选择它们。简而言之,fit() 方法将允许我们获取缩放函数的参数。transform() 方法将转换数据集以继续进行进一步的数据分析步骤。fit_transform() 方法将确定参数并转换数据集。 |
静态变量和静态方法是各种语言(如 C++、PHP、Java 等)中广泛使用的编程概念。这些变量和方法属于类和对象。在本节中,我们将学习如何在...
阅读 6 分钟
| Django 和 Node JS 之间的区别 在本教程中,我们将讨论两种流行技术 Django 和 Node JS 之间的主要区别。本教程将为您提供对这两种技术的深入分析,帮助您为项目选择合适的语言或...
5 分钟阅读
Python 中的 zlib 库:理解 Python zlib 库。zlib 是一个 Python 库,支持 zlib C 库,是用于 deflate 无损压缩算法的更高层次的泛化。zlib 库用于无损压缩,这意味着在压缩之间没有数据丢失...
阅读 6 分钟
语言在人类互动中扮演着至关重要的角色。人类天生就能理解别人在说什么,并知道该如何回应。这种能力是通过多年来与他人和社会的持续交流而发展起来的。人类用于合作的语言...
阅读 10 分钟
在本教程中,我们将讨论如何在 Python 中计算列表的平均值。列表的平均值定义为列表中存在的元素之和除以列表中存在的元素数量。在这里,我们将利用...
阅读 3 分钟
许多公共机构,如政府,面临着国家层面的问题,如人口增长。因此,可视化全球人口将有助于政府解决这些问题。为此,需要借助技术将人口分布数据进行映射...
阅读 12 分钟
在理解 Python 中的缩进问题之前,让我们简要了解一下 Python 编程语言。是什么让 Python 与其他编程语言不同?Python 是一种解释型、高级、面向对象的编程语言,具有动态语义。它具有非常简单的语法,并且它...
阅读 10 分钟
障碍对象允许一组线程在继续执行之前相互等待。它对于需要按特定顺序执行的任务,或需要同步以避免竞争条件的任务非常有用。它们用于...
阅读 3 分钟
在这一部分,我们将学习 Python 编程语言中 strftime() 函数如何操作以及它的一些变体。所以让我们开始吧。为了实现各种类型的数据功能,Python 提供了多个模块,每个模块都包含一个...
阅读 8 分钟
如何在Python中从列表中删除元素 我们可以使用Python List数据结构将几种数据类型的项目存储在有序序列中。方括号([])用于封装数据,而逗号用于分隔条目(,)。Python提供了...
7 分钟阅读
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India