in

Explicación de la agrupación en clústeres de K-medias

00JpMNszLlJPAzKjS

Explicación de la agrupación en clústeres de K-medias

Comparación de técnicas de reducción de dimensionalidad de PCA y t-SNE al agrupar para identificar subgrupos de empleados

Kamil Mysiak

13 de julio de 2020·31 min de lectura

Foto de Eric Muhr en Unsplash

Los datos de hoy vienen en todas las formas y tamaños. Los datos de PNL abarcan la palabra escrita, los datos de series de tiempo rastrean el movimiento secuencial de datos a lo largo del tiempo (es decir, existencias), los datos estructurados que permiten que las computadoras aprendan con el ejemplo y los datos no clasificados permiten que la computadora aplique la estructura. Independientemente del conjunto de datos que posea, puede estar seguro de que hay un algoritmo listo para descifrar sus secretos. En este artículo, queremos cubrir un algoritmo de agrupamiento llamado KMeans que intenta descubrir subgrupos ocultos que se esconden en su conjunto de datos. Además, examinaremos qué efectos tiene la reducción de dimensiones sobre la calidad de los clústeres obtenidos de KMeans.

Inorte En nuestro ejemplo, examinaremos un conjunto de datos de recursos humanos que consta de 15.000 empleados individuales. El conjunto de datos contiene características laborales de los empleados, como satisfacción laboral, puntuación de desempeño, carga de trabajo, años de antigüedad, accidentes, número de promociones. Aplicaremos KMeans para descubrir grupos similares de empleados.

¿En qué se diferencia la agrupación en clústeres de la clasificación?

Los problemas de clasificación tendrán etiquetas de destino que estamos tratando de predecir. Los conjuntos de datos famosos como Titanic e Iris son primordiales para la clasificación, ya que ambos tienen objetivos que estamos tratando de predecir (es decir, sobrevivientes y especies). Además, las tareas de clasificación requieren que dividamos nuestros datos en entrenamiento y prueba, donde el clasificador se entrena con los datos de entrenamiento y luego su rendimiento se mide a través del conjunto de datos de prueba.

Cuando se trata de un problema de agrupación en clústeres, queremos utilizar un algoritmo para descubrir grupos significativos en nuestros datos. Quizás estemos tratando de descubrir segmentos de clientes o identificar anomalías en nuestros datos. De cualquier manera, el algoritmo descubre los grupos con poca intervención humana, ya que no tenemos etiquetas de destino para predecir.

Dicho esto, podemos asociar algoritmos de agrupación en clústeres no supervisados ​​con algoritmos supervisados ​​identificando primero grupos / clústeres y luego construyendo modelos supervisados ​​para predecir la pertenencia al clúster.

¿Cómo K-Means hace su magia?

En esencia, KMeans intenta organizar los datos en un número específico de clústeres. Desafortunadamente, depende de nosotros determinar la cantidad de clústeres que deseamos encontrar pero no temas, tenemos herramientas a nuestra disposición que ayudan con este proceso. El objetivo de KMeans es identificar similar puntos de datos y agruparlos mientras intenta distancia cada grupo tan lejos como sea posible. Su cálculo de «similitud» se determina mediante la distancia euclidiana o una línea recta ordinaria entre dos puntos (Wiki). Cuanto más corta es la distancia euclidiana, más similares son los puntos.

Primero, el usuario (es decir, usted o yo) determina el número de clústeres que KMeans necesita encontrar. La cantidad de clústeres no puede exceder la cantidad de características en el conjunto de datos. A continuación, KMeans seleccionará un punto aleatorio para cada centroide. El número de centroides es igual al número de grupos seleccionados. El centroide es el punto alrededor del cual se construye cada grupo.

En segundo lugar, la distancia euclidiana se calcula entre cada punto y cada centroide. Cada punto se asignará inicialmente al centroide / grupo más cercano en función de la distancia euclidiana. Cada punto de datos puede pertenecer a un grupo o centroide. Luego, el algoritmo promedia la distancia euclidiana (entre cada punto y centroide) para cada grupo y este punto se convierte en el nuevo centroide. Este proceso de promediar las distancias euclidianas dentro de los grupos y asignar nuevos centroides se repite hasta que los centroides del grupo ya no se mueven. La siguiente animación muestra el proceso, actualice la página si es necesario.

