pitón programación básica: sklearn utiliza para la normalización de datos, la normalización y el método de reducción de datos

Hoy pequeña para que todos puedan compartir un sklearn estar utilizando la normalización de datos, la normalización y los métodos de reducción de datos, un buen valor de referencia, queremos ayuda. Xiaobian seguimiento para ver que se unen en el momento de la formación del modelo, con el fin de permitir que el modelo de convergencia tan pronto como sea posible, una frecuencia hacer es preprocesar los datos.

Aquí, por tratamiento con módulo de sklearn.preprocess.

En primer lugar, estandarizado y la diferencia normalizada

La normalización es en realidad una forma estandarizada, pero la normalización es mapear los datos al [0,1] este intervalo.

Aspirado de datos normalizados de acuerdo con la escala, de modo que en un intervalo específico. datos de la media normalizada = 0, desviación estándar = 1, y por lo tanto estandarizados datos pueden ser positivos o negativos.

En segundo lugar, el uso de la reducción sklearn normalizado y estandarizado

Principio: la primera encontrar la media y la varianza de todos los datos, y se ha calculado.

El resultado final de media cero, varianza es 1, se puede ver de la fórmula.

Pero cuando los datos originales no es distribución de Gauss, entonces el efecto de los datos normalizados no es bueno.

módulo de importación

from sklearn.preprocessing import StandardScaler
from sklearn.preprocessing import MinMaxScaler
from matplotlib import gridspec
import numpy as np
import matplotlib.pyplot as plt

No ha cambiado mediante la generación de puntos aleatorios pueden comparar los datos antes y después de unos perfiles estandarizados, pero la escala reducida.

cps = np.random.random_integers(0, 100, (100, 2))
  
ss = StandardScaler()
std_cps = ss.fit_transform(cps)
  
gs = gridspec.GridSpec(5,5)
fig = plt.figure()
ax1 = fig.add_subplot(gs[0:2, 1:4])
ax2 = fig.add_subplot(gs[3:5, 1:4])
  
ax1.scatter(cps[:, 0], cps[:, 1])
ax2.scatter(std_cps[:, 0], std_cps[:, 1])
  
plt.show()
cps = np.random.random_integers(0, 100, (100, 2))
 
ss = StandardScaler()
std_cps = ss.fit_transform(cps)
 
gs = gridspec.GridSpec(5,5)
fig = plt.figure()
ax1 = fig.add_subplot(gs[0:2, 1:4])
ax2 = fig.add_subplot(gs[3:5, 1:4])
 
ax1.scatter(cps[:, 0], cps[:, 1])
ax2.scatter(std_cps[:, 0], std_cps[:, 1])
 
plt.show()

sklearn.preprocess.StandardScaler uso:

En primer lugar, crear un objeto y, a continuación, llamar al método fit_transform (), tiene que pasar un parámetro en el siguiente formato como un conjunto de entrenamiento.

X : numpy array of shape [n_samples,n_features]Training set.
data = np.random.uniform(0, 100, 10)[:, np.newaxis]
ss = StandardScaler()
std_data = ss.fit_transform(data)
origin_data = ss.inverse_transform(std_data)
print('data is ',data)
print('after standard ',std_data)
print('after inverse ',origin_data)
print('after standard mean and std is ',np.mean(std_data), np.std(std_data))

Por invers_tainsform () método puede ser utilizado para obtener los datos originales.

imprimir los resultados son los siguientes:

La desviación estándar se puede ver que los datos generados es un valor cercano a cero media.

data is [[15.72836992]
 [62.0709697 ]
 [94.85738359]
 [98.37108557]
 [ 0.16131774]
 [23.85445883]
 [26.40359246]
 [95.68204855]
 [77.69245742]
 [62.4002485 ]]
after standard [[-1.15085842]
 [ 0.18269178]
 [ 1.12615048]
 [ 1.22726043]
 [-1.59881442]
 [-0.91702287]
 [-0.84366924]
 [ 1.14988096]
 [ 0.63221421]
 [ 0.19216708]]
after inverse [[15.72836992]
 [62.0709697 ]
 [94.85738359]
 [98.37108557]
 [ 0.16131774]
 [23.85445883]
 [26.40359246]
 [95.68204855]
 [77.69245742]
 [62.4002485 ]]
after standard mean and std is -1.8041124150158794e-16 1.0

En tercer lugar, la normalización de datos sklearn uso y la reducción de la normalización

Principio:
De la fórmula se puede observar los resultados máximos normalizadas con datos mínimos en cuestión.

Similar a la anterior cuando se utiliza estandarizada

data = np.random.uniform(0, 100, 10)[:, np.newaxis]
mm = MinMaxScaler()
mm_data = mm.fit_transform(data)
origin_data = mm.inverse_transform(mm_data)
print('data is ',data)
print('after Min Max ',mm_data)
print('origin data is ',origin_data)

resultados:

G:\Anaconda\python.exe G:/python/DRL/DRL_test/DRL_ALL/Grammar.py
data is [[12.19502214]
 [86.49880021]
 [53.10501326]
 [82.30089405]
 [44.46306969]
 [14.51448347]
 [54.59806596]
 [87.87501465]
 [64.35007178]
 [ 4.96199642]]
after Min Max [[0.08723631]
 [0.98340171]
 [0.58064485]
 [0.93277147]
 [0.47641582]
 [0.11521094]
 [0.59865231]
 [1.  ]
 [0.71626961]
 [0.  ]]
origin data is [[12.19502214]
 [86.49880021]
 [53.10501326]
 [82.30089405]
 [44.46306969]
 [14.51448347]
 [54.59806596]
 [87.87501465]
 [64.35007178]
 [ 4.96199642]]
  
Process finished with exit code 0

Otro enfoque estandarizado:

Lo anterior estandarizado y normalizado a tener un inconveniente es que cada vez que un nuevo dato cuando sea necesario para volver a calcular todos los puntos.

Por lo tanto, cuando los datos se método de cálculo dinámico se puede utilizar cuando varias de las siguientes:

1, la función arctan estandarización arcotangente:
2, LN función estandarizada

Por encima de este uso sklearn normalizarse y todo el contenido de los métodos de reducción de datos para la normalización de los datos es de una pequeña serie para que todos puedan compartir,

El contenido de más de cuántos, y finalmente a recomendar una buena reputación en el número de instituciones públicas [] programadores, hay una gran cantidad de veteranos de aprendizaje

Habilidades, experiencia, habilidades de la entrevista, la experiencia laboral y otra cuota de aprendizaje, la prepararon con más cuidado la basada en cero información introductoria, información sobre proyectos reales,

El método tiene programador temporizado Python explicar la tecnología cotidiana, para compartir algunas de las letras y la necesidad de prestar atención a los pequeños detallesAquí Insertar imagen Descripción

Publicado 49 artículos originales · ganado elogios 8 · Vistas a 40000 +

Supongo que te gusta

Origin blog.csdn.net/chengxun02/article/details/105082385
Recomendado
Clasificación