Exploración y preprocesamiento de la data
Enviado por vladbin20 • 15 de Septiembre de 2021 • Trabajo • 1.800 Palabras (8 Páginas) • 75 Visitas
Trabajo 3 – Parte 2
Ingeniería de Datos
Calero Madrid, Sergio Alejandro
Manchay Garcia, Vladimir Franklin
I. Exploración y preprocesamiento de la data
Veamos el balanceo de la data de entrenamiento:
[pic 1]
[pic 2]
Notamos que la data no está balanceada totalmente. Se observa que para el número 1 se tiene la mayor cantidad de observaciones (12% del total - 238), para el número 5 (9% del total - 173) y número 8 (9% del total - 186) la menor cantidad de observaciones. Para los demás números se puede decir que la data está relativamente balanceada.
Lo que nos indica que para evaluar los modelos no solo debemos tomar en cuenta la exactitud global, ya que no hay balanceo de la data entre clases.
Se puede suponer que los modelos resultantes tenderán a favorecer a las clases con mayor proporción de observaciones (clase mayoritaria) que en este caso sería el número 1, aunque el desbalance no es excesivo, puede derivar en métricas de exactitud sesgadas. Podemos más adelante confirmar esto observando otras métricas como la precisión, sensibilidad, especificidad y F1-score.
Veamos qué imágenes escritas a mano tiene el conjunto de datos:
[pic 3]
[pic 4]
[pic 5]
Notamos que algunos pixeles en común no tienen un nivel de gris mayor a cero para estas imágenes, por lo que buscaremos conservar del dataset solo aquellas variables predictoras en donde al menos un valor sea distinto de cero para agilizar el proceso.
Como resultado se eliminaron 151 variables predictoras y se conservaron 633. Para este caso no hace falta aplicar escalamiento de los datos, puesto que todas las variables predictoras manejan la misma escala (de 0 a 255).
II. Estimar modelo de clasificación usando KNN y árbol de decisión
1. Use el paquete Caret usando validación cruzada repetida sobre la data de entrenamiento para aplicar KNN y árbol de decisión. Muestre los resultados y haga sus comentarios para cada uno de ellos.
Se realizaron los entrenamientos de los modelos tomando en cuenta 5 particiones y 30 repeticiones de la data tanto para KNN como para el árbol de decisión.
KNN
[pic 6][pic 7]
Por defecto se ha utilizado la métrica Accuracy y podemos observar que el modelo arroja que el mejor K es 1 (accuracy = 0.90). Esto en principio no es idóneo, ya que en el modelo las instancias que son ruido (o solape entre clases) tendrían mucha influencia, además posiblemente se tienda al sobreajuste.
Esto ocurre posiblemente porque hemos reducido el tamaño de la data dando como resultado tener pocas observaciones respecto a las variables predictoras (2000 observaciones en total y 633 características). La técnica KNN suele ser afectada por la conocida “maldición de dimensionalidad”.
Este es un problema que ocurre cuando hay un gran número de atributos (features), los datos están todos a casi la misma distancia. Este efecto se puede mitigar reduciendo el número de dimensiones (punto que ya hemos tratado pero no en profundidad) y aumentando la cantidad de datos (asunto que no hemos tomado mucho en cuenta, ya que nos hemos visto en la necesidad de reducir la data).
Árbol de decisión
[pic 8][pic 9]
De igual forma que en KNN se ha utilizado la métrica Accuracy por defecto y podemos observar que el mejor CP es 0 (accuracy = 0.70). Esto no es muy conveniente porque indicaría que el árbol de decisión tendería al sobreajuste, lo cual suele ocurrir con los árboles de decisión con una gran cantidad de características. Es importante alcanzar la proporción correcta de observaciones con respecto al número de características, ya que es muy probable que un árbol con pocas muestras en un espacio de gran dimensión se sobreajuste. Por la capacidad de procesamiento es algo que hemos dejado de lado y hemos tenido que reducir considerablemente el tamaño de la data inicial.
2. Genere las predicciones para la data de prueba para los dos modelos estimados resultantes del apartado anterior. Muestre los resultados de ambos modelos.
KNN
[pic 10]
Se observa que la exactitud global es muy alta (90.9%) lo cual indica que a pesar de que se ha tenido un modelo con tendencia al sobreajuste, al momento de introducir datos nuevos resulta ser un modelo muy bueno que se ajusta y predice con gran exactitud de acuerdo con la realidad. El problema con la exactitud es que nos puede llevar al engaño, no funciona bien cuando las clases están desbalanceadas, es decir, puede hacer que un modelo malo parezca que es mucho mejor de lo que es. Por ello, se analizarán otras métricas de desempeño.
[pic 11]
Sobre la sensibilidad, se puede decir que todas las clases tienen valores altos (de 81.44% a 99.11%). Lo que indica que el modelo tiene una alta capacidad de discriminar correctamente los reales casos positivos por clase, por lo que a mayor sensibilidad menor serán los falsos negativos (FN).
El número “1” que es el que posee la mayor cantidad de la data de entrenamiento, tiene la mayor sensibilidad (99.11%), notamos en la matriz de confusión que cuando el número realmente es 1 el modelo presenta solo 1 FN, detectándolo erróneamente como “2” (1 vez). Y el número “8” que es el de menor sensibilidad (81.44%), notamos en la matriz de confusión que cuando el número realmente es 8 el modelo muestra 18 FN, detectándolo erróneamente como “3” (5 veces), “1” (4 veces), “5” (3 veces) y en menor cantidad como “0”, “4”, “7” y “9”.
...