sklearn中的均值归一化--python实现

均值方差归一化

将样本数值映射到同一尺度

import numpy as np

class StandardScaler:

  def __init__(self):
    self.mean_ = None
    self.scale_ = None

  def fit(self, X):
    '''根据训练数据X获得数据均值和方差'''
    assert X.ndim == 2, "The dimension of X must be 2"

    self.mean_ = np.array([np.mean(X[:, i]) for i in range(X.shape[1])])
    self.scale_ = np.array([np.std(X[:, i]) for i in range(X.shape[1])])

    return self

  def transform(self, X):
    '''将X根据fit值进行均值方差归一化'''
    assert X.ndim == 2, "The dimension of X must be 2"
    assert self.mean_ is not None and self.scale_ is not None, \
      'must fit before transform'
    assert X.shape[1] == len(self.mean_), \
      'the feature number of X must be equal to mean_ and std_'

    resX = np.empty(shape=X.shape[1], dtype=float)

    for col in range(X.shape[1]):
      resX[:, col] = (X[:, col] - self.mean_[col]) / self.scale_[col]

    return resX

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
sklearn实现0均值归一可以使用StandardScaler类。该类可以将数据按照均值为0,标准差为1进行归一处理。以下是示例代码: ```python from sklearn.preprocessing import StandardScaler # 假设有一个数据集X X = \[\[-1, 2\], \[-0.5, 6\], \[0, 10\], \[1, 18\]\] # 实例StandardScaler scaler = StandardScaler() # 对数据集进行归一处理 X_normalized = scaler.fit_transform(X) # 输出归一后的结果 print(X_normalized) ``` 输出结果为: ``` \[\[-1.34164079 -1.18321596\] \[-0.4472136 -0.50709255\] \[ 0.4472136 -0.16903085\] \[ 1.34164079 1.85933936\]\] ``` 这样,数据集X就被归一均值为0,标准差为1的形式。 #### 引用[.reference_title] - *1* *3* [sklearn实现归一](https://blog.csdn.net/qq_47180202/article/details/120481734)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Pytorch归一(MinMaxScaler、零均值归一)](https://blog.csdn.net/qq_36158230/article/details/120925154)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值