Está en la página 1de 10

Tarea N°1:

Clustering & Reducción de Dimensionalidad


Valeria González Araya
COM4402 – Introducción a Inteligencia Artificial
Escuela de Ingeniería, Universidad de O’Higgins
12 Abril, 2023

Resumen— El siguiente trabajo se centra en distintas técnicas de Aprendizaje no supervisado o también conocido
clustering para aprendizaje no supervisado, los algoritmos de como machine learning es un tipo de enfoque de
clustering definidos, la implementación de reducción de
dimensionalidad para el set de datos y las distintas métricas de
aprendizaje automático donde a través de un
desempeño de los algoritmos serán los componentes claves para algoritmo se entrena, analizan y agrupan conjuntos
realizar un análisis detallado respecto a la base de datos “Mice de datos sin necesidad de recurrir a etiquetas o
Protein Expression Data Set” que contiene datos de los niveles de
expresión de proteínas en ratas. A través de los distintos
salidas de clases previamente conocidas. A
algoritmos y mediciones de éstos se podrá llegar a la conclusión diferencia del aprendizaje supervisado, este tipo de
de cuál de los algoritmos de clasificación implementados para algoritmo es capaz de descubrir grupos o patrones
esta base de datos es el más óptimo en comparación a los otros.
de manera automática. El enfoque principal de los
modelos de aprendizaje no supervisado es realizar
Keywords— Aprendizaje no supervisado, clustering, algoritmos
de clustering, métricas, reducción de dimensionalidad.
tareas de agrupamiento, asociación y reducción de
dimensionalidad. Dependiendo de las similitudes o
I. INTRODUCCIÓN disimilitudes presentes en los datos es cómo se irán
En el presente trabajo se utilizarán técnicas de agrupando los datos o formando los clusters,
clustering y reducción de dimensionalidad aplicadas algunos de estos algoritmos de agrupamiento son:
a la base de datos “Mice Protein Expression Data A. K-Means
Set” proporcionada por la UC Irvine Machine
Learning Repository. Esta base de datos contiene Es un tipo de agrupación en clusters exclusiva o
información sobre la expresión de 77 proteínas en de agrupamiento duro. En esta técnica de
muestras de tejido cerebral de ratones, para ello se agrupamiento se divide un conjunto de datos en
contó con 38 ratones de control y 34 ratones “K” clusters, donde cada uno de estos tendrá un
trisómicos o syndrome de Down, dado que algunos centro de cluster denominado “centroide”. La
ratones fueron estimulados para aprender y/o dinámica de este algoritmo comienza con la
inyectados con memantina. inicialización, donde se seleccionarán K puntos de
datos, los cuales pueden ser de manera aleatoria o
En lo que sigue, se hará una limpieza de la base de mediante otros métodos, para que sean los
datos a utilizar para luego implementar algoritmos centroides iniciales, luego cada punto de dato se irá
de; K-Means, K-Means++, DBSCAN, Clustering asignando al centroide más cercano y esto se hará
aglomerativo y PCA. Con los resultados obtenidos en función de una medida de distancia, que en este
será posible medir mediante métricas el desempeño caso es distancia euclidiana.
de cada una de estas técnicas identificando
El tercer paso será volver a calcular los centroides
patrones, relaciones o características importantes
utilizando los miembros actuales de los grupos, esto
que sean relevantes en la expresión de proteínas en
implica calcular el centroide promedio de todos los
el cerebro de las ratas.
puntos en cada cluster. Lo que sigue es realizar
II. MARCO TEÓRICO iteraciones, donde el segundo y tercer paso se irán

