Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Técnicas de Sobremuestreo | Técnicas de Muestreo para Grandes Datos
Gestión de Grandes Datos con Python

Técnicas de Sobremuestreo

Desliza para mostrar el menú

La sobremuestreo es una técnica utilizada para abordar el problema de los conjuntos de datos desbalanceados, especialmente cuando una clase (la clase minoritaria) tiene significativamente menos muestras que las demás. Al aumentar la representación de la clase minoritaria, se facilita que los modelos de aprendizaje automático aprendan de todas las clases de manera más efectiva, lo que a menudo resulta en un mejor rendimiento predictivo y resultados más justos. El beneficio más común del sobremuestreo es que equilibra la distribución de las clases, permitiendo que los algoritmos eviten el sesgo hacia la clase mayoritaria. Sin embargo, el sobremuestreo también puede introducir algunos inconvenientes. Si simplemente se duplican muestras existentes, el modelo puede sobreajustarse, aprendiendo patrones demasiado específicos de los datos duplicados y fallando en generalizar a nuevos datos. Además, el sobremuestreo puede aumentar el tamaño del conjunto de datos, lo que puede llevar a tiempos de entrenamiento más largos y mayores demandas computacionales.

1234567891011121314151617181920212223242526272829303132
import pandas as pd # Create a sample DataFrame with an imbalanced target data = { "feature1": [1, 2, 3, 4, 5, 6, 7], "target": ["A", "A", "A", "A", "B", "B", "B"] } df = pd.DataFrame(data) # Count original class distribution print("Original class distribution:") print(df["target"].value_counts()) # Oversample minority class "B" to match majority class "A" majority_count = df["target"].value_counts().max() minority_class = df["target"].value_counts().idxmin() # Get all minority class rows minority_rows = df[df["target"] == minority_class] # Calculate how many samples to add samples_to_add = majority_count - len(minority_rows) # Sample with replacement from minority class oversampled_minority = minority_rows.sample(n=samples_to_add, replace=True, random_state=42) # Concatenate original data with new samples df_oversampled = pd.concat([df, oversampled_minority], ignore_index=True) # Show new class distribution print("\nClass distribution after oversampling:") print(df_oversampled["target"].value_counts())
question mark

¿Cuál es el objetivo principal del sobremuestreo?

Selecciona la respuesta correcta

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 3

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Sección 2. Capítulo 3
some-alt