返回顶部
首页 > 资讯 > 后端开发 > Python >Python3中实现数据标准化的方法有哪些
  • 691
分享到

Python3中实现数据标准化的方法有哪些

2023-06-14 07:06:43 691人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

今天就跟大家聊聊有关python3中实现数据标准化的方法有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、[0, 1] 标准化[0, 1] 标准化是最基本的一种数据标准化方法,

今天就跟大家聊聊有关python3中实现数据标准化的方法有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

一、[0, 1] 标准化

[0, 1] 标准化是最基本的一种数据标准化方法,指的是将数据压缩到0~1之间。

标准化公式如下

Python3中实现数据标准化的方法有哪些

代码实现

def MaxMinNORMalization(x, min, max):  """[0,1] normaliaztion"""  x = (x - min) / (max - min)  return x

或者

def MaxMinNormalization(x):  """[0,1] normaliaztion"""  x = (x - np.min(x)) / (np.max(x) - np.min(x))  return x

二、Z-score标准化

Z-score标准化是基于数据均值和方差的标准化化方法。标准化后的数据是均值为0,方差为1的正态分布。这种方法要求原始数据的分布可以近似为高斯分布,否则效果会很差。

标准化公式如下

Python3中实现数据标准化的方法有哪些

下面,我们看看为什么经过这种标准化方法处理后的数据为是均值为0,方差为1

Python3中实现数据标准化的方法有哪些

代码实现

def ZscoreNormalization(x, mean_, std_):  """Z-score normaliaztion"""  x = (x - mean_) / std_  return x

或者

def ZscoreNormalization(x):  """Z-score normaliaztion"""  x = (x - np.mean(x)) / np.std(x)  return x

补充:Python数据预处理:彻底理解标准化和归一化

数据预处理

数据中不同特征的量纲可能不一致,数值间的差别可能很大,不进行处理可能会影响到数据分析的结果,因此,需要对数据按照一定比例进行缩放,使之落在一个特定的区域,便于进行综合分析。

常用的方法有两种:

最大 - 最小规范化:对原始数据进行线性变换,将数据映射到[0,1]区间

Python3中实现数据标准化的方法有哪些

Z-Score标准化:将原始数据映射到均值为0、标准差为1的分布上

Python3中实现数据标准化的方法有哪些

为什么要标准化/归一化?

提升模型精度:标准化/归一化后,不同维度之间的特征在数值上有一定比较性,可以大大提高分类器的准确性。

加速模型收敛:标准化/归一化后,最优解的寻优过程明显会变得平缓,更容易正确的收敛到最优解。

如下图所示:

Python3中实现数据标准化的方法有哪些

Python3中实现数据标准化的方法有哪些

哪些机器学习算法需要标准化和归一化

1)需要使用梯度下降和计算距离的模型要做归一化,因为不做归一化会使收敛的路径程z字型下降,导致收敛路径太慢,而且不容易找到最优解,归一化之后加快了梯度下降求最优解的速度,并有可能提高精度。比如说线性回归、逻辑回归、adaboost、xgboost、GBDT、SVM、NeuralNetwork等。需要计算距离的模型需要做归一化,比如说KNN、KMeans等。

2)概率模型、树形结构模型不需要归一化,因为它们不关心变量的值,而是关心变量的分布和变量之间的条件概率,如决策树、随机森林。

Python3中实现数据标准化的方法有哪些

彻底理解标准化和归一化

Python3中实现数据标准化的方法有哪些

示例数据集包含一个自变量(已购买)和三个因变量(国家,年龄和薪水),可以看出用薪水范围比年龄宽的多,如果直接将数据用于机器学习模型(比如KNN、KMeans),模型将完全有薪水主导。

#导入数据import numpy as npimport matplotlib.pyplot as pltimport pandas as pddf = pd.read_csv('Data.csv')

缺失值均值填充,处理字符型变量

df['Salary'].fillna((df['Salary'].mean()), inplace= True)df['Age'].fillna((df['Age'].mean()), inplace= True)df['Purchased'] = df['Purchased'].apply(lambda x: 0 if x=='No' else 1)df=pd.get_dummies(data=df, columns=['Country'])

