python数据预处理 :数据标准化

article/2025/9/14 0:25:22

何为标准化:

在数据分析之前,我们通常需要先将数据标准化(normalization),利用标准化后的数据进行数据分析。数据标准化也就是统计数据的指数化。数据标准化处理主要包括数据同趋化处理和无量纲化处理两个方面。数据同趋化处理主要解决不同性质数据问题,对不同性质指标直接加总不能正确反映不同作用力的综合结果,须先考虑改变逆指标数据性质,使所有指标对测评方案的作用力同趋化,再加总才能得出正确结果。数据无量纲化处理主要解决数据的可比性。

几种标准化方法:

归一化Max-Min

min-max标准化方法是对原始数据进行线性变换。设minA和maxA分别为属性A的最小值和最大值,将A的一个原始值x通过min-max标准化映射成在区间[0,1]中的值x’,其公式为:
新数据=(原数据-最小值)/(最大值-最小值)
这种方法能使数据归一化到一个区域内,同时不改变原来的数据结构。

实现中心化Z-Score

这种方法基于原始数据的均值(mean)和标准差(standard deviation)进行数据的标准化。将A的原始值x使用z-score标准化到x’。
z-score标准化方法适用于属性A的最大值和最小值未知的情况,或有超出取值范围的离群数据的情况。
新数据=(原数据-均值)/标准差
这种方法适合大多数类型数据,也是很多工具的默认标准化方法。标准化之后的数据是以0为均值,方差为以的正太分布。但是Z-Score方法是一种中心化方法,会改变原有数据的分布结构,不适合用于对稀疏数据做处理。
很多时候数据集会存在稀疏特征,表现为标准差小,很多元素值为0,最常见的稀疏数据集是用来做协同过滤的数据集,绝大部分数据都是0。对稀疏数据做标准化,不能采用中心化的方式,否则会破坏稀疏数据的结构。

用于稀疏数据的MaxAbs

最大值绝对值标准化(MaxAbs)即根据最大值的绝对值进行标准化,假设原转换的数据为x,新数据为x’,那么x’=x/|max|,其中max为x锁在列的最大值。
该方法的数据区间为[-1, 1],也不破坏原数据结构的特点,因此也可以用于稀疏数据,一些稀疏矩阵。

针对离群点的RobustScaler

有些时候,数据集中存在离群点,用Z-Score进行标准化,但是结果不理想,因为离群点在标准化后丧失了利群特性。RobustScaler针对离群点做标准化处理,该方法对数据中心化的数据的缩放健壮性有更强的参数控制能力。

python实现

import numpy as np
import pandas as pd
from sklearn import preprocessing
import matplotlib.pyplot as plt
from sklearn.datasets import make_moons
import matplotlib.pyplot as plt
%matplotlib inline# 导入数据
data = make_moons(n_samples=200, noise=10)[0]#Z-Score标准化
#建立StandardScaler对象
zscore = preprocessing.StandardScaler()
# 标准化处理
data_zs = zscore.fit_transform(data)#Max-Min标准化
#建立MinMaxScaler对象
minmax = preprocessing.MinMaxScaler()
# 标准化处理
data_minmax = minmax.fit_transform(data)#MaxAbs标准化
#建立MinMaxScaler对象
maxabs = preprocessing.MaxAbsScaler()
# 标准化处理
data_maxabs = maxabs.fit_transform(data)#RobustScaler标准化
#建立RobustScaler对象
robust = preprocessing.RobustScaler()
# 标准化处理
data_rob = robust.fit_transform(data)# 可视化数据展示
# 建立数据集列表
data_list = [data, data_zs, data_minmax, data_maxabs, data_rob]
# 创建颜色列表
color_list = ['blue', 'red', 'green', 'black', 'pink']
# 创建标题样式
title_list = ['source data', 'zscore', 'minmax', 'maxabs', 'robust']# 设置画幅
plt.figure(figsize=(9, 6))
# 循环数据集和索引
for i, dt in enumerate(data_list):# 子网格plt.subplot(2, 3, i+1)# 数据画散点图plt.scatter(dt[:, 0], dt[:, 1], c=color_list[i])# 设置标题plt.title(title_list[i])
# 图片储存 
plt.savefig('xx.png')
# 图片展示
plt.show()

在这里插入图片描述

参考:
《python数据分析与数据化运营》 宋天龙


http://chatgpt.dhexx.cn/article/4I7BDYuo.shtml

相关文章

数据处理标准化方法

归一化(Normalization) 1.把数据变为(0,1)之间的小数。主要是为了方便数据处理,因为将数据映射到0~1范围之内,可以使处理过程更加便捷、快速。 2.把有量纲表达式变换为无量纲表达式&…

6 EXCEl格式标准化规范化

1 数值文本转数值 2 查找替换 使用SUBSTITUTE(B10,".","/") 3日期格式规范化 TEXT(F3,"##-##-00") 1数据-分列 最后选择日期 2TEXT(J3,"##-##-00") 4 格式刷

数据的标准化

数据的标准化 数据的标准化(normalization)是将数据按比例缩放,使之落入一个小的特定区间。在某些比较和评价的指标处理中经常会用到,去除数据的单位限制,将其转化为无量纲的纯数值,便于不同单位或量级的指…

数据标准化处理

一、为什么进行标准化处理 在多指标评价体系中,由于各评价指标的性质不同,通常具有不同的量纲和数量级。当各指标间的水平相差很大时,如果直接用原始指标值进行分析,就会突出数值较高的指标在综合分析中的作用,相对削…

excel数据标准化

##加载程序包 from openpyxl import load_workbook #利用openpyxl程序包向指定excel单元格写入值 from sklearn.preprocessing import StandardScaler #利用StandardScaler数据标准化处理 import pandas as pd #利用pandas加载excel,得到dataframe结构 dataset pd.…

vue导出excel并修改表头样式

vue导出excel并修改样式 本文参考CSDN蓝色的落叶(侵删) DEMO下载 安装插件 npm install --save xlsx(修改样式需要下载npm install --save xlsx-style) npm install -S file-saver npm install -D script-loader 安装npm install --save xlsx-style会出…

vue 实现Excel 导出

前言 数据表格的导出,是实际开发的常见功能,前后端都可以实现表格导出,讲解自己在用的一种。 获取数据源,可以通过后端接口实现,也可以利用分页查询的表格接口来实现。 处理数据,对excel表格的表头&#…

vue导出excel并修改样式

1.首先安装以下三个安装包 npm install --save xlsx(修改样式需要下载npm install --save xlsx-style)npm install -S file-savernpm install -D script-loader 注意:如果安装了npm install --save xlsx-style 会报错:This relative module was not fo…

springboot vue导出excel 使用easypoi

springboot vue导出excel 处理后端返回的文件流&#xff0c;下载成excl文件 vue <el-button class"el-icon-download" type"success" click"exportExcel()">导出</el-button>没封装axios exportExcel() {axios({url: 请求地址, …

Vue导出Excel表格信息

一、安装两个依赖包 npm install -S file-saver xlsxnpm install -D script-loader二、项目中新建一个文件夹 里面放置两个文件Blob.js和 Export2Excel.js。 同时注意Export2Excel里引用Blob的路径是否正确。 三、使用案例 3.1、使用注意事项 表头对应的键要和传过来的数据…

vue导出excel表

方法一&#xff1a;vue2.0 element UI 中 el-table 数据导出Excel 。https://blog.csdn.net/u010427666/article/details/79208145 方法二&#xff1a; 1.安装2个依赖包&#xff08;其实是3个&#xff09; npm install -S file-saver xlsxnpm install -D script-loader 2.在…

Vue导出Excel的实现方法与原理

摘要&#xff1a;本文将详细介绍前端Vue中导出Excel的方法&#xff0c;包括使用第三方库和纯前端实现两种方式。同时解释其原理&#xff0c;帮助读者了解如何在Vue项目中高效地导出Excel文件。 第三方库&#xff1a;exceljs exceljs是一款功能强大的JavaScript库&#xff0c;它…

Vue实现excel文件的导出功能(后端直接返回文件流)

✍️ 作者简介: 一个每天中午去打篮球和锻炼的前端开发。 &#x1f408;‍⬛ 两只猫&#x1f431;和一只狗的铲屎官&#x1f436; &#x1f9e3; 微博: GuoJ阝阝&#xff08;fu&#xff09; 文章目录 前言一、实现效果二、实现步骤1、添加导出按钮2、添加点击事件函数3、获取当…

vue导出excel表格(详细教程)

在开发的时候&#xff0c;会经常用的导出excel表格功能,刚好自己开发有遇到&#xff0c;就记录一下 一、安装vue-json-excel npm install vue-json-excel -S二、main.js中引入 import JsonExcel from vue-json-excel Vue.component(downloadExcel, JsonExcel)三、在代码中使…

Vue2中导出Excel

目录 方式一 &#xff1a;vue-json-excel 1、引入vue-json-excel 2、 main.js中全局注册 3、使用 4、效果图 ​​ 方式二&#xff1a;file-saver、xlsx、script-loader 1、引入依赖 2、下载并引入Blob.js和Export2Excel.js 3、使用 4、效果图 导出指定的记录 1、引…

内网建站 NAT穿透 局域网穿透

背景&#xff1a; 一直想搭建个人的博客&#xff0c;但是买云服务器一年动则几千少则几百&#xff0c;想到家里有一台空闲的笔记本&#xff0c;于是乎想到了内网穿透&#xff5e; 准备工作&#xff1a; 个人电脑一台&#xff0c;小蝴蝶内网穿透 步骤一&#xff1a; 搭建好内网博…

内网穿透是什么?

文章目录 内网穿透的目的内网穿透的阻碍如何实现知识点正向代理反向代理 参考&#xff1a; 内网穿透 知识点 内网穿透是什么&#xff0c;如何利用花生壳实现内网穿透 内容从网络上收集而来 内网穿透的目的 使得外网能够访问内网应用。 或者&#xff0c;使得 两个内网能够相互通…

内网穿透-把自己的电脑部署为公网可访问的服务器

推荐一款工具&#xff0c;能够把自己电脑上的项目暴露到公网上、把自己的项目展示给别人看看。 使用很方便&#xff0c;可免费&#xff08;有收费项目&#xff09;使用。 下载 工具叫做 cpolar &#xff0c;其下载地址为&#xff1a;https://i.cpolar.com/m/4GSo &#xff0c…

内网穿透技术有哪些(经验分享)

内网穿透技术&#xff1a;说到内网穿透&#xff0c;相信很多人肯定一知半解&#xff0c;到底什么是内网穿透呢&#xff01;什么情况下需要内网穿透呢&#xff01;接下来给大家简单的述说一下原理&#xff0c;内网穿透&#xff0c;也即 NAT 穿透&#xff0c;进行 NAT 穿透是为了…

可以实现内网穿透的几款工具

https://blog.csdn.net/qq_36468810/article/details/109219639 me批注&#xff1a;现在流行使用cpolar&#xff0c;极客工具&#xff0c;HTTPS安全的隧道穿透&#xff0c;用它来调试微信公众号&#xff0c;远程控制树梅派&#xff0c;超级方便。而且还是免费的。https://cpol…