Descarga la aplicación para disfrutar aún más
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 | -------------|-----------|-----------|-----------|--------- --|
Compartir