CursosEmpresasBlogLiveConfPrecios

Tu primer clustering con scikit-learn

Clase 2 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
  • 2
    Tu primer clustering con scikit-learn

    Tu primer clustering con scikit-learn

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

    ¿Cuándo usar clustering?

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

    ¿Cómo evaluar modelos de clustering?

    12:00
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
  • 6
    ¿Cuándo usar K-means?

    ¿Cuándo usar K-means?

    03:24
  • 7
    Implementando K-means

    Implementando K-means

    14:08
  • 8
    Encontrando K

    Encontrando K

    13:06
  • 9
    Evaluando resultados de K-means

    Evaluando resultados de K-means

    04:21
Hierarchical clustering
  • 10
    ¿Qué es hierarchical clustering y cómo funciona?

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

    04:56
  • 11
    ¿Cuándo usar hierarchical clustering?

    ¿Cuándo usar hierarchical clustering?

    02:07
  • 12
    Implementando hierarchical clustering

    Implementando hierarchical clustering

    09:40
  • 13
    Evaluando resultados de hierarchical clustering

    Evaluando resultados de hierarchical clustering

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

    ¿Qué es DBSCAN y cómo funciona?

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

    ¿Cuándo usar DBSCAN?

    02:28
  • 16
    Implementando DBSCAN

    Implementando DBSCAN

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

    Encontrar híper-parámetros

    14:33
  • 18
    Evaluando resultados de DBSCAN

    Evaluando resultados de DBSCAN

    07:35
Proyecto: resolviendo un problema con clustering
  • 19
    Preparar datos para clusterizar

    Preparar datos para clusterizar

    13:30
  • 20
    Aplicando PCA para clustering

    Aplicando PCA para clustering

    12:08
  • 21
    Resolviendo con K-means

    Resolviendo con K-means

    09:24
  • 22
    Resolviendo con hierarchical clustering

    Resolviendo con hierarchical clustering

    07:12
  • 23
    Resolviendo con DBSCAN

    Resolviendo con DBSCAN

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

    Resolviendo con DBSCAN (sin PCA)

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

    Evaluación resultados de distintos modelos de clustering

    10:47
