9 votos

Ideas para hacer salir una ecuación de predicción para los bosques al azar

He leído a través de los siguientes puestos de trabajo que han contestado a la pregunta que le iba a preguntar:

El uso Aleatorio de Bosques modelo para hacer predicciones a partir de datos del sensor

Árbol de decisión para la salida de predicción de

Esto es lo que he hecho hasta ahora: yo en comparación de modelos de Regresión Logística para Bosques Aleatorios y RF superó a la Logística. Ahora los investigadores médicos que trabajo quieren convertir mi RF resultados en una herramienta de diagnóstico médico. Por ejemplo:

Si eres un Asiático Masculino de entre 25 y 35 años, han Vitamina D por debajo xx y de la Presión Arterial por encima de xx, tiene un 76% de probabilidad de desarrollar la enfermedad de xxx.

Sin embargo, el RF no se presta a ecuaciones matemáticas simples (ver enlaces arriba). Así que aquí está mi pregunta: ¿qué ideas ¿todos tienen para el uso de RF para desarrollar una herramienta de diagnóstico (sin tener que exportar cientos de árboles).

He aquí algunas de mis ideas:

  1. El uso de RF para la selección de variables, a continuación, utilizar la Logística (utilizando todas las posibles interacciones) para hacer el diagnóstico de la ecuación.
  2. De alguna manera agregada la RF de los bosques en una "mega-árbol," que de alguna manera los promedios del nodo se divide en los árboles.
  3. Similar a la #2 y #1, el uso de RF para seleccionar las variables (digamos m variables total), a continuación, construir cientos de árboles de clasificación, todos los cuales se utiliza cada m variable, a continuación, elegir el mejor solo árbol.

Cualquier otra idea? También, haciendo #1 es fácil, pero cualquier idea sobre cómo implementar #2 y #3?

11voto

Ying Xiao Puntos 1019

He tenido que lidiar con la misma situación de uso de RF en un entorno de diagnóstico, con las partes interesadas que se utilizan para los algoritmos que se reducen a una sola, legible de la ecuación. He encontrado que si usted empezar por explicar un sencillo árbol de decisión (aquí se puede usar ecuaciones), entonces una muy complicado y, a continuación, explicar los inconvenientes del exceso de ajuste, usted comienza a tener un poco de cabeza asiente con la cabeza. Una vez que usted explique que muchos árboles pequeños pueden mitigar inexactitud por ser crecido de manera diferente ("random"), y que pueden ser tomadas como un conjunto de voto o medio para evitar la sobre-ajuste, pero todavía cuenta para los casos extremos, se obtiene la comprensión. Aquí hay algunos ejemplos de diapositivas que he usado con buena recepción:

Usted no puede conseguir lejos de los árboles en un bosque, y ellos son lo que le dan el algoritmo de mucho poder predictivo y robustez, por lo que rara vez hay una mejor solución si la RF está trabajando muy bien para usted. Los que comparar, como SVM (dependiendo de los datos), será igual de complejo. Tienes que hacerles entender que cualquier buena solución va a ser una caja negra de los géneros (para el usuario). Su mejor jugada es crear un consumible aplicación que no requiere más esfuerzo que una sola ecuación sería. He tenido éxito con la construcción de un modelo RF en Python (a través de sklearn), y la creación de un servidor web simple API REST que las cargas que modelo en la memoria y acepta las variables en un POSTE a la salida de la predicción. También puede hacer esto en Java o R muy fácilmente, o saltar a la API y acaba de crear un ejecutable binario/jar que toma los datos como argumentos.

6voto

James Puntos 1294

Aquí hay algunas ideas:

  1. Toda la caja negra de los modelos podría ser inspeccionados en alguna manera. Usted puede calcular la variable de importancia para cada característica, por ejemplo, o también puede parcela de la predicción de la respuesta y el actual, uno para cada característica (enlace);
  2. Usted podría pensar acerca de algunas de poda del conjunto. No todos los árboles en el bosque son necesarios y usted podría utilizar sólo unas pocas. Papel: [Búsqueda de la más Pequeña Bosque Aleatorio, Zhang]. De lo contrario, sólo Google "conjunto de poda", y echa un vistazo a "Conjunto de Métodos: Fundamentos y Algoritmos "Capítulo 6;
  3. Usted puede construir un único modelo de selección de características, como usted dijo. De lo contrario, usted también puede tratar de usar Domingos' método en [a la adquisición de Conocimientos a partir de ejemplos a través de varios modelos de] que consiste en la construcción de un nuevo conjunto de datos con la caja negra de las predicciones y construir un árbol de decisión en la parte superior de la misma.
  4. Como se ha mencionado en este Intercambio de la Pila de la respuesta, un modelo de árbol puede parecer interpretables, pero es propenso a los grandes cambios sólo porque de las pequeñas perturbaciones de los datos de entrenamiento. Por lo tanto, es mejor utilizar una caja negra modelo. El objetivo final de un usuario final es entender por qué un nuevo registro es clasificada como una clase particular. Usted podría pensar acerca de alguna característica de las importancias sólo para ese registro en particular.

Yo iría a por 1. o 2.

0voto

JobiJoba Puntos 1

He escrito una función para generar el código SQL para un azar del bosque modelo, consulte: https://gist.github.com/shanebutler

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