1*P2UZY15WFlfCbyTwta6IYQ

http://shabal.in/visuals/kmeans/6.html

Selección de los centroides iniciales

Necesitamos ser conscientes de cómo KMeans selecciona los centroides iniciales y qué problemas podría producir. Sin nuestra intervención, KMeans seleccionará aleatoriamente los centroides iniciales que, en última instancia, pueden causar diferentes clústeres resultantes en los mismos datos. A partir de los gráficos a continuación, podemos ver cómo la ejecución del algoritmo KMeans en dos ocasiones diferentes resultó en diferentes centroides iniciales. Los mismos puntos de datos se asignaron a diferentes clústeres entre la primera y la segunda ejecución de KMeans.

1*mlGJ0VaRIMjozMALIjo7AA

Primera inicialización
1*nIUQu7TNH8cXXOkq gEfWg

2da inicialización

¡No temas, Sklearn nos respalda! La biblioteca Sklearn KMeans tiene ciertos parámetros como «n_int» y «max_iter» para mitigar este problema. El parámetro «n_int» determina el número de veces que KMeans seleccionará aleatoriamente diferentes centroides. «Max_iter» determina cuántas iteraciones se ejecutarán. Una iteración es el proceso de encontrar la distancia, tomar la distancia promedio y mover el centroide.

Si establecemos nuestros parámetros en n_int = 25 y max_iter = 200 KMeans seleccionará aleatoriamente 25 centroides iniciales y ejecutará cada centroide hasta 200 iteraciones. Lo mejor de esos 25 centroides será el grupo final.

El Sklearn también tiene un parámetro «int» que seleccionará el primer centroide al azar y ubicará todos los puntos de datos que están más lejos del primer centroide. Luego, el segundo centroide se asigna cerca de esos puntos lejanos, ya que es menos probable que pertenezcan al primer centroide. Sklearn selecciona «int = kmeans ++» de forma predeterminada, lo que aplica la lógica anterior.

1*KfxoWWa 9hv45UhB2tdDDg

¿Cómo determinar la cantidad de clústeres?

“¿Mencionaste algo sobre la necesidad de seleccionar el número de grupos…? ¿Cómo hacemos eso? «

Conocimiento del dominio: Muy a menudo tenemos un cierto nivel de conocimiento y experiencia en el dominio del que se recopiló nuestro conjunto de datos. Esta experiencia puede permitirnos establecer la cantidad de grupos que creemos que existen en la población general.

Prueba de hipótesis: Establecer un número específico de clústeres también puede actuar como una prueba de cierta hipótesis que podamos tener. Por ejemplo, cuando analizamos los datos de marketing, tenemos la corazonada de que hay 3 subgrupos de clientes que es muy probable, probable y no probable que compren nuestro producto.

Los datos vienen preetiquetados: Hay ocasiones en las que los datos que analizamos vienen con objetivos preetiquetados. Estos conjuntos de datos se utilizan normalmente para problemas de AA supervisados, pero eso no significa que no podamos agrupar los datos. Los datos preetiquetados son únicos, ya que necesita eliminar los objetivos de su análisis inicial y luego usarlos para validar qué tan bien el modelo agrupa los datos.

Método del codo: Ésta es una técnica estadística iterativa muy popular para determinar el número óptimo de clústeres ejecutando realmente el algoritmo K-Means para un rango de valores de clúster. El método del codo calcula la suma de las distancias al cuadrado desde cada punto hasta su centroide asignado para cada iteración de KMeans. Cada iteración se ejecuta a través de un número diferente de clústeres. El resultado es un gráfico de líneas que muestra la suma de las distancias al cuadrado en cada grupo. Queremos seleccionar el número de conglomerados en el codo del gráfico de líneas o la suma más baja de distancias al cuadrado (es decir, inercia) en el número más bajo de conglomerados. Cuanto menor sea la suma de las distancias de los cuadrados, los datos dentro de cada grupo están agrupados de manera más estrecha.

Escala: estandarización

