8 votos

Prácticas recomendadas para el tratamiento de datos antes de ejecutar predicciones de Random Forest

Al hacer predicciones con bosques aleatorios, muy a menudo (o siempre) necesitamos realizar algún preprocesamiento. Como tengo formación en informática y casi todo lo que sé de estadística viene del autoaprendizaje, este proceso es más intuición y menos teoría.

Por ejemplo, algunas de las cosas que se me atascan es tratar con

  1. Valores atípicos. ¿Deberíamos eliminarlos todos? Si es así, ¿consideramos un valor atípico basándonos en la regla 3/2? ¿Deberíamos mantenerlos? ¿Por qué?
  2. Cuando se trata de deltas de observaciones (por ejemplo, supongamos que estoy restando la nota de un alumno a la de otro), ¿debo normalizar el delta de todos los alumnos o limitarme al delta absoluto?
  3. Ciñéndonos al mismo caso de alumno, Si tengo datos acumulativos (supongamos que para cada examen sumo sus últimas notas). ¿El proceso debería ser el mismo?
  4. ¿Necesitamos aplicar alguna transformación de datos como log ¿o cualquier otro? En caso afirmativo, ¿cuándo debe hacerse? ¿Cuando el rango de datos es grande? ¿Qué sentido tiene cambiar aquí el dominio de los datos?
  5. Si tengo un objetivo categórico, ¿puedo aplicar la regresión en lugar de la clasificación para que el resultado sea (supongamos que las clases son 0, 1, 2) 0,132, 0,431? ¿Sería más preciso?
  6. ¿En qué tipo de problemas está más indicado Random Forest? ¿Conjuntos de datos grandes?
  7. ¿Debo descartar las variables menos importantes? ¿Quizá sólo crea ruido?

Sé que el preprocesamiento depende del problema, los datos, etc. y sé que hay muchas más cosas en las que fijarse al preprocesar. Aquí estoy más tratando de entender los conceptos detrás de pre-procesamiento de los datos y los puntos clave a tener en cuenta al hacerlo. Teniendo esto en cuenta, ¿cuáles serían los puntos clave a tener en cuenta al preprocesar los datos? (Si no he mencionado algún otro punto importante, y estoy seguro de que faltan muchos, considéralo también). Imagina que se lo enseñas a tu abuelo :)

15voto

ebricca Puntos 31

Al hacer predicciones con bosques aleatorios, muy a menudo (o siempre) necesitamos realizar algún preprocesamiento.

Esto no es cierto. Random Forest está realmente "disponible".

Valores atípicos. ¿Debemos eliminarlos todos? [ ] basándonos en la regla 3/2? ¿Deberíamos mantenerlos? ¿Por qué?

El modelo base utilizado en RF es un gran árbol de decisión (normalmente construido mediante CART). Los árboles de decisión son resistentes a los valores atípicos, porque los aíslan en pequeñas regiones del espacio de características. Entonces, dado que la predicción para cada hoja es la media (para regresión) o la clase mayoritaria (para clasificación), al estar aislados en hojas separadas, los valores atípicos no influirán en el resto de las predicciones (en el caso de la regresión, por ejemplo, no afectarían a la media de las otras hojas). En resumidas cuentas: no le importan los valores atípicos en RF. Basta con eliminarlos si son observaciones aberrantes (por ejemplo, debido a errores de registro). Si son casos válidos, puede conservarlos.

Cuando se trata de deltas de observaciones (como ejemplo restando la nota de un alumno de otra), ¿debo normalizar el delta de todos los alumnos o ceñirme al delta absoluto? Si nos ceñimos a mismo alumno examen sumo sus últimas notas). ¿El proceso debería ser el mismo?

La cuestión aquí no está realmente relacionada con la RF, es independiente del algoritmo. La verdadera pregunta es: ¿qué quieres hacer? ¿Qué quiere predecir?

¿Necesitamos aplicar alguna transformación de datos como log o cualquier otra? Si ¿cuándo hay que hacerlo? ¿Cuando el rango de datos es grande? ¿Qué sentido tiene de cambiar el dominio de los datos aquí?

Por las mismas razones por las que no hay que preocuparse por los valores atípicos, no es necesario aplicar ningún tipo de transformación de datos cuando se utiliza la RF. Para la clasificación, puede que necesite aplicar algún tipo de estrategia de remuestreo/ponderación si tiene un problema de desequilibrio de clases, pero eso es todo.

I clasificación, de modo que la salida sería (supongamos que las clases son 0, 1, 2) 0,132, 0,431; ¿sería más preciso?

No puede aplicar la regresión si su objetivo es categórico.

¿En qué tipo de problemas está más indicado Random Forest? ¿Grandes conjuntos de datos conjuntos de datos?

