Un ejemplo de preprocesamiento de datos en Python para Machine Learning podría ser el siguiente: Supongamos que estamos trabajando con un conjunto de datos de casas en venta.
El conjunto de datos tiene varias columnas, como número de habitaciones, tamaño de la propiedad, dirección, precio y si la casa tiene o no piscina. Sin embargo, hay algunos valores faltantes en la columna de número de habitaciones y algunos valores atípicos en la columna de tamaño de la propiedad.
En primer lugar, necesitamos manejar los valores faltantes. Una opción común es reemplazar los valores faltantes con el promedio de la columna. Podemos hacer esto en Python utilizando la biblioteca Pandas de la siguiente manera:
import pandas as pd
# Cargamos el conjunto de datos
data = pd.read_csv('casas.csv')
# Reemplazamos los valores faltantes de la columna "num_habitaciones" con el promedio
promedio = data['num_habitaciones'].mean()
data['num_habitaciones'].fillna(promedio, inplace=True)
Ahora, tenemos que abordar los valores atípicos en la columna de tamaño de la propiedad. Podemos identificar los valores atípicos utilizando la técnica de los límites de caja (boxplot). Podemos hacer esto utilizando la biblioteca Seaborn de la siguiente manera:
import seaborn as sns
# Creamos un grafico boxplot para identificar los valores atípicos de la columna "tamaño_propiedad"
sns.boxplot(x=data['tamaño_propiedad'])
Si hay valores atípicos, podemos eliminarlos utilizando el rango intercuartílico (IQR, por sus siglas en inglés). Para ello, podemos hacer lo siguiente:
# Calculamos el rango intercuartílico
Q1 = data['tamaño_propiedad'].quantile(0.25)
Q3 = data['tamaño_propiedad'].quantile(0.75)
IQR = Q3 - Q1
# Eliminamos los valores atípicos de la columna "tamaño_propiedad"
data = data[(data['tamaño_propiedad'] >= Q1 - 1.5*IQR) & (data['tamaño_propiedad'] <= Q3 + 1.5*IQR)]
De esta manera, hemos realizado el preprocesamiento necesario para manejar valores faltantes y atípicos en nuestro conjunto de datos para Machine Learning. Ahora, podemos aplicar modelos y algoritmos de Machine Learning en nuestros datos limpios y listos para ser utilizados.