Finish part 2 of Summary

This commit is contained in:
coolneng 2020-12-13 23:48:10 +01:00
parent 59895f4b8a
commit 2a715c7c72
Signed by: coolneng
GPG Key ID: 9893DA236405AF57
5 changed files with 186 additions and 0 deletions

View File

@ -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. 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 ** Apartado 2
*** Introducción *** Introducción
En este apartado, usaremos distintos algoritmos de /clustering/ para resolver un problema de agrupació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/.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB