Normalización de datos en Python

Normalización de datos en Python

La normalización de los datos es una técnica que ayuda a obtener el resultado más rápido, ya que la máquina tiene que procesar una gama más pequeña de datos. La normalización no es una tarea fácil porque todos sus resultados dependen de la elección de su método de normalización. Entonces, si ha elegido el método incorrecto para normalizar sus datos, puede obtener algo diferente de sus expectativas.

La normalización también depende del tipo de datos como imágenes, texto, numéricos, etc. Entonces, cada tipo de datos tiene un método diferente para normalizar. Entonces, en este artículo, nos estamos centrando en datos numéricos.

Método 1: Uso de Sklearn

El método sklearn es un método muy famoso para normalizar los datos.

del preprocesamiento de importación de Sklearn
importar numpy como np
numpy_array = np.Array ([2, 3, 5, 6, 7, 4, 8, 7, 6, 17, 18, 19, 2, 1, 89]))
normalized_array = preprocesamiento.Normalize ([numpy_array])
Imprimir (Normalized_array)

Resultado:

Importamos todas las bibliotecas requeridas, Numpy y Sklearn. Puede ver que importamos el preprocesamiento del sklearn en sí. Es por eso que este es el método de normalización de Sklearn.

Creamos una matriz numpy con algún valor entero que no sea el mismo.

Llamamos al método normalizar del preprocesamiento y pasamos el Numpy_Array, que acabamos de crear como parámetro.

Podemos ver en los resultados, todos nuestros datos enteros ahora están normalizados entre 0 y 1.

Método 2: Normalizar una columna particular en un conjunto de datos utilizando sklearn

También podemos normalizar la columna del conjunto de datos particular. En esto, vamos a discutir sobre eso.

importar pandas como PD
del preprocesamiento de importación de Sklearn
importar numpy como np
CSVFile = PD.read_csv ("demo.CSV ")
Imprimir (CSVFile)
value_array = np.Array (CSVFile ['valor'])
imprimir (value_array)
normalized_array = preprocesamiento.Normalize ([value_array])
Imprimir (Normalized_array)

Resultado:

Importamos los pandas de la biblioteca y sklearn.

Creamos un archivo CSV ficticio, y ahora estamos cargando ese archivo CSV con la ayuda del paquete Pandas (Read_csv).

Imprimimos ese archivo CSV que recientemente cargamos.

Leemos la columna particular del archivo CSV usando el NP. matriz y almacenar el resultado a value_array.

Llamamos al método normalizar desde el preprocesamiento y pasamos el parámetro value_array.

Método 3: Convierta para normalizar sin usar las columnas para la matriz (usando Sklearn)

En el método 2 anterior, discutimos cómo una columna de archivo CSV en particular podríamos normalizar. Pero a veces necesitamos normalizar todo el conjunto de datos, luego podemos usar el siguiente método donde normalizamos todo el conjunto de datos pero a lo largo de la columna (eje = 0). Si mencionamos el eje = 1, entonces hará normalizar en cuanto a la fila. El eje = 1 es por valor predeterminado.

importar pandas como PD
del preprocesamiento de importación de Sklearn
CSVFile = PD.read_csv ("demo_numeric.CSV ")
Imprimir (CSVFile)
# Normalizar los datos a lo largo de la columna (axis = 0)
resultado = preprocesamiento.Normalizar (CSVFile, eje = 0)
Imprimir (resultado)

Resultado:

Importamos los pandas de la biblioteca y sklearn.

Creamos un archivo csv ficticio (demo_numeric.CSV), y ahora estamos cargando ese archivo CSV con la ayuda del paquete Pandas (Read_CSV).

Imprimimos ese archivo CSV que recientemente cargamos.

Ahora, pasamos todo el archivo CSV junto con un parámetro adicional más axis = 0, que dijo a la biblioteca que el usuario quería normalizar todo el conjunto de datos en cuanto a columna.

Imprimimos el resultado y normalizamos los datos con un valor entre 0 y 1.

Método 4: Uso de MinmaxScaler ()

El Sklearn también proporciona otro método de normalización, que lo llamamos minmaxscalar. Este también es un método muy popular porque es fácil de usar.

importar pandas como PD
del preprocesamiento de importación de Sklearn
CSVFile = PD.read_csv ("demo_numeric.CSV ")
Imprimir (CSVFile)
min_max_scalar = preprocesamiento.Minmaxscaler ()
col = csvfile.columnas
resultado = min_max_scalar.Fit_transform (CSVFile)
min_max_scalar_df = PD.DataFrame (resultado, columnas = col)
print (min_max_scalar_df)

Resultado:

Importamos todos los paquetes requeridos.

Creamos un archivo csv ficticio (demo_numeric.CSV), y ahora estamos cargando ese archivo CSV con la ayuda del paquete Pandas (Read_CSV).

Imprimimos ese archivo CSV que recientemente cargamos.