1
repitiendo hasta cumplir un “criterio de puntos. La principal diferencia, en relación a otros
convergencia”, comúnmente este criterio se basa en algoritmos de clustering, es que en DBSCAN no
ver cuándo los centroides dejan de cambiar será necesario especificar el número de clusters a
significativamente, pero también podría ser el dar formar (K), pues este método encontrará
un número máximo de iteraciones alcanzadas. automáticamente el número de clusters y detectará
Finalmente, obtenida la convergencia se obtendrán además los puntos outliers o de ruido.
los K conjuntos de clusters, que serán la
Para el proceso de agrupación de DBSCAN
representación de agrupaciones de puntos de datos
primero se deben definir dos parámetros; el radio de
con similitudes en función de la medida de
búsqueda o épsilon y el mínimo número de puntos
distancia que se utilizó.
dentro del radio de búsqueda, pues con estos datos
B. K-Means++ se podrá considerar un punto como “denso”
Esta técnica de agrupamiento es una variante del (minPts). Luego, las observaciones obtenidas se
algoritmo de K-Means, a diferencia de éste en podrán ir clasificando en tres tipos: “puntos core”,
K-Means++ se evita el “problema de sensibilidad “puntos alcanzables” y “puntos ruido”.
de inicialización”, pues en K- Means la Puntos core o núcleos serán aquellos puntos que
inicialización de los centroides se hace de manera cumplan las reglas de densidad establecidas en el
aleatoria lo que produce algunas veces una modelo, es decir, puntos que tengan al menos
convergencia lenta o llegar a encontrar soluciones minPts puntos dentro de su radio épsilon. Puntos
subóptimas. El algoritmo de K-Means++ mejora la alcanzables o borde serán puntos que se encuentran
inicialización de los centroides y a su vez el proceso a una distancia épsilon de un core point, pero no
y calidad de la agrupación, esto lo hace poseen una cantidad suficiente de puntos dentro del
seleccionando los centroides iniciales de tal manera radio épsilon de búsqueda, en otras palabras, a pesar
que estén más alejados entre sí en el espacio de de no cumplir con las reglas de densidad
datos. establecidas tienen cerca otros puntos core. Por
La inicialización del algoritmo comienza último, los puntos ruido u outliers serán puntos que
seleccionando un centroide al azar de los datos, no cumplen las condiciones para ser etiquetados
luego para cada punto de datos se calculará su como core points o border points.
distancia en función del centroide más cercano que El algoritmo de DBSCAN comenzará calculando
ya ha sido seleccionado. Posteriormente, se una matriz de distancia para los diferentes puntos,
selecciona el siguiente centroide inicial con una esto normalmente se hace utilizando la distancia
probabilidad proporcional a la distancia al centroide euclidiana. Luego, se clasifica cada punto como
más cercano elevada al cuadrado, por esto los punto core, punto alcanzable u outliers. Los puntos
puntos de datos que están más lejos de los que hayan sido clasificados como puntos core serán
centroides existentes tendrán una mayor pertenecientes a un cluster, un cluster se formará
probabilidad de ser elegidos centroides iniciales. por la unión de todos los puntos que están
Finalmente se deberá repetir el paso dos y tres, densamente conectados. Finalmente, el último paso
mencionados anteriormente, hasta seleccionar K será etiquetar outliers, esto se basa en encontrar
centroides iniciales. puntos que no son parte de ningún cluster los cuales
C. DBSCAN se clasificarán como puntos ruido.

Density-Based Spatial Clustering of Applications D. Clustering aglomerativo


with Noise (DBSCAN) es un algoritmo de Clustering Aglomerativo o Agrupamiento
clustering que utiliza como parámetro la densidad y Jerárquico (HCA), es un algoritmo de agrupamiento
distancia a la que se encuentran el número de que puede categorizar en dos maneras: Clustering

