¿Cómo puedo completar mis datos para que solo obtenga una técnica de muestreo de submuestreo sin modelado? Necesito hacer lo mismo para el sobremuestreo y el pesaje. Estoy intentando ejecutar xgboost con estas tres técnicas de muestreo (una a la vez, por supuesto). Entonces, necesito un conjunto de datos que muestre submuestreo, un conjunto de datos diferente para sobremuestreo y un tercer conjunto de datos para pesaje. Gracias.
Hola @NishaKumar ,
Probablemente hay un par de formas de hacer esto, y puede depender de cuál sea su objetivo final en cuanto a qué método es mejor.
Una opción sería crear una columna de validación donde la tenga altamente compensada con una variable, digamos 10 % de entrenamiento y 90 % de validación, luego cree un subconjunto de los datos de entrenamiento y ajuste eso. Guarde la fórmula de ajuste en la tabla de subconjunto y luego regrésela a la tabla de datos original y vea qué tan bien funciona el ajuste en los datos no entrenados. Luego puede hacer lo contrario tratando los datos de validación como datos de "entrenamiento", repetir los pasos anteriores y ver qué tan bien se ajustan al conjunto de datos de entrenamiento ("validación"). Puede utilizar esta opción si desea estratificar su columna de validación según el resultado que está modelando; sin embargo, si no le importa, puede probar la otra opción.
Otra opción es usar Fila > Selección de fila > Seleccionar aleatoriamente y usar 10% o 90%, o incluso 1% y 99% y luego hacer un subconjunto de cada uno de ellos, hacer los ajustes y traer las fórmulas nuevamente a compare cómo les va con los datos no utilizados de la tabla original.
En cuanto a ponderar los datos, eso depende en gran medida del conjunto de datos que utilice y de cómo se deben tratar los datos. Si tiene lo que parecen ser valores atípicos, pero no tiene ningún motivo para eliminarlos del conjunto de datos, puede ponderarlos menos que los demás datos para que no sesguen el ajuste, pero deberá examinarlos individualmente para ver cómo abordar estos casos.
Probé el segundo enfoque con los datos de muestra de Boston Housing.jmp y resultó bastante bien. No sobreajustó los datos para darme un R^2 más grande en los datos de "validación" del conjunto de datos de sobremuestreo, pero fue más grande que usar una columna de validación y ajustar los datos usando eso.
Por cierto, ajusté los datos usando la plataforma XGBoost y (respuesta = mvalue; todas las demás columnas son X, Factores) usé la configuración predeterminada con la casilla Autotune marcada.
Resultados de submuestreo (1 = entrenamiento, 0 = validación):


sobremuestreo (1=entrenamiento, 0=validación):


Estos son los resultados usando una columna de entrenamiento/validación de .75/.25 que se estratificó en mvalue:


El R^2 de los datos de la última validación no es tan alto como el del modelo de sobremuestreo, pero probablemente sea más preciso ya que se usaron más muestras en la validación del modelo que cuando se tomaron demasiadas muestras para entrenar.
De todos modos, espero que esto te dé algunas ideas sobre cómo avanzar más en tu objetivo específico.
¡Buena suerte!,
DS
Muchas gracias, probaré estas técnicas una por una y proporcionaré comentarios/preguntas.