sklearn | fit()、transform()、fit_transform() 三者联系与区别

  • fit()是一个方法(method),与估计器(estimator)结合,需要一个数据集作为参数,用来训练estimator,如estimator.fit()。任何其它用来指导估计过程的参数都被当做超参数,并且是通过估计器的参数设置,将超参数设置成实例变量。
  • transform()是一个方法,用于estimator.fit()之后,返回的是经过转换的数据集。
from sklearn.impute import SimpleImputer

# 设置strategy,之后调用fit()时,统计每一列数据的中位值
imputer = SimpleImputer(strategy='median')

# 喂给estimator将要使用的数据集,并通过设置strategy,来让统计数据集中每一列数据的中位数
imputer.fit(dataset)

# 估计器经过fit()学习到的参数可以通过实例变量名(imputer)后加下划线来访问
# 它返回数据集中每一列数据的中位数
imputer.statistics_
array([-118.51  ,   34.26  ,   29.    , 2119.5   ,  433.    , 1164.    ,    408.    ,    3.5409])
# 用获得的每一列的中位数来替换该列的残缺值,返回的是经过处理的数据集,形式为NumPy的array形式
imputed_data = imputer.transform(dataset)

imputer的具体作用,可参考(数据预处理 | 处理残缺值(Missing value)python-sklearn实现| 三种常用方法)[https://blog.csdn.net/SanyHo/article/details/105303547]

  • fit_transform() 是上述两种方法的结合,有时候该方法的运行会更快些
from sklearn.impute import  SimpleImputer

imputer = SimpleImputer(strategy = "median")

# 返回的是经过处理的数据集,形式为NumPy的array形式
imputed_data = imputer.fit_transform(dataset)

参考资料:
《Hands-on Machine Learning with Scikit-Learn and TensorFlow》

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值