2
Aglomerativo o Clustering Divisivo. Para los trabajo, lo cual hace referencia a la utilización de
conceptos de esta tarea solo nos enfocaremos en métricas de evaluación para los clusters generados,
Clustering Aglomerativo. para medir estos rendimientos se usarán las
métricas de; Inertia, Homogeneity, Completeness,
En clustering aglomerativo los datos se irán
V-Meashure, Índice de Rand Ajustado, Información
agrupando en base su distancia y similitud entre sí,
Mutua Ajustada y Silhoutte.
el procedimiento que sigue este algoritmo es en
primer lugar, aislar sus puntos de datos como A. Inertia
grupos separados para luego fusionar de forma La inertia o inercia mide qué tan bien K-Means
repetitiva o iterativa respecto a la similitud de los agrupa un conjunto de datos, se calcula midiendo la
datos, de esta forma se van generando los clusters. distancia entre cada punto de datos y su centroide,
Para medir la similitud entre los datos existen 4 elevando al cuadrado esta distancia y sumando
métodos: Vínculo de Ward, Vínculo promedio, estos cuadrados en un grupo. Un buen modelo es
Vínculo completo o máximo y Vínculo único o uno con baja inercia y un bajo número de
mínimo. conglomerados (K) sin embargo, esto es una
El vínculo de Ward establece que la distancia entre compensación, porque a medida que K aumenta la
dos grupos de clusters se define en base al aumento inercia disminuye [1].
en la suma de los cuadrados luego de fusionar los B. Homogeneity
clusters. El vínculo promedio es la distancia media
en cada cluster entre dos puntos. Vínculo completo Métrica que mide la corrección de las
o máximo es un método definido por la distancia asignaciones de grupos que se derivan del
máxima de dos puntos en cada uno de los clusters. aprendizaje supervisado. Mide que cada grupo
Por último, vínculo único o mínimo será la mínima contenga miembros de solo una clase, es decir, la
distancia entre dos puntos para cada cluster. Para precisión con la que se hizo el cluster.
calcular estas métricas comúnmente se utiliza C. Completeness:
distancia euclidiana, pero otras métricas como
distancia Manhattan también pueden ser utilizadas. Esta métrica también mide la corrección de las
asignaciones de clusters, pero a diferencia de otras
E. PCA acá lo que se evalúa es si todos los miembros de
Análisis de componentes principales o PCA es un una clase determinada se asignaron al mismo grupo
método que tiene como objetivo reducir la al cual pertenecen realmente.
dimensionalidad de los datos, para utilizar este D. V-Measure
método se necesitará calcular los vectores y valores
propios de la matriz de varianzas-covarianzas de las Esta métrica mide la corrección de las
variables. Con los valores propios calculados de la asignaciones de grupos mediante el análisis de
matriz se obtiene la proporción de varianza entropía condicional. Una puntuación más alta
explicada por cada componente, este porcentaje es significa una mayor similitud [1]. Para calcular esta
el que siempre se busca maximizar con la suma de métrica se debe computar la media armónica de
los componentes. Cabe aclarar que para este métrica de homogeneidad y la de completeness.
proceso solo se seleccionan los componentes que E. Índice de Rand Ajustado (ARI)
más aportan al total de la varianza, generalmente
será el 80% del total de la varianza explicada. El índice Rand mide la similitud entre las
asignaciones de grupos al hacer comparaciones por
Teniendo claro el funcionamiento de estos pares. Una puntuación más alta significa una mayor
algoritmos, se entrará a profundizar en otro de los similitud [1]. Para cada par de puntos se considerará
elementos importantes para la elaboración de este un cluster como correcto si se tiene un verdadero

3
positivo o de igual modo, cuando se tenga un funciones de clustering de la librería de sklearn,
verdadero negativo, como el predecir que el par de para esto se realizó una copia de la data original
puntos está en distintos clusters siendo que en denominada “df”, luego a df se le elimina la
realidad sí lo están. Particularmente esta métrica no columna BCL2_N utilizando “drop()”. Del mismo
considera el azar, por lo mismo podría pasar que si modo, se procedió a eliminar todas las filas que
la asignación de los grupos es de manera aleatoria contuvieran algún valor NaN utilizando el método
se generen muchos verdaderos negativos. Para “dropna”. Realizando esto, disminuyó a 612 filas y
solucionar este problema se utiliza mayormente el 81 columnas.
índice de Rand ajustado (ARI), este se ajusta por
probabilidad dado que se resta la normalización de
probabilidad.
F. Información Mutua Ajustada (AMI) Figura 1: Códigos utilizados para la eliminación de valores NaN.

B. Datos de tipo object


Información mutua o MI, mide el acuerdo entre
las asignaciones de clúster. Una puntuación más El Segundo paso fue revisar el tipo de dato
alta significa una mayor similitud [1]. La contenido en cada columna de df, esto se hace
información Mutua Ajustada (AMI) es el MI utilizando el método “info()” para un data frame.
normalizado ajustado de manera aleatoria, mediante De esto resultó que se tenían 5 columnas de tipo
el descuento de un término de normalización al “object”, específicamente; MouseID, Genotype,
azar. Treatment, Behavior y class, y todas las restantes de
G. Silhouette tipo “float64”.

