mineria de datos

6
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

Upload: elia

Post on 28-Jan-2016

80 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Mineria de Datos

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

Page 2: Mineria de Datos

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%.

Page 3: Mineria de Datos

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.

Page 4: Mineria de Datos

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.

Page 5: Mineria de Datos

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.

Page 6: Mineria de Datos

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.