ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

ESPECIALIZACIÓN EN DESARROLLO DE BASES DE DATOS - MINERIA DE DATOS


Enviado por   •  1 de Marzo de 2020  •  Prácticas o problemas  •  2.443 Palabras (10 Páginas)  •  77 Visitas

Página 1 de 10

ESPECIALIZACIÓN EN DESARROLLO DE BASES DE DATOS - MINERIA DE DATOS

LABORATORIO APRENDIZAJE SUPERVISADO 1 – CLASIFICACIÓN VIA ARBOLES DE DECISION Y RANDOM FOREST



Contenido

Sobreajuste        2

Sub-ajuste        3

Desarrollo        5

Entrenamiento y test        7

Estimacion del error de generalización – Validacion Cruzada        10

Despliegue del modelo:        11

Ventajas        12

Desventajas        13

Técnica de bagging        13

Bagging para mejorar un modelo predictivo        13

La técnica de Bagging sigue estos pasos:        13

Características de Bagging:        14

Desarrollo        15

Introducción – Aprendizaje Supervisado

Sobreajuste

El sobreajuste significa que el modelo que entrenamos se entrenó "demasiado bien" y ahora, bueno, se ajusta demasiado al conjunto de datos de entrenamiento. Esto generalmente ocurre cuando el modelo es demasiado complejo (es decir, demasiadas características / variables en comparación con el número de observaciones). Este modelo será muy preciso en los datos de entrenamiento, pero probablemente no será muy preciso en datos nuevos o no entrenados. Es porque este modelo no está generalizado, lo que significa que puede generalizar los resultados y no puede hacer ninguna inferencia sobre otros datos, que es, en última instancia, lo que está tratando de hacer. Básicamente, cuando esto sucede, el modelo aprende o describe el "ruido" en los datos de entrenamiento en lugar de las relaciones reales entre las variables en los datos. Obviamente, este ruido no forma parte de ningún conjunto de datos nuevo y no se puede aplicar a él.

Sub-ajuste

A diferencia del sobreajuste, cuando un modelo no está bien ajustado, significa que el modelo no se ajusta a los datos de entrenamiento y, por lo tanto, pasa por alto las tendencias en los datos. También significa que el modelo no se puede generalizar a nuevos datos. Como probablemente haya adivinado (¡o descubierto!), Este suele ser el resultado de un modelo muy simple (no hay suficientes predictores / variables independientes). También podría suceder cuando, por ejemplo, ajustamos un modelo lineal (como la regresión lineal) a datos que no son lineales. Valga la pena decir  que este modelo tendrá poca capacidad predictiva (en los datos de entrenamiento y no se puede generalizar a otros datos).

[pic 2]


Primera parte: Árboles de decision

Desarrollo

Importacion de librerías indispensables para el taller:

||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

import pandas as pd

# importamos la libreria numpy

import numpy as np

from sklearn.model_selection import train_test_split

from sklearn.preprocessing import label_binarize

from sklearn import tree

from sklearn.metrics import confusion_matrix

from sklearn.metrics import accuracy_score

from sklearn.metrics import mean_squared_error, r2_score

from sklearn.metrics import roc_curve, auc, roc_auc_score

from sklearn.externals import joblib

import matplotlib.pyplot as plt

import graphviz as gv

# seteamos el objeto random a 0

np.random.seed(0)

||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

Para la instalacion de graphviz desde la consola de linux:

sudo apt-get install graphviz

luego la instalacion del modulo python correspondiente:

pip3 install graphviz

Lectura del  archivo Clasificacion

[pic 3]

Sea x el conjunto de las variables explicativas (aquellas distintas de la clase)

Sea y , el dataframe con la variable target (Clase Vino)

Por qué eliminamos la variable ID Caso?

[pic 4]

Según las tareas que se llevan a cabo en un proceso de aprendizaje supervisado, qué  hace la instrucción siguiente?

X_train, X_test, y_train, y_test = train_test_split(x, y,

                                                    test_size=VALOR,

                                                    random_state=0,

                                                    #stratify=y

                                                    )

Donde VALOR = porcentaje del conjunto de datos usado para test. Defina un valor que no lleve al subajuste o al sobreajuste.

Entrenamiento y test

Ahora creamos un modelo de Arbol de decisión, basado en el concepto de ganancia de información.

La función fit, ajusta el modelo a los datos de entrenamiento

[pic 5]

Si se desea ver de manera grafica el árbol de decisión generado,  una opcion es generar un archivo de imagen, el cual quedará almacenado en el mismo directorio del archivo ipynb. (La explicación de la instalación del graphviz, se encuentra al comienzo de este documento..)

[pic 6]

Agregue acá la imagen del árbol de decisión generada.  Puede escribir alguna regla de clasificación apartir de este?

Ahora que se ha generado el modelo, se medirá su score, y se realizará la predicción sobre el conjunto de datos para test.

[pic 7]

Que significan las siguientes métricas que se generan a continuación?

[pic 8]

La siguiente es la matriz de confusión para la clase 1. Qué puede decir del modelo, con base en ella? Generela también para las clases 2 y 3 y añada sus comentarios del modelo.

[pic 9]

Ahora agregue el siguiente fragmento de codigo para calcular el área  ROC (área bajo la curva), Por cierto, que es una curva ROC? Que nos dice del modelo??

...

Descargar como (para miembros actualizados) txt (16 Kb) pdf (340 Kb) docx (162 Kb)
Leer 9 páginas más »
Disponible sólo en Clubensayos.com