2012-04-25 47 views
43

estoy haciendo una investigación acerca de las diferentes técnicas de minería de datos y se encontró con algo que no pude entender. Si alguien tiene alguna idea de que sería grande.Árbol de decisión frente a Clasificador bayesiano

¿En qué casos es mejor usar un árbol de Decisión y otros casos un clasificador Naive Bayes?

¿Por qué usar uno de ellos en ciertos casos? Y el otro en diferentes casos? (Observando su funcionalidad, no en el algoritmo)

¿Alguien tiene algunas explicaciones o referencias sobre esto?

+1

Esta pregunta parece estar apagado -topic porque se trata de estadísticas – finnw

+3

Voy a cerrar esta pregunta como fuera de tema porque pertenece más a datascience.stackexchange.com – jopasserat

Respuesta

126

Los árboles de decisión son muy flexibles, fáciles de entender y fáciles de depurar. Trabajarán con problemas de clasificación y problemas de regresión. Entonces, si está tratando de predecir un valor categórico como (rojo, verde, arriba, abajo) o si está tratando de predecir un valor continuo como 2.9, 3.4, etc. Decision Trees manejará ambos problemas. Probablemente una de las cosas más geniales de Decision Trees es que solo necesitan una tabla de datos y construirán un clasificador directamente a partir de esos datos sin necesidad de tener que realizar ningún trabajo de diseño inicial. Hasta cierto punto, las propiedades que no importan no se elegirán como divisiones y se eliminarán finalmente, por lo que es muy tolerante con las tonterías. Para comenzar, configúralo y olvídalo.

Sin embargo, la desventaja. Los árboles de decisión simples tienden a sobrepasar los datos de entrenamiento más de modo que otras técnicas, lo que significa que generalmente tiene que hacer poda de árboles y ajustar los procedimientos de poda. No tenía ningún costo de diseño inicial, pero le devolverá eso al ajustar el rendimiento de los árboles. Además, los simples árboles de decisión dividen los datos en cuadrados, por lo que la creación de conglomerados alrededor de las cosas significa que tiene que dividirse mucho para abarcar los grupos de datos. Dividir mucho conduce a árboles complejos y aumenta la probabilidad de que esté sobreajustado. Los árboles altos son recortados, por lo que si bien puedes construir un grupo alrededor de alguna característica de los datos, es posible que no sobreviva al proceso de poda. Existen otras técnicas como sustituciones divididas que le permiten dividir varias variables a la vez creando divisiones en el espacio que no son ni horizontales ni perpendiculares (0 < pendiente < infinito). Genial, pero su árbol comienza a ser más difícil de entender, y es complejo implementar estos algoritmos. Otras técnicas como el impulso y los árboles aleatorios de decisión forestal pueden funcionar bastante bien, y algunos sienten que estas técnicas son esenciales para obtener el mejor rendimiento de los árboles de decisión. De nuevo, esto agrega más cosas para comprender y usar para ajustar el árbol y, por lo tanto, más cosas para implementar. Al final, cuanto más agreguemos al algoritmo, más alta será la barrera para usarlo.

Naive Bayes requiere que usted cree una clasificación a mano. No hay forma de simplemente arrojar un montón de datos tabulares y hacer que elija las mejores características que usará para clasificar. Escoger qué características importa depende de usted. Los árboles de decisiones elegirán las mejores características para usted a partir de datos tabulares. Si hubiera una forma de que Naive Bayes escogiera las características que se estarían acercando a usar las mismas técnicas que hacen que los árboles de decisión funcionen así. Dale este hecho, lo que significa que es posible que necesites combinar Naive Bayes con otras técnicas estadísticas para guiarte hacia las características que mejor se clasifican y que podrían ser el uso de árboles de decisión. Naive bayes responderá como un clasificador continuo. Existen técnicas para adaptarlo a la predicción categórica; sin embargo, responderán en términos de probabilidades como (A 90%, B 5%, C 2.5% D 2.5%). Bayes puede funcionar bastante bien, y no se ajusta demasiado. así que no hay necesidad de podar o procesar la red. Eso los hace algoritmos más simples de implementar. Sin embargo, son más difíciles de depurar y comprender porque todas las probabilidades se multiplican miles de veces, por lo que debe tener cuidado para probar que está haciendo lo que espera. Bayes ingenuo sabe muy bien cuando los datos de entrenamiento no contiene todas las posibilidades de lo que puede ser muy bueno con bajas cantidades de datos. Los árboles de decisión funcionan mejor con muchos datos en comparación con Naive Bayes.

