常见的数据标准化方法有以下6种:

1、Min-Max标准化

Min-Max标准化是指对原始数据进行线性变换,将值映射到[0,1]之间

2、Z-Score标准化

Z-Score(也叫Standard Score,标准分数)标准化是指:基于原始数据的均值(mean)和标准差(standard deviation)来进行数据的标准化。

3、小数定标(Decimal scaling)标准化

小数定标标准化是指:通过移动小数点的位置来进行数据的标准化。小数点移动的位数取决于原始数据中的最大绝对值。

4、均值归一化法

均值归一化是指:通过原始数据中的均值、最大值和最小值来进行数据的标准化

5、向量归一化

向量归一化是指:通过用原始数据中的每个值除以所有数据之和来进行数据的标准化

6、指数转换

指数转换是指:通过对原始数据的值进行相应的指数函数变换来进行数据的标准化。进行指数转换常见的函数方法有lg函数、Softmax函数和Sigmoid函数

实例1:实现数据的标准化

要对原始数据[1,2,3,4,5,6,7,8,9]进行标准化,代码如下:

"""

Author: Thinkgamer

Desc:

代码4-1 Python实现标准化方法

"""

import numpy as np

import math

class DataNorm:

def init(self):

self.arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]

self.x_max = max(self.arr) # 最大值

self.x_min = min(self.arr) # 最小值

self.x_mean = sum(self.arr) / len(self.arr) # 平均值

self.x_std = np.std(self.arr) # 标准差

def Min_Max(self):

arr_ = list()

for x in self.arr:

# round(x,4) 对x保留4位小数

arr_.append(round((x - self.x_min) / (self.x_max - self.x_min), 4))

print("经过Min_Max标准化后的数据为:\n{}".format(arr_))

def Z_Score(self):

arr_ = list()

for x in self.arr:

arr_.append(round((x - self.x_mean) / self.x_std, 4))

print("经过Z_Score标准化后的数据为:\n{}".format(arr_))

# 有点问题,改为如下这样

# def DecimalScaling(self):

# arr_ = list()

# j = self.x_max // 10 if self.x_max % 10 == 0 else self.x_max // 10 + 1

# for x in self.arr:

# arr_.append(round(x / math.pow(10, j), 4))

# print("经过Decimal Scaling标准化后的数据为:\n{}".format(arr_))

def DecimalScaling(self):

arr_ = list()

j = 1

x_max = max([abs(one) for one in self.arr])

while x_max / 10 >= 1.0:

j += 1

x_max = x_max / 10

for x in self.arr:

arr_.append(round(x / math.pow(10, j), 4))

print("经过Decimal Scaling标准化后的数据为:\n{}".format(arr_))

def Mean(self):

arr_ = list()

for x in self.arr:

arr_.append(round((x - self.x_mean) / (self.x_max - self.x_min), 4))

print("经过均值标准化后的数据为:\n{}".format(arr_))

def Vector(self):

arr_ = list()

for x in self.arr:

arr_.append(round(x / sum(self.arr), 4))

print("经过向量标准化后的数据为:\n{}".format(arr_))

def exponential(self):

arr_1 = list()

for x in self.arr:

arr_1.append(round(math.log10(x) / math.log10(self.x_max), 4))

print("经过指数转换法(log10)标准化后的数据为;\n{}".format(arr_1))

arr_2 = list()

sum_e = sum([math.exp(one) for one in self.arr])

for x in self.arr:

arr_2.append(round(math.exp(x) / sum_e, 4))

print("经过指数转换法(SoftMax)标准化后的数据为;\n{}".format(arr_2))

arr_3 = list()

for x in self.arr:

arr_3.append(round(1 / (1 + math.exp(-x)), 4))

print("经过指数转换法(Sigmoid)标准化后的数据为;\n{}".format(arr_3))

if name == "main":

dn = DataNorm()

dn.Min_Max()

dn.Z_Score()

dn.DecimalScaling()

dn.Mean()

dn.Vector()

dn.exponential()

在实现数据标准化中,使用round函数来进行小数后数据位数的保留,如round(x,4)表示的是保留小数点后4位小数

