我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python数据标准化

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python数据标准化

目录

一.数据标准化方式

1.实现中心化和正态分布的Z-Score

2.实现归一化的Max-Min

3.用于稀疏数据的MaxAbs

4.针对离群点的RobustScaler

二.Python针对以上几种标准化方法处理数据

三.总结  


1.实现中心化和正态分布的Z-Score

        Z-Score标准化是基于原始数据的均值和标准差进行的标准化,假设原转换的数据为x,新数据为x',那么x'=(x-mean)/std,其中mean和std为x所在列的均值和标准差。

        这种方法适合大多数类型的数据,也是很多工具的默认标准化方法。标准化之后的数据是以0为均值,方差为1的正态分布。但是Z-Score方法是一种中心化方法,会改变原有数据的分布结构,不适合用于对稀疏数据做处理。

在很多时候,数据集会存在稀疏性特征,表现为标准差小。并有很多元素的值为0.最常见的稀疏数据集是用来做协同过滤的数据集,绝大部分的数据都是0,仅有少部分数据为1。对稀疏数据做标准化,不能采用中心化的方式,否则会破坏稀疏数据的结构。

2.实现归一化的Max-Min

        Max-Min标准化方法是对原始数据进行线性变换,假设原转换的数据为x,新数据为x',那么x'=(x-min)/(max-min),其中min和max为x所在列的最小值和最大值。

        这种标准化方法的应用非常广泛,得到的数据会完全落入[0,1],区间内(Z-Score则没有类似区间),这种方法能使数据归一化而落到一定的区间内,同时还能较好地保持原有数据结构。

3.用于稀疏数据的MaxAbs

        最大值绝对值标准化(MaxAbs)即根据最大值的绝对值进行标准化,假设原转换的数据为x,新数据为x',那么x'=x/|max|,其中max为x所在列的最大值。

        MaxAbs方法跟Max-Min用法类似,也是将数据落入一定区间,但该方法的数据区间为[-1,1]。MaxAbs也具有不破坏原有数据分布结构的特点,因此也可以用于稀疏数据、稀疏的CSR或CSC矩阵。

4.针对离群点的RobustScaler

        某种情况下,假如数据集中有离群点,我们可以使用Z-Score进行标准化,但是标准化之后的数据并不理想,因为异常点的特征往往在标准化之后便容易失去离群特征。此时可以使用RobustScaler针对离群点做标准化处理,该方法对数据中心化和数据的缩放健壮性有更强的参数控制能力。

import numpy as npfrom sklearn import preprocessingimport matplotlib.pyplot as pltdata=np.loadtxt(r"F:\小橙书\chapter3\data6.txt",delimiter='\t')# Z-Score标准化zscore_scaler=preprocessing.StandardScaler()data_scaler_1=zscore_scaler.fit_transform(data)# Max-Min标准化minmax_scaler=preprocessing.MinMaxScaler()data_scaler_2=minmax_scaler.fit_transform(data)# MaxAbs标准化maxabs_scaler=preprocessing.MaxAbsScaler()data_scaler_3=maxabs_scaler.fit_transform(data)# RobustScaler准化robust_scaler=preprocessing.RobustScaler()data_scaler_4=robust_scaler.fit_transform(data)data_list=[data,data_scaler_1,data_scaler_2,data_scaler_3,data_scaler_4]scaler_list=[15,10,15,10,15,10] #创建点尺寸列表color_list=['pink','green','red','orange','blue']marker_list=['o',',','+','s','p']title_list=['source data','zscore_scaler','minmax_scaler','maxabs_scaler','robust_scaler']plt.figure(figsize=(15,8))for i,data_single in enumerate(data_list):    plt.subplot(2,3,i+1)    plt.scatter(data_single[:,0],data_single[:,-1]               ,s=scaler_list[i]               ,marker=marker_list[i]               ,c=color_list[i])    plt.title=title_list[i]plt.suptitle("row data and standardized data")plt.show()

(1)如果要做中心化处理,并且对数据分布有正态需求,则使用Z-Score方法。

(2)如果要进行0-1标准化或要指定标准化后的数据分布范围,Max-Min标准化或MaxAbs标准化是比较好的选择。

(3)如果要对稀疏数据进行处理,Max-Min标准化或MaxAbs标准化仍是理想方法。

(4)如果要最大限度保留数据集中的异常,则使用RobustScaler方法。

来源地址:https://blog.csdn.net/weixin_60200880/article/details/127214706

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python数据标准化

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python数据标准化的实例分析

说明 1、将原始数据转换为均值为0,标准差在1范围内。 2、对标准化而言:如果出现异常点,由于有一定数据量,少量异常点对平均值的影响不大,因此方差变化不大。 实例def stand_demo():"""标准化:return:""" # 1.
2022-06-02

数据标准化的难题

首先要明晰数据标准和数据标准化在概念上的区别。数据标准是一经制定发布后相对稳定的静态文件,而数据标准化是一项带有系统性、复杂性、困难性、长期性特征的动态管理工作,是对标准的某种程度上的落地。在数据标准管理中,通常数据标准相对好制定,而数据标

Python Pandas数据预处理:你知道数据标准化吗?

z 映射的值是用当前特征值与比较数组的平均值之差,除以比较数组的标准差计算得来的。例如,我们可以计算列 deceduti 的 z-map,使用列 terapia_intenva 作为比较数组。我们可以使用 scipy.stats​ 库的 z

使用 Python 进行数据预处理的标准化

数据的基本缩放是使其成为标准,以便所有值都在共同范围内。 在标准化中,数据的均值和方差分别为零和一。 它总是试图使数据呈正态分布。

Python标准库14 数据库 (sqlite3)

Python自带一个轻量级的关系型数据库SQLite。这一数据库使用SQL语言。SQLite作为后端数据库,可以搭配Python建网站,或者制作有数据存储需求的工具。SQLite还在其它领域有广泛的应用,比如HTML5和移动端。Python
2023-06-02

B站埋点数据标准化实践

用户行为数据管理和对应的行为数据分析的关系十分紧密,如何在产品层面上应用好,前置条件是埋点数据需要做到标准化管理、标准化应用,这是很多行业内公司及团队都会碰到的课题。本文将和大家一起分享B站在埋点标准化方面的实践经验。

Python3实现常用数据标准化方法

数据标准化是机器学习、数据挖掘中常用的一种方法。包括我自己在做深度学习方面的研究时,数据标准化是最基本的一个步骤。数据标准化主要是应对特征向量中数据很分散的情况,防止小数据被大数据(绝对值)吞并的情况。另外,数据标准化也有加速训练,防止梯度
2023-01-31

Python学习 :六个标准数据类型

一、Numbers(数字类型)数字类型主要分为两种—— 整数(Integer)与 浮点数(Float)整数分为整型和长整型(在Python3中已经不再区分为整型与长整型,统一称为整型)注意:数字类型是不可变的数据类型            
2023-01-30

如何应对数据标准化的难题

应对这些难题,最经济、最理想的模式当然是:首先建标准,再建应用系统、大数据平台、数据仓库、数据应用等。正因为其太过理想化,所以这种模式几乎是见不到的。因为一般的组织不大可能有这样的认识,很多时候大家都是先建设再治理。

助力数据要素市场标准化,晴数智慧发布大模型数据集企业标准

伴随着工业化、信息化、智能化的不断发展,数字经济取得了显著的成就并即将迈向新的发展阶段。在此背景下,国家部委就推动以数字赋能推动产业高质量发展制定与实施一系列相关政策。不久前,工信部就鼓励部属单位开展数据确权授权的标准制定等方面工作展开了发
晴数智慧2024-11-30

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录