¿Cómo explicar los resultados de un modelo de análisis predictivo r clasificación

Otra de las tareas de análisis predictivo es clasificar nuevos datos mediante la predicción de qué clase pertenece, dado un conjunto de variables independientes de un elemento de destino de los datos. Puede, por ejemplo, clasificar un cliente por tipo - por ejemplo, como un cliente de alto valor, un cliente habitual, o un cliente que está listo para cambiar a un competidor - mediante el uso de un árbol de decisión.

Para ver información útil sobre el modelo R Clasificación, escriba el siguiente código:

gt; Resumen (modelo) Clase Longitud Modo 1 BinaryTreeS4

los Clase columna que dice que ha creado un árbol de decisión. Para ver cómo se están determinando las divisiones, sólo tiene que escribir el nombre de la variable en la que se ha asignado el modelo, en este caso modelo, Me gusta esto:

gt; árbol inferencia modelConditional con 6 terminales nodesResponse: seedTypeInputs: área, perímetro, compacidad, la longitud, la anchura, la asimetría, length2Number de observaciones: 1471) de área lt; = 16.2- criterio = 1, estadística = 123,4232) área lt; = 13.37- criterio = 1, estadística = 63.5493) longitud2 lt; = 4.914- criterio = 1, estadística = 22.2514) * pesos = 113) longitud2 gt; 4.9145) * pesos = 452) Zona de gt; 13.376) longitud2 lt; = 5.396- criterio = 1, estadística = 16.317) * pesos = 336) longitud2 gt; 5.3968) * pesos = 81) La zona de gt; 16,29) longitud2 lt; = 5.877- criterio = 0,979, estadística = 8,76410) * pesos = 109) longitud2 gt; 5.87711) * pesos = 40

Aún mejor, se puede visualizar el modelo mediante la creación de una parcela del árbol de decisión con este código: gt; parcela (modelo)

Un árbol de decisión para un modelo de análisis predictivo.

Esta es una representación gráfica de un árbol de decisión. Se puede ver que los imita la forma general de un árbol real. Está hecho de nodos (los círculos y rectángulos) y campo de golf o bordes (las líneas de conexión).

El primer nodo (comenzando en la parte superior) se denomina nodo raíz y los nodos en la parte inferior del árbol (rectángulos) se llaman nodos terminales. Hay cinco nodos de decisión y seis nodos terminales.

En cada nodo, el modelo toma una decisión en base a los criterios establecidos en el círculo y los vínculos, y elige un camino a seguir. Cuando el modelo alcanza un nodo terminal, un veredicto o se tome una decisión final. En este caso particular, dos atributos, el y la, se utilizan para decidir si un tipo de semilla dado está en la clase 1, 2 o 3.

Por ejemplo, tome observación # 2 del conjunto de datos. Tiene una de 4.956 y una de 14,88. Usted puede utilizar el árbol que acaba de compilar para decidir qué tipo de semilla particular, esta observación pertenece. Aquí está la secuencia de pasos:

  1. Comience en el nodo raíz, que es el nodo 1 (el número se muestra en el pequeño cuadrado en la parte superior del círculo). Decidir basado en el atributo: Es el de la observación # 2 menor o igual a (denotada por lt; =) 16,2? La respuesta es sí, por lo que se mueve a lo largo del camino hacia el nodo 2.

  2. En el nodo 2, el modelo se pregunta: ¿Es la zona lt; = 13,37? La respuesta es no, a fin de tratar el siguiente enlace que pregunta: ¿Es la zona gt; 13.37? La respuesta es sí, por lo que se mueve a lo largo del camino al nodo 6. En este nodo del modelo se pregunta: ¿Es la longitud2 lt; = 5.396? Es, si se lo desplaza al nodo terminal 7 y el veredicto es que la observación # 2 es del tipo de semilla 1. Y es, de hecho, la semilla de tipo 1.

    El modelo hace que el proceso para todas las demás observaciones para predecir sus clases.

  3. Para averiguar si usted entrenó un buen modelo, compararla con los datos de entrenamiento. Puede ver los resultados en una tabla con el siguiente código:

    gt; mesa (predecir (modelo), trainset $ seedType) 1 2 31 45 4 32 3 47 03 1 0 44

    Los resultados muestran que el error (o tasa de errores de clasificación) es 11 de 147, o 7,48 por ciento.

  4. Con los resultados calculados, el siguiente paso es leer la tabla.

    Las predicciones correctas son las que muestran los números de columna y fila como el mismo. Esos resultados se muestran como una línea diagonal desde la parte superior izquierda a la parte inferior derecha; por ejemplo, [1,1], [2,2], [3,3] son ​​el número de predicciones correctas de dicha categoría.

    Así que para las semillas de tipo 1, el modelo predijo correctamente que 45 veces, mientras que la clasificación errónea de la semilla 7 veces (4 veces como la semilla de tipo 2, y 3 veces como de tipo 3). Para las semillas de tipo 2, el modelo predijo correctamente que 47 veces, mientras que misclassifying 3 veces. Para el tipo de semilla 3, el modelo predijo correctamente que 44 veces, mientras que la clasificación errónea de que sólo una vez.

Esto demuestra que este es un buen modelo. Así que ahora a evaluar con los datos de prueba. Aquí está el código que utiliza los datos de prueba para predecir y almacenarlo en una variable (testPrediction) Para su uso posterior:

gt; testPrediction lt; - predecir (modelo, NewData = testset)

Para evaluar cómo el modelo realizado con los datos de prueba, verlo en una mesa y calcular el error, por lo que el código es el siguiente:

gt; mesa (testPrediction, testset $ seedType) testPrediction 1 2 31 23 2 12 1 19 03 1 0 17

Los resultados muestran que el error es de 5 de 64, o 7,81 por ciento. Esto es consistente con los datos de entrenamiento.

Artículos Relacionados