Video: Análisis predictivo con BI 2025
Otra tarea en análisis predictivo es clasificar nuevos datos al predecir a qué clase pertenece un elemento de datos de destino, dado un conjunto de variables independientes. Por ejemplo, puede clasificar a 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, utilizando un árbol de decisiones.
Para ver información útil sobre el modelo de Clasificación R, escriba el siguiente código:
La columna Clase le dice que ha creado un árbol de decisión. Para ver cómo se determinan las divisiones, puede simplemente escribir el nombre de la variable en la que asignó el modelo, en este caso, modelo: >> modelo Árbol de inferencia condicional con 6 nodos de terminal Respuesta: seedType Inputs: área, perímetro, compacidad, longitud, ancho, asimetría, longitud2 Número de observaciones: 147 1) área <= 16. 2; criterio = 1, estadística = 123. 423 2) área <= 13. 37; criterio = 1, estadística = 63. 549 3) longitud2 4. 914 5) * pesos = 45 2) área> 13. 37 6) longitud2 5. 396 8) * pesos = 8 1) área> 16. 2 9) longitud2 5. 877 11) * pesos = 40
Aún mejor, puedes visualizar el modelo creando un diagrama del árbol de decisión con este código:> plot (model)
Esta es una representación gráfica de un árbol de decisión. Puede ver que la forma general imita a la de un árbol real. Está formado por
nodos(círculos y rectángulos) y enlaces o bordes (las líneas de conexión). El primer nodo (que comienza en la parte superior) se llama 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.
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 en función del atributo: Es el de la observación n. ° 2 menor que o igual a (denotado por <=) 16.2? la respuesta es sí, así que muévase a lo largo del camino hacia el nodo 2.
En el nodo 2, la modelo pregunta: ¿Es el área 13. 37? La respuesta es sí, así que muévete por el camino hasta el nodo 6. En este nodo, el modelo pregunta: ¿Es la longitud2 <= 5. 396? lo es, y te mueves al nodo terminal 7 y el veredicto es que la observación n. ° 2 es del tipo de semilla 1. Y es, de hecho, el tipo de semilla 1.
-
El modelo hace ese proceso para que todas las demás observaciones predigan su clases
-
Para saber si entrenaste un buen modelo, compruébalo con los datos de entrenamiento. Puede ver los resultados en una tabla con el siguiente código: >> tabla (predicir (modelo), trainSet $ seedType) 1 2 3 1 45 4 3 2 3 47 0 3 1 0 44
Los resultados muestran que el error (o tasa de clasificación errónea) es 11 de 147 o 7. 48 por ciento.
-
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 iguales. Esos resultados aparecen como una línea diagonal desde la parte superior izquierda a la inferior derecha; por ejemplo, [1, 1], [2, 2], [3, 3] son el número de predicciones correctas para esa clase.
Entonces, para el tipo de semilla 1, el modelo lo predijo correctamente 45 veces, mientras que clasificó incorrectamente la semilla 7 veces (4 veces como tipo de semilla 2 y 3 veces como tipo 3). Para el tipo de semilla 2, el modelo lo predijo correctamente 47 veces, y lo clasificó incorrectamente 3 veces. Para el tipo de semilla 3, el modelo lo predijo correctamente 44 veces, y lo clasificó erróneamente solo una vez.
-
Esto muestra que este es un buen modelo. Entonces ahora lo evalúa con los datos de prueba. Aquí está el código que usa los datos de prueba para predecir y almacenarlo en una variable (testPrediction) para su uso posterior: >> testPrediction <- predict (model, newdata = testSet)
Para evaluar cómo se realizó el modelo con el probar datos, verlos en una tabla y calcular el error, para lo cual el código se ve así: tabla >> (testPrediction, testSet $ seedType) testPrediction 1 2 3 1 23 2 1 2 1 19 0 3 1 0 17