sklearn进行数据缩放与标准化

缩放数据: 


import numpy as np

np.random.seed(10)
x=np.matrix([np.random.randint(10,25)*1.0 for i in range(10)])
x=x.T

#MinMaxScaler缩放,移动数据使得所有特征都刚好位于0到1之间
from sklearn.preprocessing import MinMaxScaler
minmax=MinMaxScaler(feature_range=(0.0,1.0))
print(x)
x_t=minmax.fit_transform(x)
print(x_t)

#StandardScaler缩放,确保每个特征的平均值为0,方差为1,使得所有特征都位于同一量级,
from sklearn.preprocessing import StandardScaler
#导入数据集
from sklearn.datasets import load_breast_cancer
cancer=load_breast_cancer()
scaler=StandardScaler()
scaler.fit(cancer.data)
X_scaled=scaler.transform(cancer.data)
print(X_scaled)
#上面两句话可以合并为X_scaled=scaler.fit_transform(cancer.data)

#RobustScaler与上面是类似,也是确保每个特征的统计属性都位于同一范围,但是它使用的是中位数呵四分位数而不是平均值和方差
#这样的话,RobustScaler会忽略与其他点有很大不同的数据点,比如测量误差
from sklearn.preprocessing import RobustScaler
scaler1=RobustScaler()
X_scaled1=scaler1.fit_transform(cancer.data)
print(X_scaled1)

#Normalizer用到一种完全不同的缩放方法,他对每个数据点进行缩放,使得特征向量的欧式长度等于1,换句话说,他将一个数据点投射到
#半径为1的圆上,(对于高维度来说是球面),这意味着每个数据点的缩放比例都不相同(乘以长度的倒数),如果只是数据的方向是重要的
#而特征向量的长度无关紧要,那么通常会使用这种归一化
from sklearn.preprocessing import Normalizer
scaler2=Normalizer()
X_scaled2=scaler2.fit_transform(cancer.data)
print(X_scaled2)

标准化:

import numpy as np
from sklearn.preprocessing import scale

#生成输入数据
np.random.seed(10)#https://www.jianshu.com/p/b16b37f6b439  随机种子
x=[np.random.randint(10,25)*1.0 for i in range(10)]
print(x)
#x=list(np.random.randint(10,25,10)*1.0)等效上一句
#标准化操作
#只使用平均值进行缩放
x_centered=scale(x,with_mean=True,with_std=False)
#使用平均值和标准差来对数据进行标准化
x_standard=scale(x,with_mean=True,with_std=True)
#初始的x平均值为xxx,标准化之后为0.00,标准化差为1.00
print(x_centered)
print(x_standard)

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CtrlZ1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值