CursosEmpresasBlogLiveConfPrecios

¿Qué es hierarchical clustering y cómo funciona?

Clase 10 de 27 • Curso de Clustering con Python y scikit-learn

Clase anteriorSiguiente clase

Contenido del curso

Fundamentos de clustering

  • 1
    ¿Qué es el clustering en machine learning?

    ¿Qué es el clustering en machine learning?

    04:01 min
  • 2
    Tu primer clustering con scikit-learn

    Tu primer clustering con scikit-learn

    16:57 min
  • 3
    ¿Cuándo usar clustering?

    ¿Cuándo usar clustering?

    05:00 min
  • 4
    ¿Cómo evaluar modelos de clustering?

    ¿Cómo evaluar modelos de clustering?

    12:00 min

K-means

  • 5
    ¿Qué es el algoritmo de K-means y cómo funciona?

    ¿Qué es el algoritmo de K-means y cómo funciona?

    07:30 min
  • 6
    ¿Cuándo usar K-means?

    ¿Cuándo usar K-means?

    03:24 min
  • 7
    Implementando K-means

    Implementando K-means

    14:08 min
  • 8
    Encontrando K

    Encontrando K

    13:06 min
  • 9
    Evaluando resultados de K-means

    Evaluando resultados de K-means

    04:21 min

Hierarchical clustering

  • 10
    ¿Qué es hierarchical clustering y cómo funciona?

    ¿Qué es hierarchical clustering y cómo funciona?

    Viendo ahora
  • 11
    ¿Cuándo usar hierarchical clustering?

    ¿Cuándo usar hierarchical clustering?

    02:07 min
  • 12
    Implementando hierarchical clustering

    Implementando hierarchical clustering

    09:40 min
  • 13
    Evaluando resultados de hierarchical clustering

    Evaluando resultados de hierarchical clustering

    06:44 min

DBSCAN

  • 14
    ¿Qué es DBSCAN y cómo funciona?

    ¿Qué es DBSCAN y cómo funciona?

    08:27 min
  • 15
    ¿Cuándo usar DBSCAN?

    ¿Cuándo usar DBSCAN?

    02:28 min
  • 16
    Implementando DBSCAN

    Implementando DBSCAN

    09:11 min
  • 17
    Encontrar híper-parámetros

    Encontrar híper-parámetros

    14:33 min
  • 18
    Evaluando resultados de DBSCAN

    Evaluando resultados de DBSCAN

    07:35 min

Proyecto: resolviendo un problema con clustering

  • 19
    Preparar datos para clusterizar

    Preparar datos para clusterizar

    13:30 min
  • 20
    Aplicando PCA para clustering

    Aplicando PCA para clustering

    12:08 min
  • 21
    Resolviendo con K-means

    Resolviendo con K-means

    09:24 min
  • 22
    Resolviendo con hierarchical clustering

    Resolviendo con hierarchical clustering

    07:12 min
  • 23
    Resolviendo con DBSCAN

    Resolviendo con DBSCAN

    17:25 min
  • 24
    Resolviendo con DBSCAN (sin PCA)

    Resolviendo con DBSCAN (sin PCA)

    05:24 min
  • 25
    Evaluación resultados de distintos modelos de clustering

    Evaluación resultados de distintos modelos de clustering

    10:47 min