Silhouette es la distancia entre una muestra y el Para las columnas tipo object se realizó una
grupo más cercano del que la muestra no forma revisión sobre los datos que contenían y se
parte. El mejor valor es 1 y el peor valor es -1. Los determinó eliminar las columnas; MouseID,
valores cercanos a 0 indican clústeres superpuestos. Genotype, Treatment y Behavior, pues MouseID,
Los valores negativos generalmente indican que una representaba el número identificador para cada rata,
muestra se ha asignado al conglomerado pero en el análisis de los algoritmos no resulta ser
equivocado, ya que un conglomerado diferente es un dato de interés. Luego, para las columnas
más similar [2]. Genotype, Treatment y Behavior también se decidió
eliminarlas, debido a que los valores que poseían
III. METODOLOGÍA eran de tipo string y para la implementación de los
Para comenzar, se importaron las librerías a algoritmos no se podría trabajar con ellas. La única
utilizar, en este caso fueron; numpy, pandas y columna de tipo object que se mantiene en el set de
sklearn, luego se cargó la base de datos “Mice datos es la columna “clas”, pues esta representa la
Protein Expression Data Set” asignándola a la clasificación que se le da a la rata dependiendo de
variable denominada “data”. Se realizó la primera las observaciones vistas, lo cual es un dato de
visualización set de datos y se observó que este importancia al momento de implementar las
contenía un total de 1080 filas y 82 columnas. métricas para cada algoritmo.
Obtenido esto se comienza a realizar la limpieza de
datos:
A. Valores NaN
Figura 2: Códigos utilizados para la eliminación de columnas de desinterés.
La columna BCL2_N es eliminada dado que
contiene muchos valores “NaN” o no numéricos, Luego, se procede a hacer una segunda revisión
los cuales no son permitidos a la hora de utilizar las del tipo de dato que contiene cada columna de df y
se observa que todas las columnas son de tipo int64,

4
es decir, de tipo numérico excepto por la columna Los parámetros utilizados en esta función son:
“class” que continúa siendo de tipo object, en este ● init: Es el método de inicialización. Para
caso el que esta columna no sea de tipo numérica no este caso se utilizó init = “k-means++”,
afectará en la implementación de los algoritmos, para K-Means++ e init = “random” para
pues solo será utilizada para medir las métricas de K-Means.
estos. ● n_clusters: Corresponde al total de
IMPLEMENTACIÓN DE ALGORITMOS (PARTE 2 & 3)
clusters y centroides a formar. En este
caso se utilizó un total de 8 tanto en
Ya teniendo lista la limpieza del data frame, se K-Means como en K-Means++.
procede a realizar la implementación de los ● n_init: Número de veces que se ejecuta el
algoritmos de clustering, para ello primero se algoritmo K-Means con semillas de
realizó una división de df, donde una variable estará centroide diferentes. En ambos casos se
encargada de contener todas las columnas de df utilizó un valor de 10.
exceptuando la columna class, por otra parte, una ● random_state: Determina la generación
segunda variable será responsable de considerar los de números aleatorios para la
datos de la columna class. Las variables “X” e “y” inicialización del centroide. Para ambos
representan la división, mencionada anteriormente. casos se usó random_state = 0.
Finalmente se implementa la función
bench_k_means(kmeans, name, data, labels), que
Figura 3: Códigos utilizados para la división de la data set fue facilitada por el profesor a cargo del curso para
Luego para entrenar los algoritmos se utilizaron la elaboración de este trabajo, donde su utilidad será
los siguientes parámetros: medir la precisión de la o las agrupaciones
generadas por cada uno de estos algoritmos.
● K-Means (con inicialización al azar), usando
8 clusters.
● K-Means++, usando 8 clusters.
● DBSCAN con épsilon por defecto.
● DBSCAN con épsilon 0.7. Figura 4: Códigos implementados para los algoritmos de K-Means y
● DBSCAN con épsilon 0.2. K-Means++.

