sklearn中fit、transform、fit_transform用法详解

1. 基本概念

这三个方法是 scikit-learn 转换器(Transformer)的核心方法:

fit() - 学习数据的参数(如均值、标准差等)

transform() - 应用学到的参数转换数据

fit_transform() - 一次性完成学习和转换

2. 详细解释

fit() - 训练/学习阶段

# 只学习参数,不转换数据scaler.fit(X_train)

计算并存储数据的统计信息(如均值、方差等)

不返回转换后的数据,只返回转换器对象本身

通常用于训练集

transform() - 转换阶段

# 使用已学习的参数转换数据X_train_scaled=scaler.transform(X_train)X_test_scaled=scaler.transform(X_test)# 对测试集用相同的参数

应用之前 fit() 学到的参数

返回转换后的数据

可用于训练集和测试集

fit_transform() - 训练+转换

# 一次性完成学习和转换X_train_scaled=scaler.fit_transform(X_train)

相当于先调用 fit() 再调用 transform()

只返回转换后的数据(不返回转换器)

仅用于训练集

3. 实际示例

示例1:标准化 (StandardScaler)

from sklearn.preprocessingimportStandardScalerimportnumpy as np# 创建数据X_train=np.array([[1,2],[3,4],[5,6]])X_test=np.array([[7,8],[9,10]])# 创建标准化器scaler=StandardScaler()# 正确用法scaler.fit(X_train)# 只在训练集上学习参数X_train_scaled=scaler.transform(X_train)X_test_scaled=scaler.transform(X_test)# 测试集用相同参数# 或者用快捷方式X_train_scaled=scaler.fit_transform(X_train)# 训练集X_test_scaled=scaler.transform(X_test)# 测试集print("训练集标准化后:")print(X_train_scaled)print("\n测试集标准化后:")print(X_test_scaled)

示例2:PCA降维

from sklearn.decompositionimportPCA# 创建PCA对象,保留2个主成分pca=PCA(n_components=2)# 在训练集上学习主成分X_train_pca=pca.fit_transform(X_train)# 相当于 fit() + transform()# 在测试集上应用相同的主成分X_test_pca=pca.transform(X_test)# 只用 transform()print(f"解释方差比例: {pca.explained_variance_ratio_}")

4. 重要注意事项

绝对不能这样用!

# ❌ 错误:测试集上调用 fit_transform()X_test_scaled=scaler.fit_transform(X_test)# 错误!# ❌ 错误:训练集只transform不fitX_train_scaled=scaler.transform(X_train)# 报错:没有先fit

为什么测试集只用 transform()?
保证训练集和测试集使用相同的转换规则

防止数据泄露(Data Leakage)

确保模型评估的准确性

5. 流程总结

# 训练阶段(训练集)X_train_transformed=transformer.fit_transform(X_train)# 测试/预测阶段(测试集/新数据)X_test_transformed=transformer.transform(X_test)# 如果有新数据需要预测new_data_transformed=transformer.transform(new_data)

记忆技巧
fit = 学习规则(只在训练集做一次)

transform = 应用规则(训练集、测试集都要做)

fit_transform = fit + transform(训练集的快捷方式)

记住这个原则:训练集可以了解数据,测试集只能应用从训练集学到的规则。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1135804.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网安合规党集合!《网络安全法》你最头疼哪个条款?大纲帮你理清思路!

网络安全法 一、背景 概念 网络:是指由计算机或者其他信息终端及相关设备组成的按照一定的规则和程序对信息进行收集、存储、传输、交换、处理的系统。网络安全:是指通过采取必要措施,防范对网络的攻击、侵入、干扰、破坏和非法使用以及意…

报名开启|G-Star Gathering Day 广州站

在这个 AI 技术日新月异的时代,开发者该如何精准把握技术趋势,将创意转化为现实?G-Star Gathering Day 广州站正式开启!本次活动由 AtomGit 及华为云开发者联盟 HCDG 主办,我们诚邀广大 AI 从业者、开源技术爱好者齐聚…

别碎片化学习!《网络安全法》系统大纲,覆盖责任主体 / 数据安全 / 应急响应

前言 这是我给粉丝盆友们整理的网络安全渗透测试入门阶段逻辑漏洞渗透与防御教程 本文主要讲解如何从零基础带你挖到逻辑漏洞 喜欢的朋友们,记得给我点赞支持和收藏一下,关注我,学习黑客技术。 逻辑漏洞概述 由于程序逻辑不严谨或逻辑太…

【黑客自学书单】5 本必读书籍全解析:从 Web 安全到渗透实战,附电子书福利

经常会有粉丝朋友私信我,想学黑客技术有什么书籍推荐,今天就给大家安利一波。 想自学黑客,看这五本书就够了 想要自学黑客却没人教怎么办,看完这五本书,你也能成为黑客大佬💪 ✅第一本《黑客攻防:从入门到…

摄像头相关记录

1、视频流获取 RTSP视频流传输协议 ffmpeg视频流处理工具:获取(摄像头,网络,本地),处理 优势:支持多种传输协议, 会根据传输协议调整,更加方便的获取数据,…

FPGA 通过 SPI 模式读写 SD 卡:实现与移植探索

FPGA以SPI模式读写SD卡,已经下板验证通过。 可移植到任何FPGA之中。在数字电路设计领域,FPGA(现场可编程门阵列)凭借其灵活性和强大的并行处理能力,成为众多项目的首选。而 SD 卡作为常用的存储介质,实现 F…

