[Introducción a la inteligencia artificial] Utilice Python para normalizar datos

[Introducción a la inteligencia artificial] Utilice Python para normalizar datos


1. La importancia del procesamiento de normalización de datos.

  • Los conjuntos de datos de múltiples características a menudo encuentran tales problemas. Los rangos de valores de diferentes características a menudo son muy diferentes e incluso hay diferencias en órdenes de magnitud. Esto probablemente conducirá a una reducción en la precisión del algoritmo de aprendizaje profundo, por lo que data Tiene sentido realizar la normalización.

2. Métodos de normalización comunes

2.1 Normalización mín.-máx.

  • Ejemplo: x ′ = x − min ( x ) max ( x ) − mix ( x ) x^{'} = \frac{x - min(x)}{max(x)-mix(x)}X=máximo x ( x )mezclar x ( x )Xmín ( x )
  • Este es un método de mapeo lineal que mapea linealmente los datos originales al rango de [0 1], donde X son los datos originales;
  • Es más adecuado para situaciones en las que los valores numéricos están relativamente concentrados;
  • Desventaja: si el máximo y el mínimo son inestables, es fácil hacer que el resultado de la normalización sea inestable;

2.2 normalización de puntuación z

  • Ejemplo: x ∗ = x − μ σ x^{*} = \frac{x - \mu}{\sigma }X=pagXmetroEntre ellos, μ y σ son la media y la varianza de los datos originales, respectivamente.
  • Normalice los datos originales a datos con media 0 y varianza 1;
  • Este método requiere que la distribución de los datos originales sea aproximadamente gaussiana; de lo contrario, el efecto de normalización será muy malo.

3. Utilice sklearn para lograr la normalización.

  • Crear datos de prueba
# 创建数据
import pandas as pd

import numpy as np

x=np.random.randint(1,1000,(10000,5))

x=pd.DataFrame(x)

print(x)

Insertar descripción de la imagen aquí

  • Ver la media y la varianza de los datos originales.
# 查看原始数据的均值、方差

print("原始数据均值")
display(x.mean())
print("原始数据方差")
display(x.var())

Insertar descripción de la imagen aquí

  • Normalización mín-máx
# 最大最小标准化(Min-Max Normalization)

from sklearn.preprocessing import MinMaxScaler

x_min=MinMaxScaler().fit_transform(x)

x_min=pd.DataFrame(x_min)

display(x_min.mean())

display(x_min.var())

Insertar descripción de la imagen aquí

  • normalización de puntuación z
# z-score 标准化

from sklearn.preprocessing import StandardScaler

x_std=StandardScaler().fit_transform(x)

x_std=pd.DataFrame(x_std)

display(x_std.mean())

display(x_std.var())

Insertar descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/qq_44928822/article/details/130345140
Recomendado
Clasificación