我刚开始学习机器学习,想知道为什么当.fit_transform()
存在时,为什么要单独做.fit()
和.transform()
。此外,我通常对确切的适合/.fit()
做什么感到困惑。
我假设你说的是sklearn的缩放器或sklearn的特征转换算法。
假设您的数据集分为 5 个子集,并且您希望在 -1 和 1 之间缩放每个子集:
- 您可以使用
fit
在每个子集上拟合缩放器,这基本上搜索所有集合的最大值和最小值 - 然后,您可以使用
transform
缩放子集
如果你在第一个子集上使用fit_transform
,然后在第二个子集上使用它,它的缩放方式会有所不同,你不希望这样。
此外,您可以考虑在训练集上拟合一次,并将转换保留在内存中,以缩放要传递给模型的未来样本,而不是子集。