python 标准化_数据标准化相关推荐

  1. python标准化_数据标准化与Python实现

    一.原理 数据标准化(Normalization):将数据按照一定比例进行缩放,使其落入到一个特定的小区间. 数据标准化的类别: Min-Max标准化 Z-Score标准化(Standard Scor ...

  2. python 归一化_数据的标准化和归一化

    数据的标准化 归一化 归一化的目标 归一化的好处 归一化的方法 无量纲表达式 为什么要对数据进行归一化处理 常见的数据归一化方法 Python归一化处理方法 数据的标准化 数据的标准化(normali ...

  3. python代码规范化_数据标准化方法及其Python代码实现

    数据的标准化(normalization)是将数据按比例缩放,使之落入一个小的特定区间.目前数据标准化方法有多种,归结起来可以分为直线型方法(如极值法.标准差法).折线型方法(如三折线法).曲线型方法 ...

  4. dataframe数据标准化处理_数据标准化处理

    一.标准分数 标准分数(Standard Score,又称z-score.z分数或标准化值),是将集合中的单个数与集合的均值相减的结果除以集合的标准差得到标准化的结果,该方法类似于正态分布的标准化转换 ...

  5. c# 标准正太分布函数_数据标准化处理中的min-max和zscore

    数据标准化就是把有量纲的数据变成无量纲的数据,把量级不同的数据处理到一个层级,从而让不同的数据之间具有可比性.比如收入和体重两个解释变量,收入的单位是元,体重的单位是kg,10000元的收入要和45k ...

  6. 菜鸟窝出品】数据清洗、python与sklearn数据标准化实战(附项目源码)

    本文是由菜鸟窝特邀清华的人工智能博士亲授,从零开始教你如何进行数据预处理,并通过实际案例手把手教会大家进行实操.相关的源码会发给大家实践,让你真正做到学以致用. 阿里百度人工智能大神精讲的人工智能视频 ...

  7. python数据标准_python-StandardScaler数据标准化

    StandardScaler类是一个用来讲数据进行归一化和标准化的类.-计算训练集的平均值和标准差,以便测试数据集使用相同的变换. 样本x的标准分数计算如下:z = (x - u) / s 将数据按期 ...

  8. python 离群值_数据预处理初学者宝典:360° 掌握离群值识别

    全文共6023字,预计学习时长20分钟或更长 来源:Pexels 离群值监测和处理是数据预处理中最重要的环节之一.机器学习算法注重数据点的范围和分布,而数据离群值掩盖训练进程,导致训练时间加长.模型准 ...

  9. Python爬虫_数据存储

    文章目录 HTML正文抽取 多媒体文件抽取 Email提醒 HTML正文抽取 HTML正文存储主要分为两种格式:JSON和CSV 储存为JSON 需求:抽取小说标题.章节.章节名称和链接 首先使用Re ...

最新文章

  1. 如何在C ++中从容器中删除元素
  2. org.apache.hadoop.ipc.Client: Retrying connect to server异常的解决
  3. 常考数据结构与算法-NC105 二分查找-II
  4. 对家庭网络设备行业的理解
  5. 每个人都应该知道的25个大数据术语 1
  6. (C#) 调用执行批处理文件
  7. 推荐5款好用的Linux音乐播放器
  8. python读取大文件目录_65.Python读取大文件
  9. 开源 非开源_开源周中的女性
  10. 深度学习2.0-41.GRU原理及实战
  11. CTPN_论文阅读总结
  12. 如何打开 Mac 的摄像头?
  13. python创建线程_Python 创建线程的方法
  14. 2021年PMP考试模拟题11(含答案解析)
  15. centOS7中安装tecplot_ex_2015r2_linux64
  16. unity webgl 手机端微信直接打开链接
  17. HTML第6章上机练习3(制作京东快报页面)
  18. Xilinx FPGA 配置之ICAP
  19. lterator遍历
  20. 液晶显示器的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告

热门文章

  1. Oracle表空间的查询与创建
  2. Codeup-问题 A: 【字符串】最长回文子串
  3. hdu 1535 spfa
  4. 解题报告——蓝桥杯 试题 基础练习 2n皇后问题(附n皇后代码)
  5. 蓝桥杯 试题 基础练习 十六进制转十进制——5行代码AC
  6. MySQL为什么有时候会选错索引?
  7. 计算机网络实验(华为eNSP模拟器)——第九章 配置多个虚拟局域网(vlan)
  8. 柔性体没有应变_柔性应变和压力传感器
  9. c语言设计第六章答案,c语言第六章 循环结构程序设计(习题册答案)
  10. Python中的集合