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()的区别

猜你喜欢

转载自blog.csdn.net/liuweiyuxiang/article/details/83028667
今日推荐