sklearn数据标准化

  1. #encoding:utf-8  
  2. ''''' 
  3. Created on 2015年10月13日 
  4. @author: ZHOUMEIXU204 
  5. '''  
  6.   
  7. #sklearn数据标准化,数据标准化有三种  
  8. #第一种是Z-Score,或者去除均值和方差缩放  
  9. from  sklearn import preprocessing  
  10. import numpy as np  
  11. x=np.array([[1.,-1.,2.],  
  12.             [2.,0.,0.],  
  13.             [0.,1.,-1.]])  
  14. x_scaled=preprocessing.scale(x)  
  15. x_scaled.mean(axis=0)  
  16. x_scaled.std(axis=0)  
  17. # 使用sklearn.preprocessing.StandardScaler类,  
  18. # 使用该类的好处在于可以保存训练集中的参数(均值、方差)  
  19. # 直接使用其对象转换测试集数据。  
  20. scaler=preprocessing.StandardScaler().fit(x)  
  21. scaler.mean_  
  22. scaler.std_  
  23. scaler.transform(x)  #跟上面的结果是一样的  
  24.   
  25. #第二种是将属性缩放到一个指定范围,也是就是(x-min)/(max-min)  
  26. #依赖于preprocessing中的MinMaxScaler类  
  27. x_train=np.array([[1.,-1.,2.],  
  28.             [2.,0.,0.],  
  29.             [0.,1.,-1.]])  
  30.   
  31. min_max_scaler=preprocessing.MinMaxScaler()  
  32. x_train_minmax=min_max_scaler.fit_transform(x_train)  
  33. print(x_train_minmax)  
  34. # 当然,在构造类对象的时候也可以直接指定最大最小值的范围:feature_range=(min, max),此时应用的公式变为:  
  35. # x_std=(X-X.min(axis=0))/(X.max(axis=0)-X.min(axis=0))  
  36. # x_scaled=X_std/(max-min)+min  
  37.   
  38. #第三种是正则化Normalization  
  39.   
  40. x=np.array([[1.,-1.,2.],  
  41.             [2.,0.,0.],  
  42.             [0.,1.,-1.]])  
  43. x_normalized=preprocessing.normalize(x,norm='l2')  
  44. print(x_normalized)  
  45.   
  46. # 可以使用processing.Normalizer()类实现对训练集和测试集的拟合和转换  
  47. normalizer=preprocessing.Normalizer().fit(x)  
  48. print(normalizer)  
  49. normalizer.transform(x)  
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值