Procesamiento estandarizado de datos - basado en python


Escribí sobre la estandarización con R antes: estandarización de datos - basada en R

Normalización

Escale los datos a [0,1] (normalización min—max)
X ∗ = X i − X min X max − X min X^{\ast}=\frac{X_i-X_{min}}{X_{max } -X_{min}}X=Xmx _ _Xm yo nXyoXm yo n
Por lo general, la estandarización anterior se denomina
escala de normalización a [-1,1] Media — Normalización
X ∗ = X i − media ( X ) X max − X min X^{\ast}=\frac{X_i- mean(X)} {X_{máx}-X_{mín}}X=Xmx _ _Xm yo nXyom e a n X

implementación de Python

Esta vez usamos módulos numpy y scikit-learn, instálelos usted mismo

import  numpy as np
from  sklearn  import  preprocessing

Primero usamos números aleatorios para generar un marco de datos con diez filas y diez columnas

feature=a=np.random.randint(low=10, high=20, size=(10,10))
feature

imagen-20221116185640765

Primero cree el escalador, tenga en cuenta que el rango en el código es el rango que escalamos

#创建缩放器
minmax_scale=preprocessing.MinMaxScaler(feature_range=(0,1))#这里的feature是固定的与数据名无关
scale_feature=minmax_scale.fit_transform(feature)#这里的future就是数据名
print(scale_feature)

Resultado de salida:

imagen-20221116190109462

Código completo: si no hay resultado de salida, agregue una impresión

import  numpy as np
from  sklearn  import  preprocessing
#%% md

#%%
x=a=np.random.randint(low=10, high=20, size=(10,10))
# feature
#创建缩放器
minmax_scale=preprocessing.MinMaxScaler(feature_range=(0,1))
scale_feature=minmax_scale.fit_transform(x)
scale_feature

Estandarización

Transforme los datos en una distribución con una media de 0 y una desviación estándar de 1, no necesariamente una normal estándar

X ∗ = X yo − μ σ X^{\ast}=\frac{X_i-\mu}{\sigma}X=pagXyometro

Donde μ es la media y σ es la desviación estándar.
La estandarización de los datos no cambiará la distribución de los datos originales. Si los datos originales obedecen a la distribución normal, los datos estandarizados obedecerán a la distribución normal estándar.

implementación de Python

Todavía uso la misma biblioteca

import  numpy as np
from  sklearn  import  preprocessing
x=a=np.random.randint(low=10, high=20, size=(10,10))
#创建缩放器
minmax_scale=preprocessing.StandardScaler()
#转换特征
scale_feature=minmax_scale.fit_transform(x)
scale_feature

Datos normalizados

imagen-20221116190703681

Salida de la media normalizada y la varianza:

print(f"标准化后的均值为{
      
      round(scale_feature.mean(),2)},标准化后的均值为{
      
      round(scale_feature.std(),3)}")

La media normalizada es -0,0, la media normalizada es 1,0

En general, el segundo es más comúnmente utilizado

Supongo que te gusta

Origin blog.csdn.net/qq_54423921/article/details/127890923
Recomendado
Clasificación