sklearn中fit、fit_transform、transform的区别

1 前言

在使用sklearn处理数据的时候,会经常看到fit_tranform(),但是偶尔也会遇到fit()和transform()函数,不太明白怎么使用,于是查询资料整理一下。

2 理解

fit:原义指的是安装、使适合的意思,其实有点train的含义但是和train不同的是,它并不是一个训练的过程,而是一个适配的过程,过程都是定死的,最后只是得到了一个统一的转换的规则模型。
transform:是将数据进行转换,比如数据的归一化和标准化,将测试数据按照训练数据同样的模型进行转换,得到特征向量。
fit_transform:可以看做是fit和transform的结合,如果训练阶段使用fit_transform,则在测试阶段只需要对测试样本进行transform就行了。
下面来看一下这两个函数的API以及参数含义:
1、fit_transform()函数
在这里插入图片描述
即fit_transform()的作用就是先训练,找到转换数据的规则,然后根据找到的规则转换数据。
2、transform()函数
在这里插入图片描述
即tranform()的作用是根据找到的规则对数据进行转换。

3 小栗子

训练阶段:

corpus = _readbunchobj(wordbag_path).contents
tf_vectorizer = CountVectorizer(max_df=0.95,min_df=2,stop_words=stpwrdlst)
tf = tf_vectorizer.fit_transform(corpus)

测试阶段:

contents = _readfile(file_name)
tf = tf_vectorizer.transform([contents])

参考文章

  1. NLP:sklearn中fit、fit_transform、transform的区别
  2. Python: sklearn库中数据预处理函数fit_transform()和transform()的区别
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值