mineria de datos
TRANSCRIPT
TAREA 4
Ejercicio 1: Esta pregunta utiliza los datos sobre muerte del corazón en Sudáfrica (SAheart.csv). La variable que
queremos predecir es chd que es un indicador de muerte coronaria basado en algunas variables predictivas (factores
de riesgo) como son el fumado, la obesidad, las bebidas alcohólicas, entre otras.
1. Use el método de Redes Neuronales con 50 niveles ocultos y luego con 100 niveles ocultos en Rattle para
generar un modelo predictivo para la tabla SAheart.csv usando el 70 % de los datos para la tabla aprendizaje
y un 30 % para la tabla testing.
2. Para ambos modelos calcule para los datos de testing la precisión global, la matriz de confusión, la precisión,
la precisión positiva, la precisión negativa, los falsos positivos, los falsos negativos, la asertividad positiva y la
asertividad negativa para este modelo (algunas deben calcularse “a mano” a partir de la matriz de
confusión). ¿Desde este punto de vista cuál modelo es mejor para estos datos, con 50 o con 100 niveles?
(recuerde que si Rattle no despliega la segunda columna de la matriz de confusión significa que esos valores
son 0).
50 niveles
P(G)=71.22 P(P)=54.16 P(N)=80.21 F(P)=19.78 F(N)=54.16 A(P)=59.09 A(N)=76.84
100 Niveles
P(G)=64.02 P(P)=45.83 P(N)=73.62 F(P)=26.37 F(N)=45.83 A(P)=47.82 A(N)=72.04 El mejor modelo para predicción es de 50 niveles el error es de 032 que para 100 niveles el error aumenta a 0.40, también se puede apreciar de la precisión global del modelo es 71.22 contra el 64.02 siendo superior la precisión de la predicción.
3. Genere la curva ROC para la Red Neuronal (con 50 niveles ocultos) y compare con todos los modelos de las
tareas anteriores, ¿desde este punto de vista cuál modelo es mejor para estos datos?
4. Entregables: En el archivo PDF una imagen en la que se vea la lectura de datos en Rattle usando 70/0/30, los
cálculos de la pregunta 2 y la respuesta sobre cuál modelo es mejor, el gráfico de las curvas ROC y la respuesta sobre
cuál modelo es mejor.
Considerando los demás modelos, el
mejor es el soporte de máquinas
vectoriales para los datos presentados.
Porque la precisión global es de 72.41% y
la curva ROC es de 0.73, el de árboles de
decisión la curva ROC es de 0.66 y la
precisión global es de 61.21%.
Ejercicio 2: Para esta pregunta usaremos los datos SpamData.csv, esta tabla contiene 57 variables
predictivas y el Tipo que es la variable a predecir, la cual indica si un e-mail es spam o no.
1. Use el método de Redes Neuronales con 20 niveles ocultos en Rattle para generar
modelos predictivos para la tabla SpamData.csv usando 70 % de los datos para tabla
aprendizaje y un 30 % para la tabla testing.
2. Para este modelo calcule para los datos de testing y para toda la tabla la precisión global y
la matriz de confusión. Interprete la calidad de los resultados.
Tabla testing
P(G)=92.76
P(G)=95.04
El método de redes neuronales para la tabla de testing la precisión de predicciones del 92.76% mientras que para toda la tabla es de 95.04% es una muy buena predicción. En una se sobreestima el error pues depende del número de datos que se utiliza mientras n es más grande el error tiende a bajar.
3. Genere la curva ROC de la Red Neuronal y compare con todos los modelos de las tareas
anteriores, ¿desde este punto de vista cuál modelo es mejor para estos datos?
El mejor método para este conjunto de datos es de Potenciación porque la precisión global es del
95.15% para la tabla de testing y para toda la tabla es del 99.54%. La curva ROC en el modelo de
Potenciación es del 0.99 en comparación con el modelo de redes neuronales que es del 0.97.
Ejercicio 3:
Reto Predictivo: En este ejercicio usted tiene una tabla de datos Seguros.csv con información
sobre fraudes en seguros, esta tabla tiene 16 variables y 6413 casos, se trata de predecir la
variable Fraude que indica si hubo o no fraude. Este ejercicio es un verdadero reto predictivo ya
que se trata de un problema muy desbalanceado, se tienen 6146 no fraudes y apenas 267 fraudes,
esto hace que sea muy difícil el aprendizaje para cualquier modelo predictivo. Para este ejercicio
usted recibe además el archivo SegurosNuevosVE.csv en el cual la variable Fraude viene con un NA
para todos sus registros. El reto consiste en predecir para este archivo los valores de la variable
Fraude, para esto haga lo siguiente:
1. Determine cuál de los modelos estudiados en el curso funciona mejor para estos datos,
debe calibrar los modelos, por ejemplo, para Redes Neuronales debe determinar el
Números de Capas Ocultas, para Arboles debe determinar. La Profundidad Máxima etc.
etc....
Se han realizado pruebas con los métodos de Máquinas de Soporte Vectorial con todos los
diferentes núcleos y ninguno es un resultado óptimo de predicción, se tiene un error del 47%,de
igual manera de realizo para redes neuronales y la predicción no era la óptima se probó hasta con
300 niveles ocultos que fue lo máximo más de ese valor salía error.
El método de árbol se llegó hasta un 86%de la curva ROC. Al seleccionar el método de Bosques
random forest con el número de árboles 500 y 2 variables se verifico que el método era uno de los
mejores porque la curva ROC fue del 0.9, pero se debía ajustar porque el NO lo predecía muy bien
pero había un margen de error en la predicción del SI. Pero no se lograba obtener el resultado del
enunciado del problema por lo cual se procedió a calibrar el número de variables y se cambió de 2
a 3 variables, mejorando la predicción para el SI pero aún no se encontraba como lo descrito
anterior, se volvió a calibrar el número de variables de 3 a 4, con el que se obtuvo la predicción de
6.146 fraudes y 267 fraudes según el modelo.
Se pasó a probar el método de Potenciación y para obtener la predicción deseada se tuvo que el
número ideal de árboles es de 1200 con la profundidad máxima de 30 y división mínima de 20,
pero el tiempo de predicción era demasiado tiempo.
La curva ROC en los dos métodos fue de 1 utilizando la tabla y con una partición de 80/0/20 fue
del 089.
Por el cual se concluye que el método más acertado es el de Bosques con un número de variables
a considerar de 4.
2. Para hacer las predicciones en Rattle use las opciones Calificación y Clase de la pestaña
Evaluar y guarde el archivo con los resultados.
Entregables: En el archivo PDF incluya una explicación del procedimiento seguido, el método
escogido y una justificación de porqué lo escogió. Debe entregar el archivo con las predicciones.
Sobre la calificación de este ejercicio: Debe hacer 100 predicciones así la nota de este ejercicio
será máximo el número de predicciones correctas.