scikit-learn中的数据变换方法

本文介绍scikit-learn库中的数据变换方法,包括StandardScaler、RobustScaler、MinMaxScaler和Normalizer,用于实现特征缩放,确保数据在机器学习模型中的有效应用。文章详细解释了每种缩放器的工作原理,并提供了代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

scikit-learn中的数据变换方法

  • StandardScaler 每个特征的平均值为0、方差为1
  • RobustScaler 使用中位数和四分位数,会忽略异常值
  • MinMaxScaler 所有特征位于0和1之间
  • Normalizer 每个数据点进行放缩,使得特征向量的欧式长度为1

当模型返回数据的新表示时,使用transform方法

from sklearn.preprocessing import MinMaxScaler

scaler = MinMaxScaler()
scaler.fit(X_train)
X_train_scaled = scaler.transform(X_train)
print("transformed shape: {}".format(X_train_scaled.shape))
print("per-feature minimum before scaling:\n {}".format(X_train.min(axis=0)))
print("per-feature maximum before scaling:\n {}".format(X_train.max(axis=0)))
print("per-feature minimum after scaling:\n {}".format(
    X_train_scaled.min(axis=0)))
print("per-feature maximum after scaling:\n {}".format(
    X_train_scaled.max(axis=0)))

X_test_scaled = scaler.transform(X_test)
print("per-feature minimum after scaling:\n{}".format(X_test_scaled.min(axis=0)))
print("per-feature maximum after scaling:\n{}".format(X_test_scaled.max(axis=0)))

注:所有缩放器总是对训练集和测试集应用完全相同的变换,使得测试集的范围可能有所不同。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值