Naive Bayes se utiliza mucho en robótica y visión artificial, y lo hace bastante bien con esas tareas. Los árboles de decisión funcionan muy mal en esas situaciones. Enseñar a un árbol de decisiones a reconocer las manos de póquer mirando millones de manos de póker es muy pobre porque las canicas reales y los cuádriceps ocurren tan poco que a menudo son eliminados. Si se elimina del árbol resultante, clasificará incorrectamente esas manos importantes (recuérdese la discusión de los árboles altos desde arriba). Ahora solo piensa si estás tratando de diagnosticar el cáncer usando esto. El cáncer no ocurre en la población en grandes cantidades, y se eliminará con mayor probabilidad. Las buenas noticias son que esto se puede manejar usando pesas, por lo que pesamos una mano ganadora o tenemos un cáncer más alto que una mano que pierde o que no tiene cáncer y eso aumenta el árbol para que no se elimine. Una vez más, esta es la parte de ajustar el árbol resultante a la situación que discutí anteriormente.

Los árboles de decisión son claros porque te dicen qué entradas son los mejores predicadores de los resultados, por lo que los árboles de decisión pueden guiarte para encontrar si hay una relación estadística entre una entrada dada al producto y qué tan fuerte es esa relación. A menudo, el árbol de decisión resultante es menos importante que las relaciones que describe. Así que los árboles de decisión pueden usarse como una herramienta de investigación a medida que aprende sobre sus datos para que pueda construir otros clasificadores.

Si está jugando entre el uso de árboles de decisión frente a bahías ingenuas para resolver un problema muchas veces es mejor probar cada uno. Construya un árbol de decisiones y construya un clasificador de bayes ingenuo y luego dispare usando los datos de entrenamiento y validación que tenga. Cualquiera que tenga el mejor rendimiento probablemente tenga un mejor rendimiento en el campo. Y siempre es una buena idea lanzar cada uno de ellos contra los predictores de K-vecino más cercano (KNN) porque se ha demostrado que k-closer supera a ambos en algunas situaciones, y KNN es un algoritmo simple para implementar y usar. Si KNN tiene un mejor rendimiento que los otros dos, vaya con él.

Algunas fuentes:

el manual de árboles de decisión basada en la compra. Este libro cubre el algoritmo CART, sino que también trata sobre los árboles de decisión, pesos, valores que faltan, división sustituta, impulsar, etc. http://www.amazon.com/Classification-Regression-Wadsworth-Statistics-Probability/dp/0412048418

Una introducción más suave para Carro https://www.youtube.com/watch?v=p17C9q2M00Q

Comparación de algoritmos - notar que KNN, Decision Trees, C4.5 y SVM funcionan bastante bien en la mayoría de las pruebas. http://www4.ncsu.edu/~arezaei2/paper/JCIT4-184028_Camera%20Ready.pdf

Otra comparación de algoritmos - Impulsado árboles de decisión y superior al azar de la lista con KNN en el medio: http://www.cs.cornell.edu/~caruana/ctp/ct.papers/caruana.icml06.pdf

Otro buen funcionamiento abajo de diversas técnicas: http://www.quora.com/What-are-the-advantages-of-different-classification-algorithms

+9

Gracias por tomarse el tiempo para escribir esto. Claro y directo al grano. – Youssef

+8

Los lectores deben tener cuidado, algo de esto no es correcto. Por ejemplo, es totalmente, trivialmente posible, construir un modelo Naive Bayes a partir de datos tabulares. Lo hice la semana pasada, en unos 20 minutos, y lo he hecho docenas de veces antes de eso. KNN no supera todos los modelos de árbol de decisión, en general, ni siquiera Naive Bayes en general, aunque sí para conjuntos de datos específicos. Sin embargo, el post es útil porque los estudiantes perezosos lo han tomado como un hecho e incluso lo han plagiado. Fueron atrapados fácilmente. +1. –

+0

Permítanme aclarar, no digo que sea imposible construir un modelo Naive Bayes (NB) a partir de datos tabulares, pero NB no incluye un algoritmo que lo alimente con datos tabulares y construirá un modelo Naive Bayes a partir de él . Cuando dices que lo construiste, diseñaste un modelo de Naive Bayes mirando datos tabulares versus permitiendo que la computadora construyera ese modelo de Naive Bayes a partir de datos tabulares. KNN no siempre gana, pero en algunos casos se ha demostrado que supera a ambos modelos. Supongo que debería suavizar el idioma para que no haya confusión allí. – chubbsondubs

Cuestiones relacionadas