Un ejemplo práctico de preprocesamiento de datos para aprendizaje supervisado en Python sería el siguiente: Supongamos que tenemos un conjunto de datos de películas con las siguientes columnas: "Nombre", "Año de estreno", "Director", "Género" y "Calificación". Antes de aplicar cualquier algoritmo de aprendizaje, debemos realizar algunas tareas de preprocesamiento:
- Eliminar columnas innecesarias: En este caso, la columna "Nombre" no es importante para el algoritmo, así que podemos eliminarla.
import pandas as pd
data = pd.read_csv("datos_películas.csv")
data = data.drop("Nombre", axis=1) # Eliminar la columna "Nombre"
- Tratar los valores faltantes: Puede haber casos donde no tengamos información completa para todas las instancias. Una opción común es reemplazar los valores faltantes por la media o la mediana de la columna correspondiente.
# Reemplazar los valores faltantes por la mediana
data["Año de estreno"].fillna(data["Año de estreno"].median(), inplace=True)
- Convertir variables categóricas en numéricas: Muchos algoritmos de aprendizaje automático requieren variables numéricas. Para variables categóricas, podemos convertirlas a números asignando un número a cada posible valor (por ejemplo, 0 para "comedia", 1 para "drama", etc.) o utilizando la técnica de "one hot encoding", que crea una columna adicional para cada posible valor donde se indica si el valor está presente o no.
# Convertir la columna "Género" en variables categóricas numéricas
genero_num = pd.get_dummies(data["Género"])
data = pd.concat([data, genero_num], axis=1).drop("Género", axis=1)
- Escalar variables continuas: Algunos algoritmos de aprendizaje automático pueden verse afectados por la varianza en diferentes variables, por lo que es útil estandarizar o normalizar las variables continuas para que todas tengan una escala similar.
# Escalar la columna "Calificación"
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
data["Calificación"] = scaler.fit_transform(data[["Calificación"]])
Después de realizar estas tareas de preprocesamiento, podemos proceder a aplicar cualquier algoritmo de aprendizaje automático supervisado para predecir la calificación de una película en base a sus características como año de estreno, director y género.