La radiofrecuencia está indicada para todo tipo de problemas. La gente (especialmente en el campo de la medicina, la genómica, etc.) incluso la utiliza principalmente por sus medidas de importancia variable. En genética, donde los tipos se enfrentan a los "pequeños $n$ - grande $p$ ", RF también lo hace muy bien. En cualquier caso, el aprendizaje automático en general requiere una cantidad suficiente de datos de entrenamiento y de prueba, aunque no hay una regla general. Si sus datos de entrenamiento representan todos sus conceptos y si estos conceptos son fácilmente capturables, un par de cientos de observaciones pueden ser suficientes. Sin embargo, si lo que se debe aprender es muy complejo y si algunos conceptos no están suficientemente representados, se necesitarán más datos de entrenamiento.

¿Debo descartar las variables menos importantes? Tal vez sólo crea ruido?

Otra característica interesante de los árboles de decisión construidos mediante CART es que dejan de lado automáticamente las variables no importantes (sólo se seleccionan los mejores divisores en cada división). En el libro seminal de Hastie et al. (2009) Los autores demostraron que con 100 predictores de ruido puro y 6 predictores relevantes, las variables relevantes se seleccionaban el 50% de las veces en cada división. Por lo tanto, no es necesario preocuparse por la selección de variables en RF. Por supuesto, si sabe que algunas variables no contribuyen, no las incluya, pero si los mecanismos subyacentes del proceso que está estudiando son en su mayoría desconocidos, puede incluir todos sus predictores candidatos.

14voto

Teóricamente, el bosque aleatorio es ideal, como se suele suponer, y está descrito por Breiman y Cuttler . En la práctica, es muy bueno, pero dista mucho de ser ideal. Por lo tanto, estas preguntas son muy válidas.

  1. Las RF no están gestionando los valores atípicos de forma tan ideal como se suele suponer. Son susceptibles incluso a un solo valor atípico con valores extremos como se demostró en ¿Por qué los bosques aleatorios no son sensibles a los valores atípicos? y también hay un par de artículos sobre cómo afecta la heteroscedasticidad a las predicciones de la RF. En los datos de la vida real, puede haber muchos valores atípicos (1-2%) causados por errores tipográficos (para datos introducidos por humanos, como 3200 en lugar de 32,00), saltos de corriente eléctrica debidos a inducción o simplemente a exposiciones inesperadas (para IoT), heteroscedasticidad, etc. Estos "valores atípicos" terminan en muchas hojas de los árboles de decisión, tirando de las predicciones hacia valores más altos.

  2. En caso de datos desequilibrados en los que un gran número de target_value = 0, RF tiende a subestimar las predicciones de forma significativa.

  3. Las transformaciones logarítmicas pueden mejorar la precisión, especialmente en el caso de datos muy sesgados (con colas muy largas). Véase, por ejemplo, "Forecasting Bike Sharing Demand", de Jayant Malani et al. ( pdf ), y esta presentación de kaggle .

  4. La RF tiende a asignar mayor importancia a las variables que tienen un mayor rango de valores (tanto categóricos como continuos). Por ejemplo, véase esta entrada del blog: ¿Se pierden las variables categóricas en sus bosques aleatorios?

Por lo tanto, el preprocesamiento de datos es muy importante incluso en el caso de Random Forest.

Espero que esta respuesta enmarque la validez de las preguntas y que los enlaces ofrezcan algunas respuestas con puntos de partida.

7voto

Alan LaMielle Puntos 53

Al preprocesar los datos, generalmente se intenta conseguir lo siguiente:

A. Eliminación de errores de los datos. Si los valores atípicos se deben a errores de registro de datos, por ejemplo, deberá corregirlos en la fase de en la fase de preprocesamiento. Las distintas reglas de identificación de valores atípicos deben considerarse como conjeturas iniciales, que requieren una mayor investigación.

B. Crear variables en las que se tenga una expectativa razonable de que diferentes valores de las variables predictoras puedan estar correlacionados con con la variable de resultado. Esta es la parte que requiere conocimientos Este es el aspecto que requiere un conocimiento específico del campo, y las buenas variables se construyen a menudo utilizando ratios, diferencias, medias de variables, etc.

C. Modificar los datos para evitar los supuestos restrictivos de cualquier modelo que estemos ajustando.

Lo mejor de los métodos basados en árboles, como los bosques aleatorios, es que requieren mucho menos esfuerzo en el preprocesamiento de tipo C. En particular, la normalización, la eliminación de valores atípicos no erróneos, el descarte de variables y las transformaciones logarítmicas no suelen ser necesarias. Pero, el coste de los métodos basados en árboles es que están hambrientos de datos, así que con muestras más pequeñas (por ejemplo, menos de 10.000 casos), mi experiencia es que a menudo un glm va a hacer un mejor trabajo, pero esto trae el procesamiento de tipo C, que después de 25 años de construcción de modelos todavía encuentro un desafío.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X