● DBSCAN con épsilon por defecto, B. DBSCAN


agregando outliers a cluster extra.
● DBSCAN con épsilon 0.7, agregando Para DBSCAN se crearon 4 nuevas variables;
outliers a cluster extra. “dbscan”, “dbscan_07”, “dbscan_02”,
● DBSCAN con épsilon 0.2, agregando “DBSCAN_out”, “DBSCAN07_out” y
outliers a cluster extra. “DBSCAN02_out”, a cada una de estas nuevas
● Clustering aglomerativo, usando 8 clusters. variables se le asignó la función “DBSCAN” de
sklearn, cuya función viene dada por:
A. K-Means y K-Means++
DBSCAN(eps , min_samples) [5].
Para la implementación de K-Means y
K-Means++ se crearon 2 nuevas variables Los parámetros introducidos en esta función son:
“kmeans”, para K-Means y “kmeans_” para
K-Means++. En cada una de ellas se utilizó la ● eps: Indica la distancia máxima entre dos
función “KMeans” de Sklearn: muestras para que una se considere en la
KMeans(init, n_clusters, n_init, random_state) [4]. vecindad de la otra. En este caso, para
“dbscan” y “DBSCAN_out” se utilizó 0,5
(valor que tiene por defecto la función).

5
Para “dbscan_07” y “DBSCAN07_out” se ● linkage: Corresponde al criterio de
utilizó eps = 0.7. Por último, para vinculación a utilizar, este se encarga de
“dbscan_02” y “DBSCAN02_out” se usó determinar qué distancia usar entre
eps = 0.2. conjuntos de observación, para esto el
● min_samples: Es el número de muestras (o algoritmo fusionará los pares de clústeres
peso total) en una vecindad para que un que minimizan este criterio. Acá se utilizó
punto se considere un punto central. Esto linkage = “ward”, pues es el parámetro por
incluye el punto en sí. Acá se utilizó el defecto que tiene la función, además el
mismo valor en todas las variables, esto es criterio ward minimiza la varianza de los
min_samples = 0.5, que es el valor por grupos que se fusionan.
defecto que trae la función.
Por último, se implementa la función
Finalmente, para cada una de las variables se mide bench_clustering2(estim, name, data, labels,
su nivel de precisión mediante la función use_outliers), donde a diferencia de DBSCAN se
bench_clustering2(estim, name, data, labels, utiliza estim = AGC.
use_outliers), que al igual que en el caso anterior,
fue facilitada por el profesor del curso.
Figura 6: Códigos utilizados para algoritmos de clustering aglomerativo.

REDUCCIÓN DE DIMENSIONALIDAD E IMPLEMENTACIÓN DE


ALGORITMOS (PARTE 2 & 4)
Respecto a la reducción de la dimensionalidad, se
disminuyó la matriz de observaciones a un total de
dos columnas utilizando PCA, esto se hizo con la
función “PCA()”de la librería sklearn, luego se
entrenaron los mismos algoritmos nombrados con
anterioridad usando las mismas funciones y
métricas indicadas.
Figura 5: Códigos utilizados para algoritmos de DBSCAN con distintos
parámetros.

C. Clustering Aglomerativo

Para este algoritmo primero se creó la variable Figura 7: Códigos utilizados para disminuir la dimensionalidad de los datos
con PCA.
“AGC”, la cual tiene asociada la función de sklearn
“AgglomerativeClustering” con los siguientes A. K-Means y K-Means++
parámetros: Acá nuevamente se entrenan los datos con los
algoritmos de K-Means y K-Means++, pero en este
AgglomerativeClustering(n_clusters, affinity, linkag
caso la data que se usará será la que se obtuvo
e) [6].
después de la aplicación de PCA, es decir, “X_pca”.
● n_clusters: Indica el número de clusters
que se quiere buscar. Para este caso se
utilizó n_clusters = 8.
● affinity: Es la métrica de distancia que se
utilizará para medir las instancias en una
matriz de características. En este caso se Figura 8: Códigos utilizados para K-Means y K-Means++ con la data de 2
dimensiones.
usó affinity = “euclidean”, métrica que por
defecto tiene la función. B. DBSCAN

