6 votos

Valores especiales en variables / características numéricas continuas en el bosque aleatorio

Tengo una variable respuesta binaria estoy tratando de predecir el uso de Random Forest. Tengo un gran conjunto de datos de 150k filas, tengo alrededor de 200 variables independientes o características de uso para modelar el resultado.

Muchos de mis funciones son continuas cantidades numéricas, decir, tomando valores de 0 a 100, incluidos los valores decimales en el mismo. Sin embargo, en un 5% a 10% de los casos, habrá especial de los valores que indican alguna razón de por qué esta variable no fue poblada por la fila en cuestión, estos valores están codificados en el conjunto de datos como "-9", "-8", "-7" en la actualidad, a pesar de que son realmente las categóricas, no cantidades numéricas con relación a la medida de la mayor parte de los datos en la función.

Puede alguien con Bosque Aleatorio experiencia aconsejan cómo debo preparar estos datos para el uso en un ML contexto, específicamente con Bosque Aleatorio? Mi instinto es la de dividir las funciones que este es el caso en dos nueva característica, una con los valores numéricos, y NA de valores donde anteriormente existía un valor especial, y otra de las características con NAs para los casos donde el valor original se numéricos y cadenas para el especial de valores, codificación de este como un "factor" de la variable (estoy usando R). El problema obvio con este enfoque es que el Bosque Aleatorio no "sabe" que estas dos características están vinculadas, y no incluirá junto necesariamente cuando la construcción de los árboles. Tal vez esto no es un gran problema dado que los árboles son intencionalmente "débil estudiantes" que no trate de hacer todo por sí solo en un árbol.

Pensamientos en la misma característica de ingeniería problema para su uso en otros ML paradigmas comúnmente usado para la clasificación binaria son también valorados, ya que esto probablemente va a terminar en un conjunto solución.

Si es útil, estoy usando H2O para este trabajo.

4voto

icelava Puntos 548

Mi instinto es la de dividir las funciones que este es el caso en dos nueva característica, una con los valores numéricos, y NA de valores donde anteriormente existía un valor especial, y otra de las características con NAs para los casos donde el valor original se numéricos y cadenas para el especial de valores, codificación de este como un "factor" de la variable (estoy usando R).

Esta es exactamente la manera correcta de ir sobre esto. De hacer esto.

El problema obvio con este enfoque es que el Bosque Aleatorio no "sabe" que estas dos características están vinculadas, y no incluirá junto necesariamente cuando la construcción de los árboles.

Esto no debe importar. Si la diferencia es importante en la tarea de clasificación, luego de su RF debe aprender automáticamente. RFs son bastante buenos en las interacciones de aprendizaje. Y si no es importante, entonces no es importante.

Tal vez esto no es un gran problema dado que los árboles son intencionalmente "débil estudiantes" que no trate de hacer todo por sí solo en un árbol.

Que uno, también.

Si usted tiene alguna influencia en el "upstream" de adquisición de datos, para ayudar a las personas a entender que la codificación de los valores especiales por el uso de "obviamente" no válido numericals no es una buena práctica. Demasiado puede ir mal al revertir esto, y realmente no hay ninguna buena razón para hacer esto a menos que usted tiene un caso de uso específico.

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