fit_transform()和transform()是sklearn库中常用的数据预处理函数,在《Python机器学习及实践》一书中,涉及到这两个函数的代码如下:
# 从sklearn.preprocessing导入StandardScaler
from sklearn.preprocessing import StandardScaler
# 标准化数据,保证每个维度的特征数据方差为1,均值为0,使得预测结果不会被某些维度过大的特征值而主导
ss = StandardScaler()
# fit_transform(),先拟合数据,再标准化数据
X_train = ss.fit_transform(X_train)
# transform(),标准化数据
X_test = ss.transform(X_test)
看到这段代码时我十分疑惑,为什么对训练集和测试集使用不同函数进行数据预处理?fit_transform()和transform()两者存在什么差别?
我们先来看一下官方文档中对这两个函数的说明:
1、fit_transform()