diff --git a/docs/Summary.org b/docs/Summary.org index b39a8da..55099e9 100644 --- a/docs/Summary.org +++ b/docs/Summary.org @@ -103,7 +103,193 @@ Observamos que los atributos que más peso tienen son: Observamos que los atributos son menos discriminativos al realizar la imputación, lo cual nos confirma que esta técnica de preprocesamiento es nociva para nuestro caso de estudio. +\clearpage + ** Apartado 2 *** Introducción En este apartado, usaremos distintos algoritmos de /clustering/ para resolver un problema de agrupación. + +El problema en cuestión trata de agrupar los accidentes que ocurrieron en el año 2013 según la DGT, evaluando variables similares y relaciones de causalidad para determinar la gravedad y el tipo del accidente. + +Estudiaremos el rendimiento de los siguientes algoritmos: + +- K-means +- Birch +- Spectral clustering +- Mean shift clustering +- DBSCAN + +En el caso del /K-means/ y de /Birch/, estudiaremos el rendimiento según un diferente número de clusters. + +*** Casos de estudio +**** Caso de estudio 1: Accidentes ocurridos por la noche + +La visibilidad es un factor importante en la conducción, por lo tanto vamos a agrupar los distintos accidentes ocurridos de noche. + +***** 5 clusters + +Ejecutamos el siguiente comando: + +#+begin_src bash +python src/P2/processing.py case1 5 +#+end_src + +#+CAPTION: Caso 1 con 5 clusters +[[./assets/cases/C1-5.png]] + +Como podemos observar, según las diferentes métricas ciertos algoritmos tienen mejor o peor rendimiento: + +- /Silhouette Coefficient/: Mean Shift clustering +- /Calinski-Harabasz/: K-means +- /Time/: K-means +***** 10 clusters + +Ejecutamos el siguiente comando: + +#+begin_src bash +python src/P2/processing.py case1 10 +#+end_src + +#+CAPTION: Caso 1 con 10 clusters +[[./assets/cases/C1-10.png]] + +Debido a la variación del número de clusters, vemos como el rendimiento de /Birch/ se degrada de forma considerable, mientras que el /k-means/ obtiene una mejor puntuación + +**** Caso de estudio 2: Accidentes en islas con lluvia + +Estudiamos los accidentes que han ocurrido en el territorio español no peninsular, en condiciones lluviosas. + +***** 5 clusters + +Ejecutamos el siguiente comando: + +#+begin_src bash +python src/P2/processing.py case2 5 +#+end_src + +#+CAPTION: Caso 2 con 5 clusters +[[./assets/cases/C2-5.png]] + +Como podemos observar, según las diferentes métricas ciertos algoritmos tienen mejor o peor rendimiento: + +- /Silhouette Coefficient/: Mean Shift clustering +- /Calinski-Harabasz/: Spectral clustering +- /Time/: DBSCAN + +***** 10 clusters + +Ejecutamos el siguiente comando: + +#+begin_src bash +python src/P2/processing.py case2 10 +#+end_src + +#+CAPTION: Caso 2 con 10 clusters +[[./assets/cases/C2-10.png]] + +Debido a la variación del número de clusters, vemos como el rendimiento del /k-means/ supera a todos los demás algoritmos, excepto en la métrica del tiempo de ejecución. + +**** Caso de estudio 3: Accidentes en autopista después de las 19 + +Estudiamos los accidentes que han ocurrido en autopistas, después de las 19:00. + +***** 5 clusters + +Ejecutamos el siguiente comando: + +#+begin_src bash +python src/P2/processing.py case3 5 +#+end_src + +#+CAPTION: Caso 3 con 5 clusters +[[./assets/cases/C3-5.png]] + +Observamos como el /K-means/ es el que obtiene mejores resultados, con un tiempo de ejecución marginalmente superior al del /DBSCAN/. + +***** 10 clusters + +Ejecutamos el siguiente comando: + +#+begin_src bash +python src/P2/processing.py case3 10 +#+end_src + +#+CAPTION: Caso 3 con 10 clusters +[[./assets/cases/C3-10.png]] + +Debido a la variación del número de clusters, vemos como el rendimiento del /K-means/ y de /Birch/ mejora considerablemente. + +**** Caso de estudio 4: Accidentes en Andalucía sin iluminación + +Estudiamos los accidentes que han ocurrido en la comunidad autónoma de Andalucía, en particular, cuando no había iluminación. + +***** 5 clusters + +Ejecutamos el siguiente comando: + +#+begin_src bash +python src/P2/processing.py case4 5 +#+end_src + +#+CAPTION: Caso 4 con 5 clusters +[[./assets/cases/C4-5.png]] + +Como podemos observar, según las diferentes métricas ciertos algoritmos tienen mejor o peor rendimiento: + +- /Silhouette Coefficient/: DBSCAN +- /Calinski-Harabasz/: K-means +- /Time/: DBSCAN + +Observamos como el algoritmo con mejor rendimiento es el /DBSCAN/, excepto en la métrica del /Calinski-Harabasz/ donde predomina el /K-means/. + +***** 10 clusters + +Ejecutamos el siguiente comando: + +#+begin_src bash +python src/P2/processing.py case4 10 +#+end_src + +#+CAPTION: Caso 4 con 10 clusters +[[./assets/cases/C4-10.png]] + +Debido a la variación del número de clusters, vemos como el rendimiento del /K-means/ y de /Birch/ mejora considerablemente. +En el caso particular del /K-means/, éste supera al /DBSCAN/ en todas las métricas, excepto la del tiempo de ejecución. + +**** Caso de estudio 5: Accidentes ocurridos un domingo en Madrid + +Estudiamos los accidentes que han ocurrido en domingo, en la comunidad de Madrid. + +***** 5 clusters + +Ejecutamos el siguiente comando: + +#+begin_src bash +python src/P2/processing.py case5 5 +#+end_src + +#+CAPTION: Caso 5 con 5 clusters +[[./assets/cases/C5-5.png]] + +Como podemos observar, según las diferentes métricas ciertos algoritmos tienen mejor o peor rendimiento: + +- /Silhouette Coefficient/: Mean Shift +- /Calinski-Harabasz/: K-means +- /Time/: DBSCAN + +Observamos como el algoritmo /Mean Shift/ consigue un /Silhouette Coefficient/ cerca de 1. + +***** 10 clusters + +Ejecutamos el siguiente comando: + +#+begin_src bash +python src/P2/processing.py case5 10 +#+end_src + +#+CAPTION: Caso 5 con 10 clusters +[[./assets/cases/C5-10.png]] + +Debido a la variación del número de clusters, vemos como el rendimiento del /K-means/ mejora considerablemente y /Birch/ mejora de forma marginal. +En el caso particular del /K-means/, el valor de su /Silhouette Coefficient/ se acerca mucho al valor del /Mean Shift/. diff --git a/docs/Summary.pdf b/docs/Summary.pdf index 4c1f7a2..68a867f 100644 Binary files a/docs/Summary.pdf and b/docs/Summary.pdf differ diff --git a/docs/assets/attribute's_correlation.png b/docs/assets/attribute's_correlation.png deleted file mode 100644 index ba5d426..0000000 Binary files a/docs/assets/attribute's_correlation.png and /dev/null differ diff --git a/docs/assets/confusion_matrix.png b/docs/assets/confusion_matrix.png deleted file mode 100644 index e27f6e7..0000000 Binary files a/docs/assets/confusion_matrix.png and /dev/null differ diff --git a/docs/assets/roc_auc_curve.png b/docs/assets/roc_auc_curve.png deleted file mode 100644 index 1c18a02..0000000 Binary files a/docs/assets/roc_auc_curve.png and /dev/null differ