Llamamos al MinmaxScalar desde el método de preprocesamiento y creamos un objeto (min_max_scalar) para eso. No aprobamos ningún parámetro porque necesitamos normalizar los datos entre 0 y 1. Pero si lo desea, puede agregar sus valores que se verán en el siguiente método.

Primero leemos todos los nombres de las columnas para su uso adicional para mostrar resultados. Luego llamamos al FIT_TRANFORM del objeto creado min_max_scalar y pasamos el archivo CSV a eso.

Obtenemos los resultados normalizados que están entre 0 y 1.

Método 5: Uso de MinmaxScaler (largy_range = (x, y))

Sklearn también proporciona la opción de cambiar el valor normalizado de lo que desea. Por defecto, normalizan el valor entre 0 y 1. Pero hay un parámetro que llamamos FePTER_RANGE, que puede establecer el valor normalizado de acuerdo con nuestros requisitos.

importar pandas como PD
del preprocesamiento de importación de Sklearn
CSVFile = PD.read_csv ("demo_numeric.CSV ")
Imprimir (CSVFile)
min_max_scalar = preprocesamiento.MinMaxScaler (Featu_Range = (0, 2))
col = csvfile.columnas
resultado = min_max_scalar.Fit_transform (CSVFile)
min_max_scalar_df = PD.DataFrame (resultado, columnas = col)
print (min_max_scalar_df)

Resultado:

Importamos todos los paquetes requeridos.

Creamos un archivo csv ficticio (demo_numeric.CSV), y ahora estamos cargando ese archivo CSV con la ayuda del paquete Pandas (Read_CSV).

Imprimimos ese archivo CSV que recientemente cargamos.

Llamamos al MinmaxScalar desde el método de preprocesamiento y creamos un objeto (min_max_scalar) para eso. Pero también pasamos otro parámetro dentro del MinmaxScaler (Feing_Range). Ese valor del parámetro establecemos 0 a 2. Entonces, ahora, el MinmaxScaler normalizará los valores de los datos entre 0 y 2.

Primero leemos todos los nombres de las columnas para su uso adicional para mostrar resultados. Luego llamamos al FIT_TRANFORM del objeto creado min_max_scalar y pasamos el archivo CSV a eso.

Obtenemos los resultados normalizados que están entre 0 y 2.

Método 6: utilizando la escalada absoluta máxima

También podemos normalizar los datos utilizando pandas. Estas características también son muy populares para normalizar los datos. La escala absoluta máxima normaliza los valores entre 0 y 1. Estamos aplicando aquí .max () y .ABS () como se muestra a continuación:

importar pandas como PD
# Crear un marcador de datos de demostración
DF = PD.Marco de datos([
[380000, 610, 187.9],
[860000, 705, 237.4],
[430000, 130, 147.0],
[60000, 150, 137.5]],
columnas = ['a', 'b', 'c'])
Imprimir (DF)
# Método normalizado
para columna en DF.columnas:
df [columna] = df [columna] / df [columna].abdominales().max ()
Imprimir (DF)

Resultado:

Importamos la biblioteca de los pandas.

Creamos un marco de datos ficticio e imprimimos ese marco de datos.

Llamamos a cada columna y luego dividimos los valores de la columna con el .max () y .abdominales().

Imprimimos el resultado, y desde el resultado, confirmamos que nuestros datos se normalizan entre 0 y 1.

Método 7: Uso del método de puntaje Z

El siguiente método que vamos a discutir es el método Z-Score. Este método convierte la información en la distribución. Este método calcula la media de cada columna y luego resta de cada columna y, por fin, la divide con la desviación estándar. Esto normaliza los datos entre -1 y 1.

importar pandas como PD
# Crear un marcador de datos de demostración
DF = PD.Marco de datos([
[380000, 610, 187.9],
[860000, 705, 237.4],
[430000, 130, 147.0],
[60000, 150, 137.5]],
columnas = ['a', 'b', 'c'])
Imprimir (DF)
# Método normalizado
para columna en DF.columnas:
DF [columna] = (DF [columna] - DF [columna].media ()) / df [columna].std ()
Imprimir (DF)

Resultado:

Creamos un marco de datos ficticio e imprimimos ese marco de datos.

Calculamos la media de la columna y la restamos de la columna. Luego dividimos el valor de la columna con la desviación estándar.

Imprimimos los datos normalizados entre -1 y 1.

Conclusión: Hemos visto diferentes tipos de métodos normalizados. Entre ellos, Sklearn es muy famoso por el apoyo al aprendizaje automático. Pero eso depende de los requisitos del usuario. A veces, la característica de los pandas para normalizar los datos es suficiente. No podemos decir que solo hay métodos de normalización por encima de. Existen numerosos métodos para hacer una normalización de datos que también dependen de su tipo de datos, como imágenes, numéricos, texto, etc. Nos centramos en estos datos numéricos y python.