Este algoritmo tiene una variedad de objetivos relacionados con agrupar o segmentar una colección de objetos, es decir, observaciones, individuos, casos o filas de datos, en subconjuntos o clústeres, de modo que los datos que están dentro de cada grupo están más estrechamente relacionados con unos a otros que los objetos asignados a diferentes grupos.
En la agrupación jerárquica, los datos no se particionan en un clúster en particular en un solo paso. En su lugar, tiene lugar una serie de particiones, que pueden ejecutarse desde un único clúster que contiene todos los objetos, hasta n clústeres que contienen un solo objeto. Hierarchical Clustering o agrupación jerárquica se subdivide en métodos aglomerativos, que proceden de una serie de fusiones de los n objetos en grupos.
Este algoritmo puede representarse mediante un diagrama bidimensional conocido como dendrograma, que ilustra las fusiones o divisiones realizadas en cada etapa sucesivas del análisis.
Dado un conjunto de n elementos a agrupar y una matriz de distancia o similitud, el proceso de agrupamiento jerárquico es este:
- Comience por asignar cada elemento a un clúster, de modo que si tiene N elementos, ahora tiene N clusters, cada uno con un solo elemento.
2. Encuentre el par más cercano de clústeres y combínalos en un único clúster, de modo que ahora tenga un clúster menos.
3. Calcule la distancia entre el nuevo clúster y cada uno de los clústeres antiguos.
4. Repita los pasos 2 y 3 hasta que todos los elementos estén agrupados en un solo grupo de tamaño N.
Este tipo de agrupamiento jerárquico fusiona los clústeres de forma iterativa.
A medida que se esta haciendo los agrupamientos jerárquicos se va creando el diagrama bidimensional o dendograma.
Una vez que todos los elementos se encuentren agrupados, se verifica en el dendograma la distancia más larga entre todas las dibujadas. La misma no debe tener ningún corte con otra línea graficada en el agrupamiento de datos. Determinada esta distancia se realiza un corte allí determinando cuantos clústeres o subconjunto quedará nuestro modelo.
Este algoritmo no supervisado puede agrupar los programas de televisión, por ejemplo, en grupos homogéneos en función de las características del espectador. También se puede usar para identificar segmentos para marketing, o puede agrupar las ciudades en grupos homogéneos para que se puedan seleccionar ciudades comparables para probar diversas estrategias de marketing.
Algunas de las consideraciones que se deben tomar al utilizar este algoritmo son las siguientes:
Datos. Las variables pueden ser datos cuantitativos, binarios o de recuento. El escalado de variables es un problema importante: las diferencias en la escalabilidad pueden afectar las soluciones del clúster. Si sus variables tienen grandes diferencias en la escala, por ejemplo, una variable se mide en dólares y la otra se mide en años, se debe considerar realizar un preprocesamiento de datos.
Suposiciones. Las medidas de distancia o similitud utilizadas deberían ser apropiadas para los datos analizados. Además, debe incluir todas las variables relevantes en su análisis. La omisión de variables influyentes puede dar como resultado una solución engañosa. Debido a que el análisis jerárquico de conglomerados es un método exploratorio, los resultados deben tratarse como tentativos hasta que se confirmen con una muestra independiente.
Respuesta a la pregunta del video: ¿Cuál de los siguientes ejemplos podemos aplicar el algoritmo de hierarchical clustering?
Opción 1: Segmentar grupos de personas de acuerdo a sus intereses de compras. Respuesta Correcta. Con este algoritmo se puede realizar esto, recuerda que el propósito es el de crear grupos por lo que podemos crear grupos de acuerdo a sus intereses de comprar..
Opción 2: Determinar el comportamiento de votación del senado de una comunidad. Respuesta Correcta. Con este algoritmo se puede realizar esto, recuerda que el propósito es el de crear grupos por lo que podemos determinar el comportamiento de votación, agrupando las personas que estén a favor de un candidato y de otro.
Opción 3: Separar a personas reales de los bots presentes en redes sociales. Respuesta Correcta. Con este algoritmo se puede realizar esto, recuerda que el propósito es el de crear grupos por lo que podemos separar a la personas reales y a los bots.
Cómo se puede aplicar inteligencia artificial a un sitio web,para mejorar la experiencia de los usuarios en internet.
Hola Manuel, todo depende del tipo de sitio web, pero por ejemplo puedes verificar si la persona ya ha visitado antes la página, entonces mostrarle información que realmente le interese según los interese de sus visitas anteriores. Saludos.
Hola, gracias por tu canal!! Tengo una duda, cómo se puede separar a personas de bots sin que haya supervisión de por medio? quiero decir, si elegimos separar los datos en dos grandes grupos, qué es lo que asegura que la separación sea hecha respecto a su condición de bot y no respecto a cualquier otra cuestión, como horarios de conexión, localidad, etc? Así mismo con el segundo ejemplo, en el que hay una supervisión: preferencia respecto a un candidato.
El primer ejemplo es el único que me parece que realmente no necesita supervisión. Saludos, de nuevo gracias!
Hola Fernando, debe haber parámetros básico para diferenciar un bot a un humano, por ejemplo el bot siempre va a publicar lo mismo siempre, por lo tanto ese sería un parámetro a evaluar, de esa forma puedes crear parámetros para realizar las diferencias. Saludos.
Hola, Qué software de código abierto recomendarías para realizar ese tipo de algoritmos??? o cuales son los software más populares que se usan para este tipo de análisis?? gracias.
Hola Carlos, para conocer sobre los lenguajes de programación utilizados, te recomiendo esta publicación: https://bit.ly/2FPGp4C. Saludos.