Objetivo: Entender por qué el preprocesamiento de datos es crucial para el éxito de los modelos de machine learning.
Objetivo: Aprender y aplicar técnicas para limpiar los datos.
Identificación y métodos para manejar datos faltantes (eliminación, imputación).
df.dropna(inplace=True)
df.fillna(df.mean(), inplace=True)
Identificación y eliminación de registros duplicados.
df.drop_duplicates(inplace=True)
Detección y corrección de valores atípicos y errores en los datos.
df.loc[df['age'] > 100, 'age'] = df['age'].median()
Objetivo: Aprender y aplicar técnicas de transformación de datos para preparar los datos para el modelado.
Conceptos y aplicación en Python.
from sklearn.preprocessing import StandardScaler, MinMaxScaler
scaler = StandardScaler()
df_scaled = scaler.fit_transform(df)
minmax_scaler = MinMaxScaler()
df_normalized = minmax_scaler.fit_transform(df)
Métodos de codificación (one-hot encoding, label encoding) y su aplicación en Python.
from sklearn.preprocessing import OneHotEncoder, LabelEncoder
label_encoder = LabelEncoder()
df['category_encoded'] = label_encoder.fit_transform(df['category'])
onehot_encoder = OneHotEncoder()
df_onehot = onehot_encoder.fit_transform(df[['category']])
Cuándo y cómo aplicar transformaciones logarítmicas y de potencia.
import numpy as np
df['log_transformed'] = np.log(df['variable'])
df['sqrt_transformed'] = np.sqrt(df['variable'])
Objetivo: Aprender técnicas de ingeniería de características para mejorar el rendimiento del modelo.
Métodos de selección de características (selección univariante, selección basada en modelo).
from sklearn.feature_selection import SelectKBest, f_classif
selector = SelectKBest(score_func=f_classif, k=5)
X_new = selector.fit_transform(X, y)
Técnicas para crear nuevas características a partir de las existentes.
df['interaction'] = df['feature1'] * df['feature2']
Métodos para transformar características y mejorar el rendimiento del modelo.
df['binned'] = pd.cut(df['variable'], bins=5, labels=False)