fit_transform 和transform的区别

fit_transformtransform的区别如图:

fit_transform

数据首先fit 训练数据,然后model从训练数据得到必要的变换信息,如特征方差和期望等,并保存为模型的参数,transform根据参数,对训练数据做需要的变换。之后用在测试集上也不用在fit一次测试集,直接transform数据,等于训练集和测试集所做的变换是一样的。
例子:


from sklearn.preprocessing import StandardScaler

data = [[0, 0], [0, 0], [1, 1], [1, 1]]
scaler = StandardScaler()
print(scaler.fit(data))
print(scaler.mean_)
print(scaler.transform(data))
print(scaler.transform([[2, 2]]))
>>>
StandardScaler(copy=True, with_mean=True, with_std=True)
[0.5 0.5]
[[-1. -1.]
 [-1. -1.]
 [ 1.  1.]
 [ 1.  1.]]
[[3. 3.]]

或者直接fit_transform做变换:

from sklearn.preprocessing import StandardScaler
data = [[0, 0], [0, 0], [1, 1], [1, 1]]
scaler = StandardScaler()
print(scaler.fit_transform(data))
>>>
[[-1. -1.]
 [-1. -1.]
 [ 1.  1.]
 [ 1.  1.]]

参考:fit_transformtransform的区别
https://www.cnblogs.com/keye/p/8875128.html

sklearn-preprocessing

待补

请参考: https://blog.csdn.net/sinat_33761963/article/details/53433799

猜你喜欢

转载自blog.csdn.net/nockinonheavensdoor/article/details/80554061
今日推荐