• 数据标准化


    1、均值方差标准化(Z-Score标准化)

    计算过程:
    对每个属性/每列分别进行一下操作,将数据按属性/按列减去其均值,并除以其方差,最终使每个属性/每列的所有数据都聚集在均值为0,方差为1附近。
    公式:(x-mean(x))/std(x)
    使用sklearn.processing()方法

    1. from sklearn import preprocessing
    2. import numpy as np
    3. scaled = preprocessing.scale(data)
    4. # 还可以自定义公式
    5. def std_ch(data):
    6. data = (data - np.mean(data,axis=0)) / np.std(data,axis=0)
    7. return data

    使用sklearn.preprocessing.StandardScaler类。

    1. from sklearn.preprocessing import StandardScaler
    2. scaler = StandradScaler().fit(train_data)
    3. # 查看数据的均值
    4. scaler.mean_
    5. # 查看数据的方差
    6. scaler.std_
    7. # 直接对测试集进行转换
    8. scaler.transform(test_data)

    2、0-1标准化(离差标准化,最大最小标准化)

    对原始数据进行线性变换,使其结果落在[0,1]区间内,转换函数如下:
    在这里插入图片描述
    其中max为样本数据的最大值,min为样本数据的最小值。
    可以通过sklearn.preprocessing.MinMaxScaler类实现。

    1. from sklearn.preprocessing import MinMaxScaler
    2. min_max_scaler = MinMaxScaler()
    3. train_scaled = min_max_scaler.fit_transform(train_data)
    4. # 同样的缩放应用到测试集数据中
    5. test_scaled = min_max_scaler.transform(test_data)
    6. # 查看缩放因子
    7. min_max_scaler.scale_
    8. # 自定义公式
    9. def deal(data):
    10. data=(data-data.min())/(data.max()-data.min())
    11. return data

    3、正态化分布

    计算的主要思想是对每个样本计算其p-范数,然后对该样本中每个元素除以该范数,这样处理的结果是使得每个处理后的样本的p-范数等于1。在文本分类和聚类分析中经常作为向量空间模型(SVM)的基础。
    使用sklearn.preprocessing.normalize()来实现。

    1. from sklearn.preprocessing import normalize
    2. data_normalized = normalize(data,norm = 'l2')
    3. # data_normalized = normalize(data,norm = 'l1')
  • 相关阅读:
    【云原生-Kurbernetes篇】K8s的存储卷/数据卷+PV与PVC
    Paddle 1.8 与 Paddle 2.0 API 映射表
    C语言之#define用法入门详解
    LeetCode 0206. 反转链表
    SpringCloud-5-基础工程-创建服务服务消费者
    LetCode之热题100.1——哈希(两数之和)
    PAT甲级:1063 Set Similarity|Python
    R数据分析:扫盲贴,什么是多重插补
    软件设计模式白话文系列(十三)模版方法模式
    BVH动捕文件导入到E3D骨骼树
  • 原文地址:https://blog.csdn.net/qq_45100200/article/details/133128246