6
Al igual que la parte anterior se entrenan los datos V. ANÁLISIS DE RESULTADOS
con los mismos parámetros para el algoritmo de De la Tabla I, se concluye que para la métrica de
DBSCAN, salvo por la data utilizada, la cual es completeness el algoritmo de DBSCAN con épsilon
nuevamente la que tiene reducción de por defecto (0.5) posee la mejor agrupación en
dimensionalidad, es decir, “X_pca”. comparación a los otros algoritmos siendo esta de
12 clusters. Para esta métrica el algoritmo alcanza
un valor de 0.705, un valor bastante cercano a 1 si
se consideran todos los algoritmos analizados, esto
quiere decir que DBSCAN con radio 0.5 tiene el
mayor número de elementos agrupados de forma
correcta. Por otro lado, respecto a esta misma
métrica, el algoritmo de K-Means resultó ser el que
tenía el valor de completeness más bajo, siendo este
un 0.268, lo que significa que los elementos de una
clase o categoría están divididos en múltiples
Figura 9: Códigos utilizados para DBSCAN con y sin outliers utilizando la clusters, es decir, una mala agrupación de los
data de 2 dimensiones.
elementos.
C. Clustering Aglomerativo
Respecto a los resultados de los algoritmos para la
Acá los datos son entrenados con los mismos métrica de homogeneidad se tiene que el algoritmo
parámetros de la primera parte de la tarea, salvo la de DBSCAN resulta ser el que posee la mayor
base de datos utilizada, la cual es reemplazada por cantidad de clústeres puros en términos de su
la data que tiene la aplicación de PCA. contenido categórico, pues para esta métrica se
obtiene un valor igual a 1, lo cual es el valor
máximo que se puede obtener en esta medición. Un
Figura 10: Códigos utilizados para clustering aglomerativo utilizando la data
de 2 dimensiones. valor igual a 1 en la homogeneidad significa que
todos los clústeres obtenidos contienen sólo
IV. RESULTADOS elementos de una misma categoría. Por otra parte, el
valor más bajo de homogeneity se obtuvo al evaluar
Los resultados obtenidos de la implementación de
el algoritmo de DBSCAN_out resultando ser de
los algoritmos con y sin PCA pueden ser
0.107, esto quiere decir que los clusters formados
observados mediantes la Tabla I y Tabla II:
TABLA I contienen elementos de otras categorías.
RESULTADOS DE LOS ALGORITMOS SIN REDUCCIÓN DE DIMENSIONALIDAD (PCA)
En relación a V-measure, se concluye que el
algoritmo de DBSCAN es el que posee una mejor
completitud y homogeneidad de los clústeres
formados, en comparación a los clusters generados
por los otros algoritmos, para esta métrica se obtuvo
un valor igual a 0.827, lo que es muy cercano a 1.
TABLA II En cuanto a el valor más bajo para esta métrica se
RESULTADOS DE LOS ALGORITMOS CON REDUCCIÓN DE DIMENSIONALIDAD (PCA) obtiene con el algoritmo de DBSCAN_out, este
valor es de 0.165, lo que quiere decir que se tiene
una baja completitud y homogeneidad en los
clusters.
Finalmente, sobre la métrica de silhouette se
obtiene el mejor parámetro con el algoritmo de

