Logo Studenta

Analisis discriminante ad7a88f10cb040a29cb8d5a989210531

¡Estudia con miles de materiales!

Vista previa del material en texto

Analisis discriminante 1
�
Analisis discriminante
Tipo Anotaciones
Etiquetas
Los puntos son los centroides de cada lado
> mean(Prestamos$D)#Veo el promedio de toda la columna D qu
e es el Punto de corte
[1] 1.436553
Punto de corte usando las vbles conjuntas
� Creación de Nuevas Columnas:
RCopy code
grupo <- c(rep("1", 13), rep("2", 7), rep("3", 5))
etiqueta <- c(rep("Cumplidor", 13), rep("Moroso", 7), re
Analisis discriminante 2
p("Fallido", 5))
individuo <- c(rep(1:25))
Se crean tres vectores ( grupo , etiqueta , individuo ), que representan la 
pertenencia a un grupo, la etiqueta de cumplimiento del préstamo y un 
identificador único para cada individuo, respectivamente.
� Creación del DataFrame datos.grafico :
RCopy code
datos.grafico <- data.frame(Prestamo_Multi, grupo, etiqu
eta, individuo, predict(fit.m)$x[, 1], predict(fit.m)$x
[, 2])
Se crea un nuevo DataFrame llamado datos.grafico que incluye las 
columnas originales del préstamo múltiple ( Prestamo_Multi ), las nuevas 
columnas creadas ( grupo , etiqueta , individuo ), y las dos primeras 
funciones discriminantes lineales LD1 y LD2 obtenidas del modelo LDA 
( fit.m ).
� Renombrar Columnas con el Paquete plyr :
RCopy code
datos.grafico <- rename(datos.grafico, c("predict.fit.
m..x...1." = "LD1", "predict.fit.m..x...2." = "LD2"))
Se utiliza el paquete plyr para renombrar las columnas LD1 y LD2, que 
tienen nombres largos generados automáticamente por el modelo LDA.
� Conversión de Columna grupo a Factor:
RCopy code
datos.grafico$grupo <- as.factor(datos.grafico$grupo)
La columna grupo se convierte a un factor para representar categorías 
categóricas.
Analisis discriminante 3
� Creación del Gráfico con partimat :
RCopy code
partimat(grupo ~ LD1 + LD2, data = datos.grafico, method 
= "lda")
Se utiliza la función partimat del paquete KlaR para visualizar 
gráficamente la separación de grupos en el espacio definido por LD1 y 
LD2, utilizando el método de análisis discriminante lineal LDA.
En resumen, estos códigos realizan el análisis discriminante lineal LDA en un 
conjunto de datos de préstamos múltiples, crean un nuevo DataFrame con 
información adicional y visualizan los resultados en un gráfico bidimensional 
usando la función partimat .
Claro, aquí tienes una explicación detallada de los códigos proporcionados:
� Obtención de Predicciones y Creación de una Tabla de Datos:
RCopy code
fit.p <- predict(fit.m)$class
datos <- data.frame(Prestamo_Multi[, -1], fit.p)
Analisis discriminante 4
Se obtienen las predicciones del modelo LDA  fit.m ) y se almacenan 
en fit.p .
Se crea un nuevo DataFrame llamado datos que incluye las columnas 
originales del préstamo múltiple ( Prestamo_Multi ) y las predicciones del 
modelo ( fit.p ).
� Creación de la Matriz de Confusión con la Función table :
RCopy code
table(Clase_Real = Prestamo_Multi$Categ, Clase_Predicha 
= fit.p)
Se utiliza la función table para crear una matriz de confusión que 
compara las clases reales ( Prestamo_Multi$Categ ) con las clases predichas 
( fit.p ).
� Creación de la Matriz de Confusión con el Paquete gmodels y la Función 
CrossTable :
RCopy code
CrossTable(Prestamo_Multi$Categ, datos$fit.p, digits = 
2, prop.c = F, prop.chisq = F, prop.t = F, dnn = c("Rea
l", "Estimado"))
Se utiliza la función CrossTable del paquete gmodels para crear una 
matriz de confusión más detallada y formateada. Los argumentos 
controlan la visualización de cifras significativas ( digits ), las 
proporciones de fila, columna y total ( prop.c , prop.chisq , prop.t ) y las 
etiquetas de las dimensiones ( dnn ).
En resumen, estos códigos son utilizados para evaluar el rendimiento del 
modelo de LDA mediante la creación y visualización de una matriz de 
confusión. La matriz de confusión compara las clases reales con las predichas, 
proporcionando información sobre los aciertos y errores del modelo.
Analisis discriminante 5
porque al final del siguiente codigo fit.p ← predict(fit.m)$class tiene $class?
ChatGPT
En el código fit.p <- predict(fit.m)$class , la expresión $class se utiliza para 
extraer la información específica de clases predichas del objeto devuelto por la 
función predict . Cuando aplicas la función predict a un modelo de 
clasificación, como el modelo LDA  fit.m en este caso), el resultado es un 
objeto que contiene diversas información, entre ellas, las clases predichas.
El uso de $class es específico del tipo de modelo y de cómo la función predict 
está definida para ese tipo de modelo. En el caso de modelos de clasificación, 
$class es una forma de acceder directamente a las clases predichas.
Por lo tanto, predict(fit.m)$class significa "obtener las clases predichas del 
objeto devuelto por la función predict aplicada al modelo fit.m ". En este 
contexto, $class se refiere a la información específica que necesitas del 
resultado de la predicción.
Total Observations in Table: 25
 | Estimado
 Real | 1 | 2 | 3 | Row Tota
l |
-------------|-----------|-----------|-----------|---------
--|
 1 | 13 | 0 | 0 | 1
3 |
 | 1.00 | 0.00 | 0.00 | 0.5
2 |
-------------|-----------|-----------|-----------|---------
--|
 2 | 2 | 4 | 1 | 
7 |
 | 0.29 | 0.57 | 0.14 | 0.2
8 |
-------------|-----------|-----------|-----------|---------
--|
 3 | 1 | 1 | 3 | 
5 |
Analisis discriminante 6
 | 0.20 | 0.20 | 0.60 | 0.2
0 |
-------------|-----------|-----------|-----------|---------
--|
Column Total | 16 | 5 | 4 | 2
5 |
-------------|-----------|-----------|-----------|---------
--|

Continuar navegando