Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Primer Semestre 2019 Tiempo: 1,5 horas 60 puntos Universidad de los Andes Facultad de Ciencias Económicas y Empresariales Ingeniería Comercial Prueba 2 Sistemas de Información (Business Analytics) Profesor: Matías Rojas Ponga nombre a todas las hojas No separe las hojas del cuadernillo. No tendrán derecho a recorrección pruebas hechas con lápiz mina, ni siquiera si el puntaje está mal contado. 2 Pregunta 1 Conceptos de Machine Learning Teóricos Pregunta 1.1. (7 puntos) Basado en la serie de videos de 3Blue1 Brown sobre Redes Neuronales. a) (2 puntos) El autor plantea el entrenamiento de una red neuronal como un gran problema de optimización, señale cuál es la función objetivo y las variables de dicho problema. b) (2 puntos) ¿Qué es el Backpropagation? Suponga que se tiene un set de datos con 30 variables independientes y una dependiente, se plantean dos estructuras de redes neuronales: i. 4 capas ocultas de 10 neuronas cada una (conectándose las 30 variables de entrada a la primera capa y la última capa a la neurona de salida, es decir su configuración es (10,10,10,10,1)) 4 capas de 10 neuronas y la salida de 1. ii. 2 capas ocultas de 20 neuronas cada una (conectándose las 30 variables de entrada a la primera capa y la última capa a la neurona de salida, es decir su configuración es (20,20,1)) Es más difícil de calibrar la red neuronal con más parámetros; mientras más flechitas más difícil de calibrar (el profesor cree que la de 10,10-) c) (3 puntos) ¿Qué configuración es más costosa de entrenar? Justifique. La de 10,10--- Pregunta 1.2. (2 puntos) Considere los videos de StatQuest relativos a Random Forest. a) (2 puntos) En el video el autor habla de Boostrapped Dataset y Out of Bag Dataset. ¿Qué significa cada uno? Pregunta 1.3. (2 puntos) Considere el video de Victor Lavrenko relativos K-Means Clustering. a) (2 puntos) ¿Cuál es el criterio de parada del algoritmo? Pregunta 1.5. (9 puntos) a) (3 puntos) ¿Por qué en K-Means y en Fuzzy K-Means para el mismo dataset y mismo K la ubicación de los centroides es diferente? b) (2 puntos) Señale qué es una función de kernel utilizada en la técnica SVM (Máquina de Soportes Vectoriales), de un ejemplo conceptual. c) (4 puntos) Señale en qué consiste la técnica KNN (K Nearest Neighbors), ¿cómo funciona?¿Cuándo se usa? Pregunta 2 Machine Learning Aplicado (20 puntos) Problema 2.1 (11 puntos) Clasificación Binaria Un juzgado en una ciudad ha contratado un software que usa un algoritmo predictivo, el cual es capaz de predecir si una persona cometerá o no un delito. El algoritmo utiliza, entre otras, variables descriptivas del individuo como raza, género, edad, educación de los padres, si ha cometido o no un delito anteriormente, tiempo desde el último crimen (si lo hubiese), tiempo desde el penúltimo crimen si lo hubiese, etc. Al final la variable dependiente es binaria donde su valor es 1 si la persona cometerá un crimen y 0 si no. Al juez le han dicho que el algoritmo es muy preciso y está pensando utilizarlo como antecedente a la hora de condenar a un sospechoso. Un data scientist decide validarlo tomando 40.000 observaciones y dividiendo el set de datos en train y test en un 75%/25%. El data scientist utilizó un Random Forest y una Red Neuronal. Las matrices de confusión para el set test se muestran a continuación: Random Forest Real Delito = 1 Delito = 0 Modelo Delito = 1 1.217 376 Delito = 0 295 8.112 Red Neuronal Real Delito = 1 Delito = 0 Modelo Delito = 1 1.418 608 Delito = 0 94 7.880 a) (5 puntos) Escriba una tabla con las siguientes métricas para cada técnica utilizada: Técnica Random Forest Red Neuronal Verdadero Positivo 1.217 1.418 Falso Positivo 376 608 Falso Negativo 295 94 Verdadero Negativo 8112 7880 Accuracy Precision Recall Specifity F1 Score *En clases lo hicimos en Excel, para la prueba calculadora. Accuracy (% casos correctos) = verdaderos (positivos+verdaderos negativos)/total de casos Precisión (dado que digo que son positivos, la probabilidad que lo sean) = 1217/(1217+376) Recall (Cuantos positivos detecte del total de positivos existentes) = 1217/(1217+295) F1 Score (media armónica) = precisión*recall /( presicion+ recall) b) (2 puntos) ¿Son buenos o malos los resultados? Justifique. Son buenos, precisión y recall sobre un 50%, accuracy alto. Depende de la métrica y forma de argumentar (esta asociado a mis necesidades) c) (2 puntos) Dado el contexto del problema, ¿qué modelo cree que es mejor? Tenemos que fijarnos en el que tenga más precisión (menor error tipo I); Random Forest. d) (2 puntos) Suponga que el modelo es el predictor de una potencial enfermedad donde la variable dependiente es Enfermedad (que puede tomar valores 0 o 1), para la cual se recomienda hacerse un examen, ¿cambia su conclusión en c)? Explique. Para una enfermedad le hacemos un test a todos, el Recall es la variable importante (la red neuronal es la mejor). De los efectivamente enfermos un 6%aprox no lo estaba. Problema 2.2 (9 puntos) Aprendizaje Supervisado Regresión Usted está haciendo un algoritmo para predecir un índice de calidad del aire, dicho set de datos tiene como variables dependiente el índice de calidad del aire y como regresores la temperatura, presión atmosférica, velocidad y dirección del viento, etc. Se tiene el siguiente código en R: set.seed(500) datos<-calidad_aire index <- sample(1:nrow(datos),round(0.75*nrow(datos))) #Creamos sets para train y test train <- datos[index,] test <- datos[-index,] #Hacemos un modelo lineal lm.fit <- lm(calidad~., data=train) pr.lm<-predict(lm.fit,test) MAE.lm<-sum(abs(pr.lm-test$calidad))/nrow(test) MSE.lm<-sum((pr.lm-test$calidad)^2)/nrow(test) #Hacemos un SVM svm.fit<-svm(calidad~.,kernel="radial", data=train) pr.svm<-predict(svm.fit,test) MAE.svm<-sum(abs(pr.svm-test$calidad))/nrow(test) MSE.svm<-sum((pr.svm-test$calidad)^2)/nrow(test) #Hacemos Random Forest rf.fit<-randomForest(calidad~.,data=train) summary(rf.fit) pr.rf<-predict(rf.fit,test) MAE.rf<-sum(abs(pr.rf-test$calidad))/nrow(test) MSE.rf<-sum((pr.rf-test$calidad)^2)/nrow(test) a) (3 puntos) Escriba el código de cómo calcularía el MAE y el RMSE de los tres modelos sobre la data test. MAE: mean absolut error. Promedio de los errores en valor absoluto. Mean(abs(pr.rf-datos$calidad)) RMSE: root mean squared error. Mean(abs(pr.rf-datos$calidad) ^2) ^0.5 b) (1 punto) Señale cuándo cree usted que conviene usar MAE en vez de RMSE. RMSE porque cuando tengo valores muy extremos (mal predichos) le da una mejor métrica si me estoy equivocando mucho o no, el MAE no me dice si tengo valores muy extremos. c) (1 punto) ¿Cómo podría hacer un histograma del error? Escriba el código. Hist(pr.rf-datos$calidad) d) (2 puntos) Suponga que usted recibe data adicional para ser predicha (no conoce la variable dependiente pero sí las independientes), su mejor modelo es el Random Forest medido con todas las métricas, explique en palabras su estrategia para predecir la variable dependiente. Tenemos el modelo hecho, tenemos que predecir (es mi mejor estimado). El modelo me dice que cuando hace frío, la calidad del aire empeora. Predict a los datos nuevos (los datos que me dan sobre la calidad del aire) e) (2 puntos) Señale en el contexto del problema que significaría tener Overfiting, ¿cómo lo verificaría? ¿qué haría para evitarlo asegurarse de que su modelo funciona fuera de muestra? Overtiting es cuando el modelo predice mejor en la base de entrenamiento que de test (sobreajuste) cuando el pc memoriza. Para evitarlo evaluando el modelo en la base de set (no en training); set son datos que dejo fuera de la muestra. Pregunta 3 Clasificador Bayesiano Ingenuo (Naive Bayes Clasifier) (20 puntos) NO LO HEMOS VISTO Dada cierta información climática queremos decidir si es un buen día para jugar golf, los datos son: # Cielo Temperatura Humedad Viento ¿Se Jugó? 1 Lluvioso Calor Alta NoNo 2 Lluvioso Calor Alta Sí No 3 Nublado Calor Alta No Sí 4 Soleado Templada Alta No Sí 5 Soleado Fría Normal No Sí 6 Soleado Fría Normal Sí No 7 Nublado Fría Normal Sí Sí 8 Lluvioso Templada Alta No No 9 Lluvioso Fría Normal No Sí 10 Soleado Templada Normal No Sí 11 Lluvioso Templada Normal Sí Sí 12 Nublado Templada Alta Sí Sí 13 Nublado Calor Normal No Sí 14 Soleado Templada Alta Sí No Las siguientes preguntas deben contestarse a la luz de la técnica Clasificador Bayesiano Ingenuo, las respuestas deben estar justificadas con cálculos. a) (10 puntos) Elabore las tablas de frecuencia (para cada una de las variables independientes) con sus respectivas probabilidades. b) (4 puntos) Suponga que hoy está Nublado, hace Frío, la Humedad es Normal y No hay viento. ¿Es un buen día para jugar? Calcule su respuesta. c) (4 puntos) Suponga que hoy está el cielo Lluvioso, está Templado, la Humedad es Normal y Sí hay viento. ¿Es un buen día para jugar? Calcule su respuesta. d) (2 punto) Explique porqué a dicho Clasificador Bayesiano se le llama Ingenuo. Para la Expresión e) (2 puntos) Señale qué son, o cómo se llaman cada uno de los términos .
Compartir