部分转载

https://blog.csdn.net/weixin_38278334/article/details/82971752

https://www.cnblogs.com/summer-nude/p/7380694.html

写在前面
fit和transform没有任何关系,仅仅是数据处理的两个不同环节,之所以出来fit_transform这个函数名,仅仅是为了写代码方便,会高效一点。

sklearn里的封装好的各种算法使用前都要fit,fit相对于整个代码而言,为后续API服务。fit之后,然后调用各种API方法,transform只是其中一个API方法,所以当你调用transform之外的方法,也必须要先fit。

fit原义指的是安装、使适合的意思,其实有点train的含义,但是和train不同的是,它并不是一个训练的过程,而是一个适配的过程,过程都是确定的,最后得到一个可用于转换的有价值的信息。

fit,transform,fit_transform常用情况分为两大类

#(fit(x,y)传两个参数的是有监督学习的算法,fit(x)传一个参数的是无监督学习的算法,比如降维、特征提取、标准化)
1. 数据预处理中方法
fit(): Method calculates the parameters μ and σ and saves them as internal objects.
--解释:简单来说,就是求得训练集X的均值,方差,最大值,最小值,这些训练集X固有的属性。

transform(): Method using these calculated parameters apply the transformation to a particular dataset.
--解释:在fit的基础上,进行标准化,降维,归一化等操作(看具体用的是哪个工具,如PCA,StandardScaler等)。

fit_transform(): joins the fit() and transform() method for transformation of dataset.
--解释:fit_transform是fit和transform的组合,既包括了训练又包含了转换。
transform()和fit_transform()二者的功能都是对数据进行某种统一处理(比如标准化~N(0,1),将数据缩放(映射)到某个固定区间,归一化,正则化等)

fit_transform(trainData)对部分数据先拟合fit,找到该part的整体指标,如均值、方差、最大值最小值等等(根据具体转换的目的),然后对该trainData进行转换transform,从而实现数据的标准化、归一化等等。

根据对之前部分trainData进行fit的整体指标,对剩余的数据(testData)使用同样的均值、方差、最大最小值等指标进行转换transform(testData),从而保证train、test处理方式相同

为什么X_train标准化是用fit_transform(),而X_test标准化是用transform()呢?

  • fit_transform()干了两件事:fit找到数据转换规则,并将数据标准化
  • transform:是将数据进行转换,比如数据的归一化和标准化,将测试数据按照训练数据同样的模型进行转换,得到特征向量。可以直接把转换规则拿来用,所以并不需要fit_transform(),否则,两次标准化后的数据格式(或者说数据参数)就不一样了

转载于:https://www.cnblogs.com/xin-qing3/p/11187164.html

fit_transform和transform的区别相关推荐

  1. Python初探——sklearn库中数据预处理函数fit_transform()和transform()的区别

    敲<Python机器学习及实践>上的code的时候,对于数据预处理中涉及到的fit_transform()函数和transform()函数之间的区别很模糊,查阅了很多资料,这里整理一下: ...

  2. 通俗地讲清楚fit_transform()和transform()的区别

    网上抄来抄去都是一个意思, fit_transform是fit和transform的组合. 我们知道fit(x,y)在新手入门的例子中比较多,但是这里的fit_transform(x)的括号中只有一个 ...

  3. preprocessing.StandardScaler中fit、fit_transform、transform的区别

    1.fit 用于计算训练数据的均值和方差, 后面就会用均值和方差来转换训练数据 2.fit_transform 不仅计算训练数据的均值和方差,还会基于计算出来的均值和方差来转换训练数据,从而把数据转换 ...

  4. sklearn中各算法类的fit,fit_transform和transform函数

    在使用PCA和NFC中有三个函数fit,fit_transform,transform区分不清各自的功能.通过测试,勉强了解各自的不同,在这里做一些笔记. 1.fit_transform是fit和tr ...

  5. sklearn中的fit_transform和transform以及什么时候使用

    在使用sklearn对数据进行预处理的时候很有可能会遇到fit_transform和transform,网上不少资料写的模棱两可,在这里我回答几个核心问题,也许看完我写的这篇文章,一些疑惑就会豁然开朗 ...

  6. sklearn:sklearn.preprocessing.StandardScaler函数的fit_transform、transform、inverse_transform简介、使用方法之详细攻略

    sklearn:sklearn.preprocessing.StandardScaler函数的fit_transform.transform.inverse_transform简介.使用方法之详细攻略 ...

  7. sklearn中, fit,fit_transform,transform的区别与联系

    文章乃转载 scikit-learn提供了一系列转换库,他们可以清洗,降维,提取特征等. 在数据转换中有三个很重要的方法,fit,fit_transform,transform ss=Standard ...

  8. python中fit是什么意思_python – 在sklearn countvectorizer中fit_transform和transform之间有什么区别?...

    我刚开始学习随机森林,所以如果这听起来很愚蠢我很抱歉 使用vectorizer.fit_transform("清洁评论列表*上的*") 现在当我们在火车评论上准备一堆单词数组时,我 ...

  9. fit_transform,fit,transform区别和作用详解!!!!!!

    写在前面 fit和transform没有任何关系,仅仅是数据处理的两个不同环节,之所以出来fit_transform这个函数名,仅仅是为了写代码方便,会高效一点. sklearn里的封装好的各种算法使 ...

最新文章

  1. CVPR2021最佳论文:当GAN遇到3D场景,无需监督就学会“动态抠图”、360度展示对象...
  2. 替换Android系统镜像system.img的方法
  3. 算法------长度最小的子数组
  4. 【Android 安全】DEX 加密 ( Application 替换 | 替换 LoadedApk 中的 Application mApplication 成员 )
  5. 利用Mycat中间件实现RDS MySQL的分库分表及读写分离功能
  6. LuoguP3959 宝藏 题解
  7. unity_小功能实现(敌人巡逻功能)
  8. php中id如何与删除关联,ThinkPHP查询语句与关联查询用法实例
  9. 安卓学习第9课——计时器chronometer
  10. [C++] 哈希计数
  11. java输出的文本内容不对_java 字符串写入文件后再读出不一样? 有什么解决办法吗?...
  12. shell脚本修改文本中匹配行之前的行的方法
  13. SQL-UNION操作符
  14. 剑指Offer替换空格问题
  15. 周鸿祎的“流氓”可否借鉴?
  16. 罗技鼠标宏压枪 - 绝地求生 -刺激战场
  17. 施耐德 m340 编程手册_工控安全研究系列(一)施耐德PLC 140CPU 65150
  18. 解决File Cache Conflict
  19. cada0图纸框_CAD的图框应该怎么画-百度经验
  20. 康涅狄格大学计算机科学排名,康涅狄格大学的计算机科学排名,不可忽视的重点信息...

热门文章

  1. js给标签添加属性和值_jquery节点属性
  2. csp-s模拟测试44「D·E·F」
  3. Android external storage
  4. BZOJ 3223: Tyvj 1729 文艺平衡树-Splay树(区间翻转)模板题
  5. 利用Aspose.Word控件实现Word文档的操作
  6. iOS push新的调用方法
  7. (九十三)蓝牙的基本使用
  8. PMP-PMBOK-培训(3)Introduction to Project Process Groups and Initiating a Project
  9. FAR,FRR,EER
  10. Kali Linux 2016.2初体验