ESPECIALIZACIÓN EN DESARROLLO DE BASES DE DATOS - MINERIA DE DATOS
Enviado por DACOdaco • 1 de Marzo de 2020 • Práctica o problema • 2.443 Palabras (10 Páginas) • 97 Visitas
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??
...