Python3中实现数据标准化的方法有哪些

最大 - 最小规范化

from sklearn.preprocessing import MinMaxScalerscaler = MinMaxScaler()scaler.fit(df)scaled_features = scaler.transform(df)df_MinMax = pd.DataFrame(data=scaled_features, columns=["Age", "Salary","Purchased","Country_France","Country_Germany", "Country_spain"])

Python3中实现数据标准化的方法有哪些

Z-Score标准化

from sklearn.preprocessing import StandardScalersc_X = StandardScaler()sc_X = sc_X.fit_transform(df)sc_X = pd.DataFrame(data=sc_X, columns=["Age", "Salary","Purchased","Country_France","Country_Germany", "Country_spain"])

Python3中实现数据标准化的方法有哪些

import seaborn as snsimport matplotlib.pyplot as pltimport statisticsplt.rcParams['font.sans-serif'] = ['Microsoft YaHei']fig,axes=plt.subplots(2,3,figsize=(18,12)) sns.distplot(df['Age'], ax=axes[0, 0])sns.distplot(df_MinMax['Age'], ax=axes[0, 1])axes[0, 1].set_title('归一化方差:% s '% (statistics.stdev(df_MinMax['Age'])))sns.distplot(sc_X['Age'], ax=axes[0, 2])axes[0, 2].set_title('标准化方差:% s '% (statistics.stdev(sc_X['Age'])))sns.distplot(df['Salary'], ax=axes[1, 0])sns.distplot(df_MinMax['Salary'], ax=axes[1, 1])axes[1, 1].set_title('MinMax:Salary')axes[1, 1].set_title('归一化方差:% s '% (statistics.stdev(df_MinMax['Salary'])))sns.distplot(sc_X['Salary'], ax=axes[1, 2])axes[1, 2].set_title('StandardScaler:Salary')axes[1, 2].set_title('标准化方差:% s '% (statistics.stdev(sc_X['Salary'])))

看完上述内容,你们对python3中实现数据标准化的方法有哪些有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网Python频道,感谢大家的支持。

--结束END--

本文标题: Python3中实现数据标准化的方法有哪些