Conclusiones

  • 26
    Proyecto final y cierre

    Proyecto final y cierre

    02:32 min
  • 27

    Comparte tu proyecto de segmentación con clustering y certifícate

    Santiago Ahumada Lozano

    Santiago Ahumada Lozano

    student•
    hace 3 años

    Método Ward

    • Se utiliza en agrupamiento jerárquico de tipo Aglomerativo.
    • Por tanto, es un criterio para indicar como se deben aglomerar los clusters.
    • Su criterio fundamental es el de mínima varianza, es decir, su objetivo es que tras agrupar y conseguir nuevos clusters, La varianza dentro de cada cluster se la mínima posible. La función a minimizar es entonces, la suma de las varianzas de cada cluster.
    • Según lo anterior, en cada iteración, el algoritmo clusteriza de manera que se genere el menor aumento de varianza a la varianza total. Fuente: Statitstics.com
      Giovany samaca

      Giovany samaca

      student•
      hace 3 años

      Gran aporte para entender un poco mas la clase

      Juan R. Vergara M.

      Juan R. Vergara M.

      student•
      hace 2 años

      Excelente aporte amigo 🦾📝

    Darrien Sequera

    Darrien Sequera

    student•
    hace 2 años

    El clustering jerárquico es un método de aprendizaje automático no supervisado que se utiliza para agrupar datos en función de su similitud. El algoritmo funciona creando una jerarquía de grupos, comenzando con cada punto de datos como su propio grupo y luego combinando los grupos más similares hasta que solo queda un grupo.

    Hay dos tipos principales de clustering jerárquico:

    • Aglomerativo: Este enfoque comienza con cada punto de datos como su propio grupo y luego combina los grupos más similares hasta que solo queda un grupo. El algoritmo puede usar una variedad de medidas de similitud para determinar qué grupos combinar.
    • Divisivo: Este enfoque comienza con todos los datos en un solo grupo y luego divide el grupo en dos grupos más pequeños, repitiendo el proceso hasta que cada punto de datos esté en su propio grupo. El algoritmo puede usar una variedad de medidas de distancia para determinar cómo dividir los grupos.

    El clustering jerárquico se puede utilizar para una variedad de tareas, incluidas:

    • Segmentación de clientes: Se puede utilizar para dividir a los clientes en grupos basados en sus características y comportamiento.
    • Clasificación de imágenes: Se puede utilizar para clasificar imágenes en grupos basados en su contenido.
    • Análisis de redes sociales: Se puede utilizar para identificar grupos de personas que interactúan entre sí.

    Cómo funciona el clustering jerárquico

    El clustering jerárquico funciona creando una jerarquía de grupos, comenzando con cada punto de datos como su propio grupo. Luego, el algoritmo combina los grupos más similares hasta que solo queda un grupo.

    Hay dos pasos principales involucrados en el clustering jerárquico:

    1. Mide la similitud entre los grupos: El algoritmo debe medir la similitud entre los grupos para determinar cuáles combinar. Hay una variedad de medidas de similitud que se pueden utilizar, como la distancia euclidiana, la distancia manhattan y la distancia coseno.
    2. Combina los grupos más similares: El algoritmo combina los grupos más similares, basándose en la medida de similitud que se utiliza. El algoritmo continúa combinando los grupos más similares hasta que solo queda un grupo.

    Ventajas y desventajas del clustering jerárquico

    El clustering jerárquico tiene una serie de ventajas y desventajas.

    Ventajas:

    • Es un método flexible que se puede utilizar para una variedad de tareas.
    • Es relativamente fácil de implementar.
    • Puede proporcionar una representación visual de los grupos de datos.

    Desventajas:

    • Puede ser difícil determinar el número óptimo de grupos.
    • Puede ser sensible a la elección de la medida de similitud.

    ¿Cómo elegir el número óptimo de grupos?

    Una de las principales desventajas del clustering jerárquico es que puede ser difícil determinar el número óptimo de grupos. Hay una serie de métodos que se pueden utilizar para abordar este problema, como:

    • Criterio de codo: Este método identifica el punto en el que la curva de la distancia intracluster deja de disminuir rápidamente.
    • Criterio de silueta: Este método mide la similitud de cada punto de datos con sus vecinos del mismo grupo y con sus vecinos de otros grupos.
    • Criterio de información: Este método mide la cantidad de información que se puede obtener sobre la pertenencia a un grupo a partir de las características de los datos.

    Conclusión

    El clustering jerárquico es un método poderoso que se puede utilizar para agrupar datos en función de su similitud. Es un método flexible que se puede utilizar para una variedad de tareas, pero es importante tener en cuenta sus limitaciones, como la dificultad de determinar el número óptimo de grupos.

    https://bard.google.com/

    Alejandro Collado Valverde

    Alejandro Collado Valverde

    student•
    hace 2 años

    Pasos Básicos del Hierarchical Clustering: Calcular las Distancias:

    Comienza calculando la matriz de distancias entre todos los pares de puntos en tus datos. Puedes usar diversas métricas de distancia, como la euclidiana, la manhattan o la correlación, según la naturaleza de tus datos. Asignar cada Punto a un Clúster Inicial:

    Inicialmente, cada punto se asigna a su propio clúster. **Encontrar los Clústeres más Cercanos: ** Encuentra los dos clústeres más cercanos según la matriz de distancias. La elección de la medida de distancia y del método de enlace (cómo se mide la distancia entre clústeres) puede variar y afectar los resultados. Fusionar los Clústeres:

    Fusiona los dos clústeres más cercanos en uno nuevo. Ahora, en lugar de dos puntos individuales, tienes un clúster que representa a ambos. Actualizar la Matriz de Distancias:

    Recalcula la matriz de distancias para reflejar la fusión de clústeres. Puedes utilizar diferentes métodos, como el enlace simple, el enlace completo o el enlace promedio, para determinar cómo se calcula la distancia entre clústeres. Repetir:

    Repite los pasos 3-5 hasta que todos los puntos estén en un solo clúster o hasta que se cumpla algún criterio de parada, como un número específico de clústeres deseados.

    Mario Alexander Vargas Celis

    Mario Alexander Vargas Celis

    student•
    hace 4 meses

    El Hierarchical Clustering (o clustering jerárquico) es un algoritmo de agrupamiento no supervisado que construye una jerarquía de clusters, es decir, una estructura en forma de árbol que muestra cómo se agrupan los datos.

    🔍 ¿Cómo funciona?

    Existen dos enfoques principales:

    1. Agglomerative (aglomerativo) – de abajo hacia arriba 👇

    • El más común.
    • Cada punto de datos comienza como su propio cluster.
    • En cada paso, los dos clusters más cercanos se fusionan.
    • Esto se repite hasta que todos los puntos están en un solo cluster o se cumple un criterio.

    2. Divisive (divisivo) – de arriba hacia abajo 👆

    • Todos los datos comienzan en un único gran cluster.
    • En cada paso, se divide el cluster más grande hasta que cada punto es su propio cluster.

    🧠 ¿Cómo decide qué clusters unir o dividir?

    El algoritmo usa una métrica de distancia entre clusters. Algunas comunes son:

    MétodoQué midesingleDistancia mínima entre puntos de clusterscompleteDistancia máxima entre puntos de clustersaveragePromedio de todas las distanciaswardMinimiza la varianza total dentro de los clusters (muy usada)

    📈 Representación: Dendrograma

    El resultado se visualiza como un dendrograma, un diagrama en forma de árbol que muestra cómo se fusionan (o dividen) los clusters a medida que cambia la distancia.

    from scipy.cluster.hierarchy import dendrogram, linkage import matplotlib.pyplot as plt

    linked = linkage(X, method='ward') # o 'single', 'average', etc. dendrogram(linked) plt.title("Dendrograma de Clustering Jerárquico") plt.xlabel("Puntos de datos") plt.ylabel("Distancia") plt.show()

    ✅ ¿Cuándo usarlo?

    • Cuando quieres ver la estructura jerárquica de los datos.
    • Cuando el número de clusters no es conocido de antemano.
    • Para datos con pocos puntos (porque no escala bien con muchos datos).

    ❌ Desventajas

    • Lento en datasets grandes (O(n^3)).
    • Puede ser sensible a ruido y outliers.
    • No permite reorganizar clusters una vez creados.
    Alberto Duque Villegas

    Alberto Duque Villegas

    student•
    hace un año

    WARD:

    Explicado por Chat GPT: Tienes razón. Primero se calcula la SSE de cada cluster individualmente antes de calcular el incremento al fusionarlos. Aquí está el paso a paso corregido:

    1. **Concepto Principal:**

    - Ward linkage busca minimizar la suma de las varianzas dentro de cada cluster. Se enfoca en reducir el aumento de la suma de los errores cuadráticos (SSE) al fusionar clusters.

    2. **Paso a Paso:**

    1. **Inicialización:**

    - Comienza con cada punto de datos como su propio cluster.

    2. **Cálculo de la Suma de Cuadrados (SSE) Individual:**

    - Para cada cluster, calcula la SSE sumando las diferencias cuadradas entre cada punto del cluster y la media del cluster.

    3. **Cálculo del Incremento en la SSE:**

    - Para cada par de clusters, calcula el aumento en la SSE que resultaría de fusionarlos.

    4. **Fusión de Clusters:**

    - Fusiona los dos clusters cuya combinación produce el menor incremento en la SSE.

    - Este paso asegura que la fusión resulta en el menor aumento posible en la varianza dentro de los clusters.

    5. **Repetición:**

    - Repite los pasos 2 a 4 hasta que todos los puntos estén en un solo cluster o se alcance el número deseado de clusters.

    3. **Ejemplo Simplificado:**

    - Imagina tres puntos de datos: A, B, y C.

    - Calcula la SSE para cada cluster individual (A, B, y C).

    - Luego, calcula la SSE para cada posible par de clusters (A y B, A y C, B y C) y el incremento en SSE al fusionarlos.

    - Supongamos que la fusión de A y B tiene el menor aumento en SSE.

    - Fusiona A y B en un solo cluster.

    - Luego, calcula la SSE para los clusters restantes (AB y C) y fusiona el par que minimiza el incremento en SSE.

    - Continúa el proceso hasta que todos los puntos estén en un solo cluster.

    Este método asegura que en cada paso, los clusters fusionados resulten en la menor pérdida posible de homogeneidad, manteniendo los clusters lo más compactos y homogéneos posible.

    Alberto Duque Villegas

    Alberto Duque Villegas

    student•
    hace un año

    Chat GPT: Por supuesto, aquí tienes las definiciones precisas y cortas:

    1. **Simple Linkage (Enlace Simple):** Método de agrupamiento jerárquico que define la distancia entre dos clusters como la distancia mínima entre cualquier par de puntos, uno de cada cluster.

    2. **Complete Linkage (Enlace Completo):** Método de agrupamiento jerárquico que define la distancia entre dos clusters como la distancia máxima entre cualquier par de puntos, uno de cada cluster.

    3. **Average Linkage (Enlace Promedio):** Método de agrupamiento jerárquico que define la distancia entre dos clusters como el promedio de las distancias entre todos los pares de puntos, uno de cada cluster.

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads