Logo Studenta

Practica18-ClusteringParticionalyClasificacion-KmeansyBA

¡Este material tiene más páginas!

Vista previa del material en texto

Universidad Nacional Autónoma de México
Facultad de Ingeniería
Minería de Datos
Grupo: 03 - Semestre: 2023-2
Práctica 18:
Clustering Particional - K Means y Bosques Aleatorios
Fecha de entrega: 30/05/2023
Profesor:
Dr. Guillermo Gilberto Molero Castillo
Alumnos:
Cruz Rangel Leonardo Said
Téllez González Jorge Luis
Facultad de Ingeniería Minería de Datos_____________________________________________________________________________________________________________
Introducción
El clustering particional es un enfoque de agrupamiento de datos en el campo del
aprendizaje no supervisado. El objetivo del clustering es dividir un conjunto de datos en
grupos o clústeres, donde los objetos dentro de un mismo clúster son similares entre sí y
diferentes de los objetos en otros clústeres. El clustering particional implica asignar cada
punto de datos a un clúster, de manera que la suma de las diferencias dentro de cada clúster
sea mínima.
K-means es uno de los algoritmos de clustering particional más comunes y ampliamente
utilizado. En K-means, se selecciona un número prede�nido de clústeres "k" y el algoritmo
busca iterativamente asignar cada punto de datos al clúster más cercano y actualizar la
posición del centroide de cada clúster en función de las asignaciones. El objetivo es
minimizar la suma de las distancias cuadradas entre cada punto de datos y el centroide de su
clúster asignado.
Figura 1. Ejemplo del funcionamiento de KMeans.
En esta práctica se hará la combinación de los modelos K Means y Bosques Aleatorios, es
decir, trabajaremos con un modelo mixto conocido como ‘Clustering Forests (CF)’ con el
objetivo de aprovechar las ventajas de ambos enfoques: K-means para la partición de
clústeres iniciales y los bosques aleatorios para el aprendizaje supervisado en cada clúster.
Los bosques aleatorios, son conjuntos de árboles de decisión. En lugar de utilizar un solo
árbol de decisión, los bosques aleatorios generan múltiples árboles de decisión y combinan
sus resultados para realizar la clasi�cación. Cada árbol en el bosque se entrena con una
muestra aleatoria de datos de entrenamiento y utilizando una selección aleatoria de
2
Facultad de Ingeniería Minería de Datos_____________________________________________________________________________________________________________
atributos. La combinación de las clasi�caciones individuales de los árboles en el bosque,
produce la clasi�cación �nal.
El uso de un bosque aleatorio proporciona una mayor precisión en la clasi�cación en
comparación con un solo árbol de decisión. Además, reduce el impacto de los posibles
errores individuales de cada árbol, lo que mejora la robustez y generalización del modelo.
Figura 3. Representación de un bosque aleatorio.
Para la construcción del modelo mixto se utilizará un conjunto de datos que contiene
información sobre el comportamiento de compra de 2000 personas en una tienda física. Lo
que se quiere lograr principalmente con el modelo es segmentar los tipos de clientes que
compran en la tienda para posteriormente hacer una clasi�cación en función de los
atributos del dataset.
Figura 4. Fuente de los datos.
3
Facultad de Ingeniería Minería de Datos_____________________________________________________________________________________________________________
Desarrollo
A continuación se describen los pasos que se siguieron para hacer el proceso de
segmentación con KMeans y posteriormente la clasi�cación con Bosques Aleatorios
Paso 0. Importación de bibliotecas y Preparación de los datos
Se descarga el dataset desde:
https://www.kaggle.com/code/karthickaravindan/k-means-clustering-project/data
y se carga para su manipulación usando read_csv de pandas.
Luego, se procede a hacer un pequeño procedimiento de EDA en donde se identi�can
valores nulos, se eliminan columnas que no son necesarias para el modelo y se hace un mapa
de correlaciones para determinar si hacer o no un análisis de componentes principales. Se
obtuvieron los siguientes resultados:
4
https://www.kaggle.com/code/karthickaravindan/k-means-clustering-project/data
Facultad de Ingeniería Minería de Datos_____________________________________________________________________________________________________________
No existen valores nulos, por lo que no hay que manejarlos.
Se elimina la variable ‘ID’, pues no es importante para los modelos que se van a construir,
esta modi�cación hace que el conjunto de datos original pase de tener 8 columnas a 7.
Se obtienen las correlaciones usando el método ‘pearson’, sin embargo, para mejorar la
identi�cación de variables correlacionadas se hace un mapa de calor como el que se muestra
a continuación:
5
Facultad de Ingeniería Minería de Datos_____________________________________________________________________________________________________________
Se puede observar la existencia de una alta correlación, sin embargo, por la cantidad de
variables del conjunto de datos se decidió considerar todas las variables para la construcción
de los modelos.
Una vez �nalizada esta fase de preparación de los datos, ahora sí se pueden crear los modelos
para clasi�cación.
Modelo 1: Árbol de Decisión
Paso 1. Estandarización
Cuando se trabaja con clustering, dado que son algoritmos basados en distancias, es
fundamental escalar los datos para que cada una de las variables contribuyan por igual en el
análisis.
6
Facultad de Ingeniería Minería de Datos_____________________________________________________________________________________________________________
Para hacer la estandarización se utiliza el método de Escalado utilizando StandardScaler( ).
Paso 2. De�nición de K-clústeres para KMeans
La de�nición del número de clústeres (k) en el algoritmo K-means es un paso crucial y
requiere un enfoque cuidadoso. La elección correcta de k afectará directamente los
resultados del clustering. Sin embargo, determinar el valor óptimo de k puede ser un
desafío, ya que no existe una regla general que funcione en todos los casos.
Para esta práctica utilizaremos el ‘método del codo’, que consiste en identi�car el punto de
in�exión en una grá�ca de inercia (o de codo). Estas grá�cas muestran la suma de las
distancias cuadradas de cada punto de datos a su centroide más cercano (inercia) en función
del número de clústeres (k) utilizado en el algoritmo K-means.
La inercia disminuye a medida que aumenta k, ya que más clústeres permiten una mayor
adaptación a los datos. Sin embargo, llega un punto en el que el bene�cio de agregar más
clústeres disminuye signi�cativamente, lo que se re�eja en la forma de un "codo" en la
grá�ca. El punto en el que se encuentra el codo se considera una indicación del número
óptimo de clústeres.
7
Facultad de Ingeniería Minería de Datos_____________________________________________________________________________________________________________
Localizar el codo en muchos de los casos no es de manera inmediata, por lo que se utiliza
KneeLocator para ubicar este punto sin di�cultades y de forma no ambigua:
Se observa que el número óptimo de clústeres es de 4.
Paso 3. Segmentación particional
Con el número óptimo de clústeres, el siguiente paso es crear el modelo KMeans, el cual
hará la segmentación del conjunto de datos estandarizado en 4 grupos (clusters) según sus
características.
Ahora, ésta separación que hace KMeans, en donde básicamente está otorgando una
‘clasi�cación’ a cada registro del conjunto de datos que le indica a qué clúster pertenece, se
añade como columna al conjunto de datos original para que posteriormente se puedan
agrupar según la variable y observar cómo se distribuyeron los registros:
8
Facultad de Ingeniería Minería de Datos_____________________________________________________________________________________________________________
Se observan la cantidad de registros que se clasi�caron como pertenecientes a cada clúster.
Paso 4. Obtención de centroides
En este paso, básicamente lo que se hace es obtener un resúmen (promedio) de cada una de
las variablessegún los registros que se ubicaron en cada clúster. Con lo anterior, lo que se
busca es obtener una descripción signi�cativa que nos diga algo signi�cativo o de interés de
cada clúster.
Según lo observado en la tabla, se hicieron las siguientes declaraciones sobre cada clúster:
**Clúster 0:**
Está conformado por 705 clientes con las siguientes características:
- edad promedio: 29 años (adultos jóvenes)
- la mayoría son hombres
9
Facultad de Ingeniería Minería de Datos_____________________________________________________________________________________________________________
- un ingreso anual de 105 759 dólares
- en cuanto a la educación, ocupación y tamaño de la ciudad es complicado determinar
debido a que realmente lo que se obtiene es un promedio de la cantidad de registros que se
encuentran en este cluster pero se podría decir que la mayoría cuenta con un nivel de
educación secundaria, son desempleados o no cali�cados y viven en una ciudad pequeña o
mediana.
**Clúster 1:**
Está conformado por 462 clientes con las siguientes características:
- edad promedio: 35 años (adultos y adultos jóvenes)
- la mayoría son mujeres pero también hay una alta cantidad de hombres
- el ingreso anual en promedio es de 97 859 dólares
- la mayoría al parecer tiene educación secundaria o desconocida
- la ocupación indica que una gran parte está desempleado o pre�rieron no decirla
- la gran mayoría vive en ciudades pequeñas
**Clúster 2:**
Está conformado por 570 clientes con las siguientes características:
- edad promedio: 36 años (adultos y adultos jóvenes)
- la mayoría son mujeres
- con ingreso anual promedio de 141 218 dólares
- educación secundaria o desconocida
- la ocupación que más domina es: empleado/funcionario pero también puede pertenecer a
los otros dos grupos
- al parecer la mayoría vive en una gran ciudad, pero también podrían vivir en una ciudad
mediana o pequeña
**Clúster 3:**
Está conformado por 263 clientes con las siguientes características:
- edad promedio: 56 años (adultos mayores, personas de la tercera edad)
- prácticamente en este grupo la mitad son mujeres y la mitad hombres
- con un ingreso anual promedio de 158 338 dólares
- educación universitaria en su mayoría, pero todo parece indicar que también hay clientes
con posgrado y algunos otros con escuela secundaria u otra
10
Facultad de Ingeniería Minería de Datos_____________________________________________________________________________________________________________
- la ocupación que más domina es: empleado/funcionario pero también puede pertenecer a
los otros dos grupos
- al parecer la mayoría vive en una ciudad mediana, pero también podrían vivir en una
ciudad grande o pequeña
Con esto es posible hacer una grá�ca 3D para observar los clústeres:
Modelo 2: Bosques Aleatorios para clasi�cación
Paso 0. Selección de variable regresora y variables predictoras.
Como lo que se busca predecir es la partición a la que pertenece un registro, entonces las
variables predictoras son prácticamente todas las variables del conjunto de datos
estandarizado.
11
Facultad de Ingeniería Minería de Datos_____________________________________________________________________________________________________________
La variable regresora, como ya se mencionó es el cluster al que pertenece cada registro.
Paso 1. Creación del modelo, Selección de parámetros y Entrenamiento
El bosque se creó con un total de 100 árboles de decisión (n_estimators), los cuales tienen
una profundidad máxima de 10, y algunos otros parámetros que ayudan a evitar el
over�tting.
El entrenamiento se hace con el 80% de los datos originales, dejando así el 20% para
validación.
Paso 2. Clasi�cación y rendimiento del modelo
Con el modelo creado y entrenado se procede a hacer la validación con los respectivos datos
destinados para este propósito:
12
Facultad de Ingeniería Minería de Datos_____________________________________________________________________________________________________________
En la imagen anterior se obtiene una comparación preliminar entre las clasi�caciones
originales y las que el modelo arroja, se aprecia de forma temprana que la predicción no
di�ere prácticamente en ningún registro.
Lo anterior se puede apreciar de mejor manera a través de la matriz de clasi�cación, la cual
nos arroja los Verdaderos Positivos y Falsos Positivos en cada variable, en pocas palabras,
cuántas veces acertó al clasi�car y cuántas no:
Incluso, se puede ir más allá y mostrar un reporte detallado en donde se muestra la precisión
del modelo para predecir correctamente cada clase:
13
Facultad de Ingeniería Minería de Datos_____________________________________________________________________________________________________________
En la imagen anterior también se muestra el porcentaje de relevancia que tuvo cada una de
las variables para el modelo, para observar mejor esto se hace un grá�co de barras:
Según esto, las variables más importantes sonMarital status y Settlement size, prácticamente
son las que determinan el clúster al que pertenece cada registro.
Por último se muestra la curva AUROC, en la que se ve el score para cada uno de los
clusters:
14
Facultad de Ingeniería Minería de Datos_____________________________________________________________________________________________________________
Conclusiones
Cruz Rangel Leonardo Said:
En esta práctica se empleó un enfoque mixto que consistió en la segmentación y
clasi�cación utilizando los algoritmos KMeans y Bosques Aleatorios. Estas técnicas resultan
especialmente útiles al transformar un conjunto de datos no supervisados en uno
supervisado. En otras palabras, se buscó identi�car grupos dentro de los datos que
estuvieran relacionados de alguna manera y luego se describieron dichos grupos en función
de las variables que comparten. Al realizar esto, se le otorgó un signi�cado al conjunto de
datos, lo cual permitió utilizar esta nueva variable como objetivo en un algoritmo de
aprendizaje automático supervisado, como Bosques Aleatorios.
Téllez González Jorge Luis:
En conclusión, el clustering particional con el algoritmo K-means es una técnica efectiva
para agrupar conjuntos de datos en clústeres. Permite una partición basada en la proximidad
de los datos y minimiza la suma de las distancias cuadradas dentro de cada clúster. Sin
embargo, K-means no proporciona directamente información sobre las etiquetas de clase o
categorías a las que pertenecen los datos.
Para abordar el problema de clasi�cación, se puede combinar K-means con bosques
aleatorios. Esta combinación, conocida como Clustering Forests (CF), aprovecha los
resultados del clustering particional de K-means para construir bosques aleatorios dedicados
a cada clúster. Los bosques aleatorios se entrenan utilizando únicamente los puntos de
datos de cada clúster, lo que permite un enfoque más preciso de la clasi�cación.
Esta combinación es una estrategia prometedora para tareas de clasi�cación en conjuntos de
datos complejos y grandes, donde la estructura de agrupamiento y la información de clase
son importantes.
Referencias
Árboles de Decisión. (n.d.). Medium. RetrievedMay 23, 2023, from
https://medium.com/@alexdianro/%C3%A1rboles-de-decisi%C3%B3n-960aebd7ee
da
15
Facultad de Ingeniería Minería de Datos_____________________________________________________________________________________________________________
Bosques aleatorios y ejemplos. editores | by Alexdianro. (2020, September 12). Medium.
RetrievedMay 23, 2023, from
https://medium.com/@alexdianro/bosques-aleatorios-y-ejemplos-a850a2a35320
Martinez, J. (2020, September 18).Random Forest (Bosque Aleatorio): combinando árboles.
IArti�cial.net. RetrievedMay 23, 2023, from
https://www.iarti�cial.net/random-forest-bosque-aleatorio/
Step by Step to Understanding K-means Clustering and Implementation with sklearn. (2020,
October 4). Medium. RetrievedMay 30, 2023, from
https://medium.com/data-folks-indonesia/step-by-step-to-understanding-k-means-c
lustering-and-implementation-with-sklearn-b55803f519d616

Continuar navegando