viernes, 10 de julio de 2020

Preprocesamiento de Datos: Escalando, Estandarizando y Normalizando Atributos usando Python y Sci-kit Learn

estandarization

Escalado de Datos

Despues de realizar una limpieza de datos, nos encontramos que a menudo estos datos tienen una escala definida, es decir, hay valores muy grandes y otros muy pequeños. El objetivo de escalar los datos es establecer un rango en los cuales van a estar todos los datos de nuestro conjunto de datos numérico; este rango generalmente es entre 0 y 1 (tambien podría ser entre -1 y 1).

Los modelos y algoritmos de Machine Learning asumen que ya las características de nuestro dataset han sido transformadas. A continuación presentaré las 3 estrategias más habituales para transformar nuestros datos. Usaremos MinMaxScaler,

MinMaxScaler

El primero va a ser la transformación a traves del escalamiento de mínimos y máximos. Esta tecnica es la mas simple de las 3 que presentaré. Esta tecnica usa los valores minimos y maximos de las caracteristicas para transformar los valores y ubicarlos dentro de un rango. El rango que esta funcion trae por default es (0,1) pero puede cambiarse para tomar cualquier rango que deseemos.

In [1]:
import numpy as np
import pandas as pd
from sklearn.preprocessing import MinMaxScaler
In [5]:
atributo=np.array([[-1000.5],[-500.1],[0],[350.1],[900.9]])
In [6]:
atributo
Out[6]:
array([[-1000.5],
       [ -500.1],
       [    0. ],
       [  350.1],
       [  900.9]])
In [7]:
escalador=MinMaxScaler()
In [9]:
escalada=escalador.fit_transform(atributo)
In [10]:
escalada
Out[10]:
array([[0.        ],
       [0.2631745 ],
       [0.52619123],
       [0.71031871],
       [1.        ]])

Transformar los datos a traves de escalamiento es una tarea de preprocesamiento muy comun en los procesos de aprendizaje automatico y otros modelos analiticos.

No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.