有什么理由做 .fit() 和 .transform() 而不仅仅是 .fit_transform() 吗?



我刚开始学习机器学习,想知道为什么当.fit_transform()存在时,为什么要单独做.fit().transform()。此外,我通常对确切的适合/.fit()做什么感到困惑。

我假设你说的是sklearn的缩放器或sklearn的特征转换算法。

假设您的数据集分为 5 个子集,并且您希望在 -1 和 1 之间缩放每个子集:

  • 您可以使用fit在每个子集上拟合缩放器,这基本上搜索所有集合的最大值和最小值
  • 然后,您可以使用transform缩放子集

如果你在第一个子集上使用fit_transform,然后在第二个子集上使用它,它的缩放方式会有所不同,你不希望这样。

此外,您可以考虑在训练集上拟合一次,并将转换保留在内存中,以缩放要传递给模型的未来样本,而不是子集。

最新更新