Preprocesamiento de datos desbalanceados

Código
Avanzado
ScikitLearn
Curso de ScikitLearn
15 min
300 XP
Actualizado: 28/02/2025

¡Programa y certifícate!

Asistente de IA
Solución de código
Certificado
Empezar ejercicio

Ejercicio de programación: Preprocesamiento de datos desbalanceados

Este ejercicio de programación está diseñado para poner a prueba tus conocimientos en ScikitLearn. Es un ejercicio avanzado que pondrá a prueba tus conocimientos expertos.

Tipo: Ejercicio de código 15 minutos estimados 300 puntos de experiencia

Información adicional del ejercicio

Desarrolla un notebook en Python que demuestre cómo manejar datos desbalanceados mediante la estratificación y el ajuste de pesos de clases en un modelo de clasificación.

Contenido del ejercicio

Crea un archivo .ipynb desde cero que realice lo siguiente:

  1. Genera un dataset desbalanceado utilizando la función make_classification de Scikit-Learn, donde una clase represente aproximadamente el 90 % de las muestras y la otra el 10 %.
  2. Divide el dataset en conjuntos de entrenamiento y prueba utilizando train_test_split, asegurándote de que la partición se realice de manera estratificada (usando el parámetro stratify) y fija una semilla con random_state (por ejemplo, 42) para la reproducibilidad.
  3. Entrena un modelo de clasificación (por ejemplo, RandomForestClassifier) configurado con el parámetro class_weight='balanced' para mitigar el desbalance de clases.
  4. Muestra en pantalla:
    • La distribución de clases en los conjuntos de entrenamiento y prueba (usando, por ejemplo, value_counts(normalize=True)).
    • Una métrica de evaluación (como la exactitud o el F1-score) en el conjunto de prueba.

Lección relacionada

Este ejercicio está relacionado con la lección "Preprocesamiento de datos desbalanceados" de ScikitLearn. Te recomendamos revisar la lección antes de comenzar.

Ver lección relacionada

Más ejercicios de ScikitLearn

Explora más ejercicios de programación en ScikitLearn para mejorar tus habilidades y obtener tu certificación.

Ver más ejercicios de ScikitLearn

Solución al ejercicio de programación en ScikitLearn

Contenido bloqueado

¡Desbloquea la solución completa!

Completa el ejercicio de programación en ScikitLearn para acceder a la solución paso a paso, explicaciones detalladas y mejores prácticas.

solution.js
JavaScript
1 function solveChallenge ( input ) {
2 // Algoritmo optimizado O(n log n)
3 const data = parseInput ( input );
4 const sorted = data . sort (( a , b ) => a - b );
5
6 // Aplicar técnica de dos punteros
7 let left = 0 , right = sorted . length - 1 ;
8 const result = [];
9
10 while ( left < right ) {
11 const sum = sorted [ left ] + sorted [ right ];
12 if ( sum === target ) {
13 result . push ([ sorted [ left ], sorted [ right ]]);
14 left ++; right --;
15 } else if ( sum < target ) {
16 left ++;
17 } else {
18 right --;
19 }
20 }
21
22 return result ;
23 }
Código completo
Explicaciones
Mejores prácticas
+1.200 developers han resuelto este ejercicio de programación

Practica con ejercicios de programación en ScikitLearn

Mejora tus habilidades con cientos de ejercicios de práctica, recibe retroalimentación instantánea y obtén tu certificación cuando estés listo.

Asistente de IA

Aprende de tus errores

Progreso

Mide tu avance

Certificación

Valida tus habilidades

Únete a miles de desarrolladores mejorando sus habilidades en ScikitLearn

⭐⭐⭐⭐⭐
4.9/5 valoración