Conclusiones
  • 26
    Proyecto final y cierre

    Proyecto final y cierre

    02:32
  • 27

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

    00:00
    Giovany samaca

    Giovany samaca

    student•
    hace 3 años

    Hola Les comparto una manera de graficar los clusters un poco mas sencilla.

    aporte.png

      Federico Mario

      Federico Mario

      student•
      hace 3 años

      Espectacular! Igual me parece mejor utilizar un scatterplot que no te hace la regresion lineal (que en este caso no tiene sentido)

      Octavio De Paula

      Octavio De Paula

      student•
      hace 2 años

      Con un simple fit_reg=False puede sacarse la regresion lineal.

      sns.lmplot(x='x1', y='x2', hue='y', data=df_blobs, fit_reg=False)
    Jhon David Vanegas Guerrero

    Jhon David Vanegas Guerrero

    student•
    hace 3 años

    Hola, no me queria funcionar el codigo en la linea

    fig, ax = plt.subplots(1,1, figsize=(15,10))

    Si alguien tiene ese mismo error, mi solucion fue importar subplots

    from matplotlib.pyplot import subplots

    Y luego eliminar "plt" de la linea de codigo.

    fig, ax = subplots(1,1, figsize=(15,10))

    Espero le sirva a alguien

    Juan R. Vergara M.

    Juan R. Vergara M.

    student•
    hace 3 años

    Machine Learning: allá voy 🚀🔥

      Julián Cárdenas

      Julián Cárdenas

      student•
      hace 2 años

      Así es!!

    Alfonso Andres Zapata Guzman

    Alfonso Andres Zapata Guzman

    student•
    hace 3 años

    Template para plotly que colocaremos en un notebook en el mismo directorio

    import plotly.graph_objects as go import plotly.io as pio pio.templates['new_template'] = go.layout.Template() pio.templates['new_template']['layout']['font'] = {'family': 'verdana', 'size': 16, 'color': 'white'} pio.templates['new_template']['layout']['paper_bgcolor'] = 'black' pio.templates['new_template']['layout']['plot_bgcolor'] = 'black' pio.templates['new_template']['layout']['xaxis'] = {'title_standoff': 10, 'linecolor': 'black', 'mirror': True, 'gridcolor': '#EEEEEE'} pio.templates['new_template']['layout']['yaxis'] = {'title_standoff': 10, 'linecolor': 'black', 'mirror': True, 'gridcolor': '#EEEEEE'} pio.templates['new_template']['layout']['legend_bgcolor'] = 'rgb(117, 112, 179)' pio.templates['new_template']['layout']['height'] = 700 pio.templates['new_template']['layout']['width'] = 1000 pio.templates['new_template']['layout']['autosize'] = False pio.templates.default = 'new_template'

    Ejecutamos con funciones magicas el notebook del template

    %run "template_visualitation.ipynb"

    Funcion para visualizar los scatter plot con plotlly

    import plotly.graph_objects as go import plotly.express as px def graficar_clusters_plotly(x,y, color, show=True): global fig1 fig1 = go.Figure() y_uniques = pd.Series(y).unique() for _ in y_uniques: fig1.add_traces(data=px.scatter(x=x[y==_][:,0], y=x[y==_][:,1],opacity=0.8, color_discrete_sequence=[color[_]]).data) fig1.update_layout(showlegend=True) fig1.show()

    Ejecutamos nuestra funcion

    graficar_clusters_plotly(x,y, ['red', 'blue', 'green', 'white'])

    Eliminar o comentar la linea del notebook que contiene el siguiente codigo, no afecta la clusterizacion con KMeans:

    x, y = df_blobls[['x1','x2']], df_blobls['y']

    Agregamos un color ya que ahora tenemos 5 centroides

    graficar_clusters_plotly(x,y_pred, ['red', 'blue', 'green', 'white', 'yellow'])
    johan Stever Rodriguez Molina

    johan Stever Rodriguez Molina

    student•
    hace 3 años

    A modo de aporte para ir más allá de estos modelos básicos que se ven. Les recomiendo revisar

    1. HDBSCAN: como saben DBSCAN es parametrico y requiere por ejemplo el valor de un valor epsilon. Este modelo trata de refinar y ayudarnos para evitar tratar de tunear dicho parametro
    2. Gaussian mixtures: Estos modelos básicos tienen problemas para detectar datos anomalos. Este algoritmo permite deterctar datos anomalos, asignando una probabilidad a que cada dato pertenezca a una distribucion gaussina
    Anuar Steven Garcia

    Anuar Steven Garcia

    student•
    hace 3 años

    This is a function definition for a function called plot_2d_clusters that takes in three arguments: x, y, and ax.

    The function does the following:

    It first creates a Pandas Series object from the y argument, and then uses the unique method of the Series to find the unique values in y. It stores the resulting array of unique values in the variable y_uniques.

    It then enters a loop, in which it iterates over the unique values in y_uniques. On each iteration of the loop, the function plots the data points in x where the corresponding value in y is equal to the current unique value being iterated over.

    The plot is created using the plot method of the DataFrame object x, which is passed the following arguments:

    title: a string that is the title of the plot, which is constructed using string interpolation to insert the number of unique values in y into the string. kind: the type of plot to create, which is set to 'scatter'. x: the name of the column in x to use as the x-axis data. y: the name of the column in x to use as the y-axis data. marker: a string that specifies the marker to use for the data points in the plot, which is constructed using string interpolation to insert the current unique value being iterated over into the string. ax: the Matplotlib Axes object to use for the plot. It's worth noting that this function does not return anything, but instead creates a plot using the ax argument.

    Romel Manrique

    Romel Manrique

    student•
    hace 3 años

    Otra forma de graficar los clusters:

    plt.figure(figsize=(6,6)) def plot_blobs(x, y, ax, cmap='viridis'): labels = np.unique(y) cmap_ = plt.get_cmap(cmap, lut=len(labels)) for label in labels: sub_idx = np.argwhere(y == label).ravel() sub_x = x[sub_idx] sub_y = y[sub_idx] ax.scatter(sub_x[:,0], sub_x[:,1], color=cmap_(label), label=label) plot_blobs(x,y, plt.gca(), cmap='Dark2') plt.legend() plt.show()
    output.png
    Juan Manuel Betancur

    Juan Manuel Betancur

    student•
    hace 7 meses

    Si quieren graficar más fácil, después de aplicar y predecir usando el modelo pueden usar esta opción con seaborn.

    X_plot = X.copy() #Creo una copia de de X X_plot['Cluster'] = y_pred #a X le agrego las predicciones #Ahora graficamos con seaborn sns.scatterplot(data=X_plot, x='X1', y='X2', hue='Cluster', palette='Set2') plt.title("Clusters encontrados por K-Means") plt.xlabel("X1") plt.ylabel("X2") plt.legend(title="Cluster") plt.show() ```#Ahora graficamos con seaborn X\_plot = X.copy() #Creo una copia de de X X\_plot\['Cluster'] = y\_pred #a X le agrego las predicciones \#Ahora graficamos con seaborn sns.scatterplot(data=X\_plot, x='X1', y='X2', hue='Cluster', palette='Set2') plt.title("Clusters encontrados por K-Means") plt.xlabel("X1") plt.ylabel("X2") plt.legend(title="Cluster") plt.show()
    Eugenio Schiavoni

    Eugenio Schiavoni

    student•
    hace 2 años

    Para agilizar

    import numpy as np import pandas as pd from sklearn.datasets import make_blobs import seaborn as sns import matplotlib.pyplot as plt x, y = make_blobs(n_samples=100, centers=4, n_features=2, cluster_std=[1,1.5,2,2], random_state=7) df_blobls = pd.DataFrame({ 'x1': x[:,0], 'x2':x[:,1], 'y':y }) def plot_2d_clusters(x,y,ax): y_uniques = pd.Series(y).unique() for _ in y_uniques: x[y==_].plot( title=f'{len(y_uniques)} Clusters', kind='scatter', x='x1', y='x2', marker = f'${_}$', ax = ax ) fig, ax = plt.subplots(1,1, figsize=(15,10)) x, y = df_blobls[['x1','x2']], df_blobls['y'] plot_2d_clusters(x,y,ax) plt.show()```
      Julián Cárdenas

      Julián Cárdenas

      student•
      hace 2 años

      Buena!

    Erick Jacob Lugo Batalla

    Erick Jacob Lugo Batalla

    student•
    hace 2 meses

    Modificando un poco y mezclando un par de aportes, les comparto este modo de graficarlos, me parece que le da más visualización, solo se debe modificar desde el bloque anterior:

    y_pred = kmeans.fit_predict(x) df_plot = df_blobls.copy() df_plot['y_pred'] = y_pred
    import seaborn as sns fig, axs = plt.subplots(1, 2, figsize=(20, 12)) plot_2d_clusters(x,y,axs[0]) plot_2d_clusters(x,y_pred,axs[1]) # Primer gráfico: datos reales palette = sns.color_palette("tab10", n_colors=4) sns.scatterplot(x='x1', y='x2', hue='y', data=df_plot, ax=axs[0], palette = palette) axs[0].set_title(f'Actual {axs[0].get_title()}') # Segundo gráfico: predicciones (KMeans) palette = sns.color_palette("tab10", n_colors=5) sns.scatterplot(x='x1', y='x2', hue='y_pred', data=df_plot, ax=axs[1], palette = palette) axs[1].set_title(f'KMeans {axs[1].get_title()}') plt.show()
    Juan Acevedo

    Juan Acevedo

    student•
    hace 3 meses
    Mario Alexander Vargas Celis

    Mario Alexander Vargas Celis

    student•
    hace 4 meses

    ¡Perfecto! Aquí tienes un ejemplo básico de cómo hacer tu primer clustering usando scikit-learn en Python, utilizando el algoritmo K-Means, uno de los más comunes y fáciles de usar.

    📦 Requisitos previos

    Primero, asegúrate de tener las siguientes librerías instaladas:

    pip install scikit-learn matplotlib seaborn

    ✅ Ejemplo básico: Clustering con K-Means

    import matplotlib.pyplot as plt from sklearn.cluster import KMeans from sklearn.datasets import make_blobs import seaborn as sns

    # 1. Generamos datos de ejemplo X, y_true = make_blobs(n_samples=300, centers=3, cluster_std=0.60, random_state=42)

    # 2. Aplicamos KMeans con 3 clústers kmeans = KMeans(n_clusters=3, random_state=42) kmeans.fit(X)

    # 3. Obtenemos las predicciones y_kmeans = kmeans.predict(X)

    # 4. Visualizamos el resultado plt.figure(figsize=(8, 6)) sns.scatterplot(x=X[:, 0], y=X[:, 1], hue=y_kmeans, palette="Set1", s=60) plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], s=200, c='black', marker='X', label='Centroides') plt.title("Clustering con KMeans") plt.legend() plt.show()

    🔍 ¿Qué hace este código?

    1. Crea datos sintéticos con 3 clústers.
    2. Aplica el algoritmo K-Means para agrupar los datos.
    3. Visualiza los grupos asignados y los centroides de cada clúster.

    ¿Y luego?

    Puedes intentar con tus propios datos o probar otros algoritmos de clustering como:

    • DBSCAN (detecta clústers de forma irregular)
    • AgglomerativeClustering (jerárquico)
    • MeanShift
    LUIS GUILLERMO MONCADA RUIZ

    LUIS GUILLERMO MONCADA RUIZ

    student•
    hace 2 años

    Los Clusters, se puede seleccionar como yo quiera?, en este caso digamos fueron 4, eso no lo define algo como el metodo del codo o asi?

      Leandro Tenjo

      Leandro Tenjo

      student•
      hace 2 años

      Justo ese es uno de los temas que se tocan m[as adelante en el curso

    DIEGO ALEJANDRO BAUTISTA LINDARTE

    DIEGO ALEJANDRO BAUTISTA LINDARTE

    student•
    hace un año

    Tengo una pregunta y es como en este filtro 'x[y==_].plot', saben a que fila de x pertenece el respectivo y, ejemplo a cual fila de x saben que y es igual a cero o uno, si x no tiene la columna y. Es decir no están relacionados.

    ¿No se si me hice entender?

    EDWING ALFONSO ARENAS RUEDA

    EDWING ALFONSO ARENAS RUEDA

    student•
    hace 6 meses

    un tema que me agrada aprotar al tema de machine learning, es que ya entrenado el modelo y obtenido los parametros del mismo, este se pueda programar en un lenguaje que pueda ser usado en otro sistema mas dedicado (un microcontrolador, un PLC, un lenguaje un especifico), para el caso de clusterizacion, este se basa en la distacioa euclidiana entre cada conjunto de datos de entrada y la distancia respecto a los centroides de cada cluster, siendo la menor distancia el cluster al cual pertenece. les comparto el script propuesto:

    # implementacion del script de k-means para clustering # practico para programacion en procesadores o en sistemas mas dedicados usando lenguaje del equipo # en base al modelo se tienen los centroides de cada cluster centroids = [[-1.60811992, 2.85881658], [ 1.95159369, 0.83467497], [ 0.95625704, 4.37226546]] # funcion que realiza la prediccion del cluster def predict_cluster(x): """ Clasifica un punto x en el clúster más cercano según los centroides entrenados. Parámetros: - x: lista o array de 2 elementos [x1, x2] Retorna: - Índice del clúster más cercano """ min_dist = float("inf") best_cluster = -1 # se realiza la medicion de distancia # la menor distancia entre el punto y el centroide, se le asigna a ese valor de cluster o etiqueta for i, center in enumerate(centroids): dist = (x[0] - center[0]) ** 2 + (x[1] - center[1]) ** 2 # distancia euclidiana al cuadrado if dist < min_dist: min_dist = dist best_cluster = i return best_cluster # Ejemplo de uso nuevo_punto = [2.5, 3.0] cluster_asignado = predict_cluster(nuevo_punto) print(f"Punto {nuevo_punto} asignado al clúster: {cluster_asignado}") ```# implementacion del script de k-means para clustering# practico para programacion en procesadores o en sistemas mas dedicados usando lenguaje del equipo \# en base al modelo se tienen los centroides de cada cluster centroids = \[\[-1.60811992, 2.85881658], \[ 1.95159369, 0.83467497], \[ 0.95625704, 4.37226546]] \# funcion que realiza la prediccion del clusterdef predict\_cluster(x):    """    Clasifica un punto x en el clúster más cercano según los centroides entrenados.     Parámetros:    - x: lista o array de 2 elementos \[x1, x2]     Retorna:    - Índice del clúster más cercano    """    min\_dist = float("inf")    best\_cluster = -1     # se realiza la medicion de distancia    # la menor distancia entre el punto y el centroide, se le asigna a ese valor de cluster o etiqueta    for i, center in enumerate(centroids):        dist = (x\[0] - center\[0]) \*\* 2 + (x\[1] - center\[1]) \*\* 2  # distancia euclidiana al cuadrado        if dist < min\_dist:            min\_dist = dist            best\_cluster = i     return best\_cluster \# Ejemplo de usonuevo\_punto = \[2.5, 3.0]cluster\_asignado = predict\_cluster(nuevo\_punto)print(f"Punto {nuevo\_punto} asignado al clúster: {cluster\_asignado}")
    Jorge Miguel Diaz

    Jorge Miguel Diaz

    student•
    hace un año

    Emocionante!

    Antonio Demarco Bonino

    Antonio Demarco Bonino

    student•
    hace un año

    Los que venimos del aprendizaje supervisado para el No supervisado empezamos a hacer "WooooooW" con este curso. Ya comenzamos paso a paso a dar saltos de alegría de ver lo que puede hacer la IA.

    Juan José Mamani Tarqui

    Juan José Mamani Tarqui

    student•
    hace 2 años

    <u>CLUSTERING </u>

    El clustering es una técnica de aprendizaje no supervisado en el campo de la inteligencia artificial y el análisis de datos. El objetivo principal del clustering es agrupar un conjunto de datos en subconjuntos o "clusters", donde los elementos dentro de cada grupo son más similares entre sí que con aquellos en otros grupos. Los algoritmos de clustering buscan encontrar patrones intrínsecos en los datos sin necesidad de etiquetas previas.

    Algunos algoritmos de clustering comunes incluyen:

    1. K-Means:
      • Divide el conjunto de datos en k grupos (clusters) basándose en la distancia entre los puntos y los centroides de los clusters.
    2. Hierarchical Clustering:
      • Agrupa los datos en una jerarquía de clusters, ya sea de manera aglomerativa (fusionando clusters en cada paso) o divisiva (dividiendo clusters en cada paso).
    3. DBSCAN (Density-Based Spatial Clustering of Applications with Noise):
      • Identifica clusters basándose en la densidad de los puntos. Es especialmente útil para detectar clusters de formas irregulares y manejar ruido en los datos.
    4. Mean Shift:
      • Busca los modos de densidad máxima en el espacio de características para identificar los clusters.
    5. Gaussian Mixture Model (GMM):
      • Modela el conjunto de datos como una mezcla de distribuciones gaussianas y asigna puntos a los clusters basándose en la probabilidad.
    6. Agglomerative Clustering:
      • Un algoritmo jerárquico que comienza considerando cada punto como un cluster individual y fusiona clusters en cada paso hasta que todos los puntos pertenecen a un único cluster.

    La elección del algoritmo de clustering depende de la naturaleza de los datos y de los objetivos específicos del análisis. El número de clusters (k) también es un parámetro importante y puede ser fijo o determinado automáticamente por el algoritmo.

    El clustering se utiliza en una variedad de campos, incluyendo la segmentación de clientes, análisis de documentos, genómica, reconocimiento de patrones, entre otros.

    Noel Felipe Delgado Ortiz

    Noel Felipe Delgado Ortiz

    student•
    hace 2 años

    Hola.

    Les comparto mi aporte,

    g = sns.jointplot(data=df_blobls, x="x1", y="x2", hue='y') g.plot_joint(sns.kdeplot, color="r", zorder=0, levels=6) g.plot_marginals(sns.rugplot, color="r", height=-.15, clip_on=False) ```g = sns.jointplot(data=df\_blobls, x="x1", y="x2", hue='y')g.plot\_joint(sns.kdeplot, color="r", zorder=0, levels=6)g.plot\_marginals(sns.rugplot, color="r", height=-.15, clip\_on=False) ![]()
    jhon Robert Matamoros

    jhon Robert Matamoros

    student•
    hace 2 años

    Comparto el codigo para mostarlo más estetico!!

    def plot_2d_clusters(x, y ,axe, title): y_uniques = pd.Series(y).unique() for y_unique in y_uniques: axe.scatter(x[y == y_unique, 0], x[y == y_unique, 1], label=y_unique) axe.set_title(title) axe.markers = [f"${y_unique}$"] axe.legend()

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