本文链接: https://lsjlt.com/news/269052.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python3中实现数据标准化的方法有哪些
    今天就跟大家聊聊有关Python3中实现数据标准化的方法有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、[0, 1] 标准化[0, 1] 标准化是最基本的一种数据标准化方法,...
    99+
    2023-06-14
  • Python3实现常用数据标准化方法
    数据标准化是机器学习、数据挖掘中常用的一种方法。包括我自己在做深度学习方面的研究时,数据标准化是最基本的一个步骤。数据标准化主要是应对特征向量中数据很分散的情况,防止小数据被大数据(绝对值)吞并的情况。另外,数据标准化也有加速训练...
    99+
    2023-01-31
    常用 方法 数据
  • Python3 常用数据标准化方法详解
    数据标准化是机器学习、数据挖掘中常用的一种方法。包括我自己在做深度学习方面的研究时,数据标准化是最基本的一个步骤。 数据标准化主要是应对特征向量中数据很分散的情况,防止小数据被大数据...
    99+
    2024-04-02
  • Java的标准数据流有哪些
    这篇文章主要讲解了“Java的标准数据流有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java的标准数据流有哪些”吧!Java输入输出(I/O)API是Java里最重要的API之一。J...
    99+
    2023-06-17
  • vuex数据持久化的实现方法有哪些
    本篇内容介绍了“vuex数据持久化的实现方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!目录业务需求:方案一:vuex-persis...
    99+
    2023-06-20
  • Python标准库的操作方法有哪些
    这篇文章主要讲解了“Python标准库的操作方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python标准库的操作方法有哪些”吧!1、操作系统接口os模块提供了不少与操作系统相关联...
    99+
    2023-06-30
  • redis中有哪些实现数据持久化的方式
    redis中实现数据持久化的方式有:1.RDB方式,通过快照实现数据持久化;2.AOF方式,以日志的形式实现数据持久化;redis中实现数据持久化的方式有以下两种RDB方式RDB方式是通过快照的方式实现数据持久化,当符合一定条件时,redi...
    99+
    2024-04-02
  • Python3中六种标准数据类型的简单
    作者:心叶时间:2018-04-21 09:28 Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。 Python3 中有六个标准的数据类型:Number(数字) + String(字符串) + ...
    99+
    2023-01-31
    六种 数据类型 简单
  • 网站URL标准化的原则有哪些
    这篇文章给大家分享的是有关网站URL标准化的原则有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。网站URL标准化12条原则  1.推荐申请自己的独立域名来建立网站,这一点现在已经不是问题。  2.尽量使用静态...
    99+
    2023-06-10
  • 数据库优化的方法有哪些
    这篇文章主要介绍数据库优化的方法有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!数据库优化的几种方式分别是:1、选取最适用的字段属性;2、使用连接来代替子查询;3、使用联合来代替...
    99+
    2024-04-02
  • mysql实现数据持久化的方式有哪些
    MySQL实现数据持久化的方式主要有以下几种: 数据库存储:MySQL是一种关系型数据库管理系统,最常见的方式是将数据存储在数据...
    99+
    2023-10-26
    mysql
  • 服务器硬件标准化:实现数据中心现代化的基石
    服务器硬件标准化的重要性 在当今数据密集型世界中,数据中心是现代业务运营的关键支柱。为了满足不断增长的数据和计算需求,企业正在寻求数据中心现代化的途径。服务器硬件标准化是实现这一目标的基石,因为它提供了以下关键优势: 提高效率:消除异...
    99+
    2024-02-28
    服务器硬件标准化、数据中心现代化、最佳实践、效率、成本、安全性
  • Python数据标准化的实例分析
    说明 将原始数据转换为均值为0,标准差在1范围内。 对标准化而言:如果出现异常点,由于有一定数据量,少量异常点对平均值的影响不大,因此方差变化不大。 实例 def stand_demo(): """ ...
    99+
    2022-06-02
    Python 数据标准化
  • Tags标签优化的方法有哪些
    本篇内容介绍了“Tags标签优化的方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1:如何抒写Tags标签?tags的书写是自由的。...
    99+
    2023-06-12
  • 实现Linux数据加密的方法有哪些
    这篇文章主要介绍“实现Linux数据加密的方法有哪些”,在日常操作中,相信很多人在实现Linux数据加密的方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”实现Linux数据加密的方法有哪些”的疑惑有所...
    99+
    2023-06-12
  • php优化数据库的方法有哪些
    这篇文章运用简单易懂的例子给大家介绍php优化数据库的方法有哪些,代码非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。php优化数据库的方法:1、选取最适用的字段属性;2、使用连接JOIN来代...
    99+
    2024-04-02
  • mysql数据库优化的方法有哪些
    MySQL数据库优化的方法有以下几种: 1.索引优化:通过合理设计和使用索引来提高查询效率。 选择合适的索引列:选择经常被查询的列...
    99+
    2024-04-09
    mysql
  • 使用pandas模块实现数据的标准化操作
    如下所示: 3σ 原则 (u-3*σ ,u+3*σ ) ...
    99+
    2024-04-02
  • pandas实现数据清洗有哪些方法
    pandas实现数据清洗的方法有:1、缺失值处理;2、重复值处理;3、数据类型转换;4、异常值处理;5、数据规范化;6、数据筛选;7、数据聚合和分组;8、数据透视表等。详细介绍:1、缺失值处理,Pandas提供了多种处理缺失值的方法,对于缺...
    99+
    2023-11-22
    数据清洗 Pandas
  • ArrayList实现初始化的方法有哪些
    本篇文章给大家分享的是有关ArrayList实现初始化的方法有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。对于ArrayList的初始化有三种方式:对于第一种默认的构造方...
    99+
    2023-05-31
    arraylist lis st
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作