Normalizar una lista de números en Python
- La fórmula para la normalización
-
Normalice una lista de números usando la función
MinMaxScaler
en Pythonsklearn
- Normalizar una lista de números manualmente en Python
La normalización significa convertir un dato dado a otra escala. Cambiamos la escala de los datos de tal manera que se encuentran entre dos valores. La mayoría de las veces, los datos se reescalan entre 0 y 1. Reescalamos los datos para un propósito diferente. Por ejemplo, los algoritmos de aprendizaje automático funcionan mejor cuando los valores del conjunto de datos son pequeños.
Digamos que tenemos una lista {1,2,3} y luego de la normalización de la escala de 0 y 1, la lista será {0, 0.5, 1}
. También podemos normalizar nuestros datos a alguna otra escala. Digamos entre 2 y 6. Entonces, nuevamente, si tenemos la lista {1,2,3} después de la normalización, será {2,4,6}.
La fórmula para la normalización
Entender cómo funciona la normalización. Echaremos un vistazo a su fórmula. Restamos el valor mínimo
de cada número y lo dividimos por el range
, es decir: max-min. Entonces, en la salida, obtenemos el valor normalizado de ese número específico.
Podemos usar dos métodos para normalizar una lista. O podemos usar la función incorporada, que está disponible en el módulo de preprocesamiento del paquete sklearn
. O podemos hacer que nuestra lógica funcione con la misma fórmula que se discutió anteriormente.
Normalice una lista de números usando la función MinMaxScaler
en Python sklearn
Un método incorporado llamado MinMaxScaler()
está disponible en el módulo de preprocesamiento
del paquete sklearn
. Crearemos un array 1D NumPy
y la pasaremos a la función. Debemos tener instalados los paquetes NumPy
y sklearn
para usar esta función.
Código de ejemplo:
# python 3.x
import numpy as np
from sklearn import preprocessing
list = np.array([6, 1, 0, 2, 7, 3, 8, 1, 5]).reshape(-1, 1)
print("Original List:", list)
scaler = preprocessing.MinMaxScaler()
normalizedlist = scaler.fit_transform(list)
print("Normalized List:", normalizedlist)
Producción :
Original List: [[6]
[1]
[0]
[2]
[7]
[3]
[8]
[1]
[5]]
Normalized List: [[0.75 ]
[0.125]
[0. ]
[0.25 ]
[0.875]
[0.375]
[1. ]
[0.125]
[0.625]]
Ahora digamos que queremos especificar nuestro rango para la normalización. Para ello especificaremos nuestro range
en MinMaxScaler()
. Por defecto, si no especificamos el rango, será 0 y 1. Pero podemos definir nuestro rango para escalar. En este ejemplo, especificamos el rango 0 y 3.
Código de ejemplo:
# python 3.x
import numpy as np
from sklearn import preprocessing
list = np.array([6, 1, 0, 2, 7, 3, 8, 1, 5]).reshape(-1, 1)
print("Original List:", list)
scaler = preprocessing.MinMaxScaler(feature_range=(0, 3))
normalizedlist = scaler.fit_transform(list)
print("Normalized List:", normalizedlist)
Producción :
Original List: [[6]
[1]
[0]
[2]
[7]
[3]
[8]
[1]
[5]]
Normalized List: [[2.25 ]
[0.375]
[0. ]
[0.75 ]
[2.625]
[1.125]
[3. ]
[0.375]
[1.875]]
Normalizar una lista de números manualmente en Python
También podemos normalizar la lista de números manualmente escribiendo el código completo, que funciona con la misma fórmula que se discutió anteriormente para la normalización.
Código de ejemplo:
list = [6, 1, 0, 2, 7, 3, 8, 1, 5]
print("Original List:", list)
xmin = min(list)
xmax = max(list)
for i, x in enumerate(list):
list[i] = (x - xmin) / (xmax - xmin)
print("Normalized List:", list)
Producción :
Original List: [6, 1, 0, 2, 7, 3, 8, 1, 5]
Normalized List: [0.75, 0.125, 0.0, 0.25, 0.875, 0.375, 1.0, 0.125, 0.625]
I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.
LinkedInArtículo relacionado - Python List
- Convertir un diccionario en una lista en Python
- Eliminar todas las apariciones de un elemento de una lista en Python
- Eliminar duplicados de una lista en Python
- Cómo obtener el promedio de una lista en Python
- ¿Cuál es la diferencia entre los métodos de lista que añaden y amplían
- Cómo convertir una lista en cadena en Python