Cómo usar un árbol de decisión para construir datos sintéticamente

Creo que lo que estás buscando no es en realidad un árbol de decisión, sino un árbol de probabilidad: Árboles de probabilidad =]

El problema es que desea generar datos, por lo que necesita un modelo generativo. Un árbol de decisión no es un modelo generativo (al menos no de la forma en que lo aprendí, aunque supongo que podría haber una forma de entrecerrar los ojos desde esa lente), sino más bien un modelo discriminatorio. Los árboles de decisión son fundamentalmente discriminatorios (además de la palabra “decisión” en su nombre) porque aprenden los límites (explícitos) entre las clases y no necesariamente la distribución de las clases individuales (al menos no las típicas como las que enumera allí: CART e ID .3).

Lo mismo ocurre con la mayoría de los modelos discriminatorios, incluidos los modelos neuronales y las máquinas de vectores de soporte. Si desea “invertir” una red neuronal (que es posible, y se hace en la literatura clásica), es un problema bastante difícil en sí mismo (es decir, muchas soluciones posibles que van hacia atrás desde las variables de clase a potencialmente muchas más variables de entrada o configuraciones de entrada) ) Invertir un árbol de decisión, aunque parezca factible, realmente no tiene demasiado sentido, ya que fundamentalmente, la arquitectura se aprende teniendo en cuenta los límites de decisión (por partes).

Sin embargo, si desea una estructura similar a un árbol (imagino que uno probablemente podría tomar una estructura de árbol de decisión aprendida como punto de partida), desea seguir la ruta de los modelos generativos y un árbol de probabilidad podría ser lo que desea aprender primero. Sin embargo, hay muchos otros modelos generativos (incluidos los neuronales) que también pueden ser más expresivos y obtener lo que desea.

Si la razón por la que desea datos sintéticos es para probar / comparar su propia idea (posiblemente con sabor a neural), lo he buscado durante mucho tiempo y he intentado muchas cosas que simplemente no funcionan al final (para cualquier -Modelo lineal). Si, por supuesto, usted desarrolla el próximo gran generador de datos sintéticos, bueno, eso en sí mismo vale la pena publicarlo 😉 Y al final, hay muchos generadores de datos sintéticos más simples pero generalmente útiles (como los que uno puede cavar arriba en scikit-learn) que puede servir para el estudio de simulación (como lo llaman los estadísticos cuando usan datos de juguete / sintéticos).

Hola y gracias por la pregunta.

No estoy seguro si entendí tu pregunta.

Déjame ver: quieres usar un árbol de decisión para crear nuevos puntos de datos. ¿Tiene otros puntos de datos para poder inducir el árbol? Si es así, puede crear nuevos puntos de datos al tomar dos puntos dentro de un nodo y elegir aleatoriamente un punto en el segmento definido por ellos o seleccionar al azar el cuadro definido por el nodo.

Pero entonces, ¿por qué un árbol de clasificación? ¿Por qué no cualquier otro clasificador? O para el caso, ¿por qué no cualquier otro algoritmo de partición espacial?

Espero haberte sido útil.