Standardscaler标准化

# coding=utf-8
# 统计训练集的 mean 和 std 信息
from sklearn.preprocessing import StandardScaler
import numpy as np
 
 
def test_algorithm():
#定义test_algorithm()函数,该函数用来比较使用Sklearn库中 的 标准化方法和使用numpy库中的标准化方法的差异。
    np.random.seed(123)
#使用随机数种子初始化 NumPy 库的随机数生成器,以便多次运行程序时生成相同的数据:#`np.random.seed(123)`
    print('use sklearn')
# 输出使用 scikit-learn 库进行标准化的结果的标题:
    # 注:shape of data: [n_samples, n_features]
    data = np.random.randn(10, 4)#10行4列的二维数据作为原始数据
    scaler = StandardScaler()#scaler做标准化,做均值和方差
#创建一个 StandardScaler 类的实例,将其赋值给变量 scaler:
    scaler.fit(data)#scaler是标准化器,训练
#使用 fit() 方法计算原始数据的均值和标准差
    trans_data = scaler.transform(data)
#并使用 transform() 方法对原始数据进行标准化:
    print('original data: ')#
    print data
    print('transformed data: ')
    print trans_data
#输出原始数据和标准化后的数据:
    print('scaler info: scaler.mean_: {}, scaler.var_: {}'.format(scaler.mean_, scaler.var_))
#输出 StandardScaler 类的对象的均值和方差:
    print('\n')
#输出一个空行:`print('\n')`
    print('use numpy by self')
# 输出使用 NumPy 库进行标准化的结果的标题:
    mean = np.mean(data, axis=0)
    std = np.std(data, axis=0)
#使用 mean() 和 std() 方法计算原始数据的均值和标准差,将其分别赋值给变量 mean 和 std
    var = std * std
#将标准差的平方分别赋值给变量 var
    print('mean: {}, std: {}, var: {}'.format(mean, std, var))
#
    # numpy 的广播功能
    another_trans_data = data - mean
#使用广播功能将原始数据减去均值得到另一个矩阵 
    # 注:是除以标准差
    another_trans_data = another_trans_data / std
#将矩阵 another_trans_data 的每个元素除以标准差得到标准化后的数据
    print('another_trans_data: ')
    print another_trans_data
#. 如果运行的文件名是本文件,则运行 test_algorithm() 函数:`if __name__ == '__main__':`,`test_algorithm()`
 
 
if __name__ == '__main__':
    test_algorithm()

学习链接:(43条消息) Sklearn之数据预处理——StandardScaler_龙王.*?的博客-CSDN博客

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值