es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Particionamiento de datos en conjuntos de entrenamiento y prueba, manteniendo la prevalencia correcta.

Tengo un conjunto de datos con 100 variables y más de 3000 observaciones.

Muchas de estas variables son factores, donde un nivel aparece, por ejemplo, solo 3 o 4 veces en todas las observaciones del conjunto de datos.

Por ejemplo:

dat$Var_56
1
1
1
0 #el nivel "0" solo ocurre 4 veces de 3000 obs
1
1
..

Esto sucede para muchas variables (los niveles no son 0 y 1, sino, por ejemplo, la zona de la ciudad). Cuando intento dividir el conjunto de datos en conjunto de entrenamiento y prueba, y luego preparo los datos usando la función model.matrix() (que expande todos los factores), lo que sucede es que, básicamente, el conjunto de entrenamiento y el conjunto de prueba tienen variables diferentes, por lo que es imposible verificar la validez del modelo lineal estimado.

¿Qué podemos hacer en estas situaciones?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    En situaciones en las que tenemos un gran número de factores con algunos niveles que aparecen solo algunas veces en el conjunto de datos, dividir los datos de manera aleatoria en conjuntos de entrenamiento y prueba puede resultar en diferentes niveles de los factores presentes en los dos conjuntos. Esto puede dificultar la estimación de un modelo lineal válido en el conjunto de entrenamiento y luego probarlo en el conjunto de prueba.

    Una solución a este problema es utilizar una técnica llamada “muestreo estratificado”. En el muestreo estratificado, primero identificamos cuáles factores tienen niveles que aparecen muy pocas veces en el conjunto de datos. Luego nos aseguramos de que cada nivel de estos factores esté incluido tanto en los conjuntos de entrenamiento como en los de prueba en la misma proporción que en el conjunto de datos general. Esto garantiza que los conjuntos de entrenamiento y prueba tengan distribuciones similares de los niveles poco frecuentes y dará como resultado una estimación más válida del modelo lineal.

    Otra solución es utilizar una técnica llamada “sobremuestreo aleatorio”. En esta técnica, identificamos los factores con niveles poco frecuentes y aumentamos artificialmente el número de observaciones en el conjunto de datos que pertenecen a estos niveles. Esto se puede hacer duplicando aleatoriamente las observaciones existentes o generando observaciones sintéticas. Este enfoque puede ayudar a equilibrar la distribución de los niveles poco frecuentes en los conjuntos de entrenamiento y prueba y mejorar la precisión del modelo estimado.

    Finalmente, también podríamos considerar reducir el número de factores en el conjunto de datos mediante la combinación de niveles o eliminando factores con muy pocos o muy muchos niveles. Este proceso, conocido como selección de características o reducción de dimensionalidad, puede ayudar a simplificar el modelo y hacerlo más manejable, al mismo tiempo que conserva los predictores más importantes.

Comments are closed.