Estandarización de datos - basada en R
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 nXyo−Xm 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 nXyo−m 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
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:
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∗=pagXyo−metro
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
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