7
DBSCAN, el cual es igual a 0.693 esto quiere decir es equivalente a 0.284, al igual que se comentó en
que la mayoría de los objetos presentes en un el párrafo anterior este valor no asegura que todos
cluster son bastante similares en comparación con los clústeres obtenidos contienen sólo elementos de
los otros clusters, en otras palabras, los objetos una misma categoría, pues el valor obtenido está
dentro de un clúster son similares entre sí y están bastante lejos de un valor igual a 1, el cual se
bien separados de otros clústeres. Por otro lado, si querría tener en el mejor de los casos, por lo
no se considera el algoritmo de DBSCAN_0.2 y anterior se interpreta que los clusters obtenidos no
DBSCAN_0.2_out, se tiene que DBSCAN_out son puros en términos de su contenido categórico.
tiene el valor más bajo para esta métrica con -0.349, De este mismo modo se discrimina el algoritmo que
lo que se traduce en una mala agrupación de los posee el menor valor obtenido en esta métrica, cuyo
objetos. número es de 0.005 con DBSCAN_07_out.
Un último comentario o análisis sobre los Sobre V-measure, el valor más alto se obtiene al
resultados obtenidos para; completeness, utilizar el algoritmo de DBSCAN_0.2, resultando
homogeneity, v-measure y silhouette, son los ser de 0.284, nuevamente se tiene un valor muy por
algoritmos que resultaron tener continuamente un debajo del umbral de un valor máximo igual a 1,
valor de -1, lo anterior se debe a que en el caso de por lo que no se puede decir tajantemente que para
DBSCAN_0.2 el número de clusters formados fue este algoritmo se tengan clusters tanto completos
igual a 0, lo que afecta directamente en el cálculo como homogéneos, más bien solo se puede afirmar
de sus métricas, pues ningún elemento fue que es el algoritmo implementado que tiene el valor
agrupado, lo mismo sucede con DBSCAN_0.2_out, mayor en la métrica de V-measure. Por otra parte, el
en este caso se formó solo un cluster y valor más bajo disponible con esta métrica se
probablemente el cluster formado sea producto de obtiene a partir de la implementación del algoritmo
los outliers presentes y no de la agrupación correcta de DBSCAN_07_out, con este se tiene un valor de
de los datos. 0.010, lo que representa una baja completitud y
homogeneidad en los clústeres formados.
En relación a los resultados obtenidos de la Tabla
II, desarrollada a partir de reducción de Por último, para la métrica de silhouette se obtuvo
dimensionalidad, se tiene que para el algoritmo de el mejor valor con el algoritmo de
DBSCAN_07_out se tiene el valor más alto de la DBSCAN_07_out cuyo valor fue de 0.505, en otra
métrica de completeness en comparación a todos palabras, los objetos dentro de un clúster son
los otros algoritmos, este valor es de 0.335, si bien bastante similares entre sí y están bien separados de
es el más alto en comparación a las otros valores otros clústeres. No ocurre lo mismo con el cas del
obtenidos no es un valor óptimo, pues está bastante algoritmo de DBSCAN_02_out, en donde se tiene
alejado de 1 por esta misma razón no se puede un valor de -0.205, es decir, los objetos dentro de un
asegurar que los elementos que pertenecen a una clúster son similares pero están demasiado cerca de
misma categoría esten siendo agrupados juntos en otros clústeres, obteniéndose una mala agrupación.
un mismo clúster. Para esta misma métrica, al
Finalmente, al igual que con la Tabla 1, se
implementar DBSCAN_out se tiene el número más
obtuvieron algunos resultados constantemente con
bajo de esta medición, resultando ser 0.116, en este
valores igual a -1 para los algoritmos de DBSCAN
caso sí se puede asegurar con certeza que es un
y DBSCAN_0.7, estos resultados se explican al ver
valor bastante bajo, entonces se traduce en que los
la cantidad de clusters formados por estos
elementos de una misma categoría están siendo
algoritmos, los cuales inciden directamente para el
divididos en múltiples clústeres.
cálculo de estas métricas.
Para el caso de la métrica de homogeneity, el
Haciendo una comparativa entre las dos tablas se
mejor número se obtiene con DBSCAN_0.2, el cual
puede ver fácilmente que la mayoría de los