G-Star 精选开源项目推荐|第四期

本期 G-Star 推荐,主要涵盖 文档协作与知识库管理、网络安全审计、开源字体设计、多模态大模型训练与推理、低代码开发框架、量子计算应用开发 等领域。 G-Star 开源摘星计划,简称 G-Star 计划,是 AtomGit 平台推出的针对开源项目成长全流程的…

Halcon 定位加二位测量找直线

图像:代码:dev_close_window () dev_open_window (0, 0, 512, 512, black, WindowHandle) *加载图像 read_image (Image,//DESKTOP-V21FG2T/Share/2.bmp)threshold(Image,Region, 50, 100) connection(Region, ConnectedRegions) select_shape(Connected…

Thinkphp-Laravel微信小程序的社区后勤报修系统

目录摘要项目开发技术介绍PHP核心代码部分展示系统结论源码获取/同行可拿货,招校园代理摘要 ThinkPHP-Laravel微信小程序社区后勤报修系统是一款基于Web和移动端的综合性服务平台,旨在为社区居民提供便捷的报修、投诉及后勤管理功能。系统采用ThinkPHP和Laravel双框…

正交电感的频率特性测量

01 正交电感频率特性 空心正交电感两路线圈信号极值偏移方向 初步测量结果 设置扫描范围, 从100kHz 到 200kHz,  这是扫描小型工字型正交电感对应的结果。 他的谐振峰小于 150kHz。  可以看到在 150kHz的时候 两个通道之间有 23dB 的衰减。  这是大型…

ThingsBoard - APP图片更改为彩色(失败)

问题描述 在手机APP中,登录窗口的LOGO图片没有彩色。问题分析 原始资源图片是彩色的,这肯定是代码中做了处理。已知该图片文件名为thingsboard_big_logo.svg。 //\flutter_thingsboard_app\lib\constants\assets_path.dart abstract class ThingsboardIm…

EI会议推荐!早鸟价!2026年先进电子与自动化技术国际学术会议(AEAT 2026)

✔AEAT2026 已上线长春理工大学电子信息工程学院官网 01 重要信息 会议官网:https://www.yanfajia.com/action/p/JLKRKQRB 会议时间:2026年4月24-26日 会议地点:中国长春 截稿日期:2026年2月27日(一轮截稿&#x…

用Nginx日志风格复刻《黑客帝国》代码雨:终端里的赛博朋克特效

前言:《黑客帝国》的绿色数字雨是赛博朋克经典符号,也是不少人对“代码之美”的初印象。出于对这个经典画面的喜爱,我决定复刻一款数字雨脚本。 网上现存版本多有痛点:单系统适配、易闪烁乱码、依赖第三方库。因此我用Python内置库…

Thinkphp-Laravel微信小程序积分商城购物系跑腿配送系统_09ok4

目录摘要内容项目开发技术介绍PHP核心代码部分展示系统结论源码获取/同行可拿货,招校园代理摘要内容 Thinkphp-Laravel微信小程序积分商城购物跑腿配送系统(项目代号09ok4)是一套基于PHP框架开发的综合性电商解决方案,整合了会员积分、商品交…

网安校招不踩坑!3 类岗位薪资拆解(10-50 万)+ 技能要求,应届生精准匹配指南

网络安全校招:3 类入门岗位薪资 技能要求,清晰对标 2025 年网络安全人才缺口已突破 150 万,北京、深圳等城市企业甚至开出 “应届生年薪 30 万 ” 的高薪抢人。但对高校应届生而言,“岗位类型繁杂、技能要求模糊” 往往成为求职路…

MR2A08A-4Mb 8位I/O并行接口MRAM

在需要高速读写与数据永久保存的工业、汽车及高可靠性系统中,存储器的选择至关重要。MR2A08A-4Mb磁阻随机存取存储器(MRAM)凭借其SRAM兼容的性能、真正的非易失特性以及无限的读写耐久性,成为替代传统Flash、SRAM或电池备份SRAM&a…

部署CA证书

目录 CA证书 PKI概念 PKI PKI体系能够实现的功能 PKI协议 X.509 对称加密 非对称加密 部署CA证书实验 实验准备:安装AD域 一,添加角色和功能向导 1,“服务器角色”里面,选择“Active Directory证书服务” 2&#xff…

Thinkphp-Laravel电子设备商品商城采购系统的研究与设计

目录摘要项目开发技术介绍PHP核心代码部分展示系统结论源码获取/同行可拿货,招校园代理摘要 随着电子商务的快速发展,电子设备商品商城的采购系统成为企业提升运营效率的关键工具。本研究基于ThinkPHP和Laravel框架,设计并实现了一套高效、安全的电子设…

【收藏】1536维vs512维:低维嵌入模型如何实现RAG性能翻倍?颠覆认知的技术选型实践

本文分享了MyClone平台将OpenAI的1536维嵌入模型替换为512维Voyage 3.5 Lite的实践。尽管维度降低,但通过Matryoshka Representation Learning等技术创新,实现了存储成本减少66%、检索延迟降低50%、速度提升2倍的效果,同时保持了甚至提升了检…

从脚本小子到高手!黑客自学 5 本必读书,覆盖基础 / 实战 / 社会工程,附电子书

经常会有粉丝朋友私信我,想学黑客技术有什么书籍推荐,今天就给大家安利一波。 想自学黑客,看这五本书就够了 想要自学黑客却没人教怎么办,看完这五本书,你也能成为黑客大佬💪 ✅第一本《黑客攻防:从入门到…