KMeans es muy sensible a la escala y requiere que todas las funciones estén en la misma escala. KMeans pondrá más peso o énfasis en las características con variaciones más grandes y esas características impondrán más influencia en la forma del grupo final. Por ejemplo, consideremos un conjunto de datos de información del automóvil, como el peso (libras) y los caballos de fuerza (hp). Si hay una mayor variación de peso entre todos los coches, la distancia euclidiana media se verá más afectada por el peso. En última instancia, la membresía de cada grupo se verá más afectada por el peso que por la potencia.

Alta dimensionalidad

Los algoritmos de agrupación en clústeres como KMeans tienen dificultades para agrupar con precisión datos de alta dimensionalidad (es decir, demasiadas funciones). Nuestro conjunto de datos no es necesariamente muy dimensional, ya que contiene 7 características, pero incluso esta cantidad creará problemas para KMeans. Te sugiero que explores la Maldición de la dimensionalidad para obtener más detalles. Como vimos anteriormente, muchos algoritmos de agrupamiento utilizan una fórmula de distancia (es decir, distancia euclidiana) para determinar la pertenencia al grupo. Cuando nuestro algoritmo de agrupación tiene demasiadas dimensiones, los pares de puntos comenzarán a tener distancias muy similares y no podríamos obtener agrupaciones significativas.

En este ejemplo, vamos a comparar las técnicas de reducción de datos de PCA y t-SNE antes de ejecutar nuestro algoritmo de agrupación de K-Means. Dediquemos unos minutos a explicar PCA y t-SNE.

Análisis de componentes principales (PCA)

El análisis de componentes principales o (PCA) es un método clásico que podemos utilizar para reducir datos de alta dimensión a un espacio de baja dimensión. En otras palabras, simplemente no podemos visualizar con precisión conjuntos de datos de alta dimensión porque no podemos visualizar nada por encima de 3 características (1 característica = 1D, 2 características = 2D, 3 características = gráficos 3D). El propósito principal detrás de PCA es transformar conjuntos de datos con más de 3 características (de alta dimensión) en gráficos típicamente 2D o 3D para nosotros, los humanos débiles. Eso es lo que se entiende por espacio de baja dimensión. La belleza detrás de PCA es el hecho de que, a pesar de la reducción a un espacio de menor dimensión, todavía retenemos la mayor parte (+ 90%) de la variación o información de nuestro conjunto de datos original de alta dimensión. La información o la variación de nuestras características originales se «comprime» en lo que PCA llama componentes principales (PC). La primera PC contendrá la mayor parte de la información de las funciones originales. La segunda PC contendrá la siguiente mayor cantidad de información, la tercera PC la tercera mayor cantidad de información y así sucesivamente. Los PC no están correlacionados (es decir, ortogonales), lo que significa que todos contienen piezas únicas de información. Por lo general, podemos «comprimir» la mayor parte (es decir, 80-90%) de la información o la variación contenida en las características originales en unos pocos componentes principales. Usamos estos componentes principales en nuestros análisis en lugar de usar las características originales. De esta manera, podemos realizar un análisis con solo 2 o 3 componentes principales en lugar de 50 características, manteniendo al mismo tiempo entre el 80 y el 90% de la información de nuestras características originales.

Echemos un vistazo a algunos de los detalles detrás de cómo PCA hace su magia. Para facilitar un poco la explicación, veamos cómo podemos reducir un conjunto de datos con 2 características (es decir, 2D) en un componente principal (1D). Dicho esto, la reducción de 50 funciones en 3 o 4 componentes principales utiliza la misma metodología.

Tenemos una gráfica 2D de peso y altura. En otras palabras, tenemos un conjunto de datos de 7 personas y hemos graficado su altura en relación con su peso.

1*hZRpZH7 0 uf3kNe9cP79w

Primero, PCA necesita centrar los datos midiendo las distancias desde cada punto hasta el eje y (altura) y el eje x (peso). Luego calcula la distancia promedio para ambos ejes (es decir, altura y peso) y centra los datos usando estos promedios.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

ELqQGMWxQtWffGSmaeyb6P 1200 80

Los mejores teléfonos Sony 2021: encontrar el teléfono Sony Xperia adecuado para usted

rc04v2x1 arizonafederal

Arizona Federal Credit Union crece con oracleCloud