8
algoritmos obtuvieron mejores mediciones de sus la calidad de los clusters obtenidos con los
métricas cuando se trabajó con la base de datos no algoritmos
reducida en dimensiones (Tabla I), esto puede De esta implementación resultó ser el algoritmo de
deberse a que al momento de aplicar PCA (Tabla II) DBSCAN con epsilón = 0.5 el que obtuvo los
sólo se dejaron 2 columnas como “principales” de mejores resultados en las métricas analizadas, lo
una base de datos original que tenía 77 columnas, lo que quiere decir que realizó de mejor manera el
que se traduce en una gran pérdida de información
agrupamiento de los datos, por otro lado el
o elementos importantes para poder construir los algoritmo de DBSCAN_out fue quién resultó tener
clusters correctos. los peores desempeños en cuanto al agrupamiento
Pasando a otro análisis entre los algoritmos, es de los datos. En cuanto a la base de datos con
importante enfatizar en el cambio respecto al reducción de dimensionalidad para todos los
número de clusters que se genera para los algoritmos se obtuvieron métricas con desempeños
algoritmos de DBSCAN con y sin outliers, por bajos, destacándose el algoritmo de
ejemplo para la Tabla I, los resultados obtenidos DBSCAN_07_out por tener la mayor cantidad de
sobre el número de clusters implementando métricas con valores cercanos a 0. Otra conclusión
DBSCAN sin outliers es de; 12 para un épsilon de sobre la implementación de la técnica de PCA es
0.5, 43 para un épsilon de 0.7 y 0 para un épsilon de que al reducir la base de datos a 2 dimensiones
0.2, mientras que los clusters formados con hubo mucha pérdida de información importante, por
DBSCAN con outliers fueron de 13 para un épsilon lo que se obtuvieron métricas de un bajo umbral
de 0.5, 44 para un épsilon de 0.7 y 1 para un épsilon para los algoritmos implementados con esta nueva
de 0.2, es decir que al agregar outliers aumenta en base de datos reducida.
una unidad la cantidad de clusters formada. Lo Para terminar, en general la combinación de
mismo sucede si se analizan los resultados de los técnicas de clustering junto con la reducción de
clusters para los algoritmos de DBSCAN con y sin dimensionalidad, mediante técnicas como PCA
outliers de la Tabla II. permitió identificar patrones de agrupamiento en la
Finalmente y haciendo un cierre a éste análisis, se base de datos "Mice Protein Expression Data Set".
puede concluir que el hecho de haber implementado Las métricas de desempeño proporcionan una
reducción de dimensionalidad a la base de datos evaluación cuantitativa de la calidad de los clusters
perjudicó netamente al correcto agrupamiento de obtenidos. Sin embargo, es importante tener en
los datos, pues el rendimiento de las métricas para cuenta que la selección y ajuste adecuado de los
cada algoritmo fue peor en comparación a la data algoritmos y parámetros, son factores relevantes y
con la que se trabajó en la Tabla I. de carácter clave para obtener resultados confiables
y significativos en los análisis de clustering.
VI. CONCLUSIÓN
REFERENCIAS
En conclusión, la aplicación de técnicas de
[1] "Intro to Machine Learning: Clustering: K-Means Cheatsheet |
clustering y reducción de dimensionalidad en la Codecademy". Codecademy.
base de datos "Mice Protein Expression Data Set" https://www.codecademy.com/learn/machine-learning/modules/dspath-
clustering/cheatsheet (accedido el 15 de abril de 2023).
ha demostrado ser valiosa para analizar la estructura [2] K. J. Wong. "7 Evaluation Metrics for Clustering Algorithms".
de datos e identificar patrones de agrupamiento. Medium.
https://towardsdatascience.com/7-evaluation-metrics-for-clustering-alg
Además de implementar los algoritmos de orithms-bdc537ff54d2 (accedido el 15 de abril de 2023).
K-means, K-means++, DBSCAN y clustering [3] "sklearn.metrics.silhouette_score". scikit-learn.
https://scikit-learn.org/stable/modules/generated/sklearn.metrics.silhou
aglomerativo, se evaluaron las métricas de ette_score.html (accedido el 15 de abril de 2023).
desempeño de; completeness, homogeneity,
[4] "sklearn.cluster.KMeans". scikit-learn.
V-measure y coeficiente de silhouette para evaluar https://scikit-learn.org/stable/modules/generated/sklearn.cluster.KMean
s.html (accedido el 15 de abril de 2023).

9
[5] "sklearn.cluster.dbscan". scikit-learn.
https://scikit-learn.org/stable/modules/generated/dbscan-function.html#
sklearn.cluster.dbscan (accedido el 15 de abril de 2023).

10

También podría gustarte