sklearn fit, fit_transform, transform的区别

介绍

图片摘自stackoverflow: what-is-the-difference-between-fit-fit-transform-and-transform

例一

1
2
3
4
5
6
7
8
9
10
11
from sklearn.preprocessing import StandardScaler
ss = StandardScaler()
 
# 方法一,分三步:训练模型 --> 处理训练样本 --> 处理测试样本
ss.fit(X_train)  # 训练模型,以得到均值、标准差等参数
X_train = ss.transform(X_train)   # 用该模型处理训练样本
X_test = ss.transform(X_test)     # 用同一个模型处理测试样本
 
# 方法一,分两步:训练模型 & 处理训练样本 --> 处理测试样本
X_train = ss.fit_transform(X_train)   # 训练模型,然后用该模型处理训练样本
X_test = ss.transform(X_test)         # 用同一个模型处理测试样本

例二

1
2
3
4
5
6
7
8
9
10
11
12
import numpy as np
from sklearn.manifold import TSNE
 
X = np.array([[0, 0, 0], [0, 1, 1], [1, 0, 1], [1, 1, 1]])
tsne = TSNE(n_components=2)
 
# 方法一:分两步,先训练模型,再从模型中去取出结果
tsne.fit(X)
output = tsne.embedding_
 
# 方法一:一步到位,直接得到结果
output = tsne.fit_transform(X)

 

注意,有些方法有transform()函数,如例一中的StandardScaler,有些方法没有transform()函数,如例二中的TSNE。

 

posted @   Picassooo  阅读(1213)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示