CursosEmpresasBlogLiveConfPrecios

Análisis de regresión multivariable

Clase 9 de 18 • Curso de Regresión Lineal con Python y scikit-learn

Clase anteriorSiguiente clase

Contenido del curso

Introducción al curso
  • 1
    Tu primera regresión lineal con scikit-learn

    Tu primera regresión lineal con scikit-learn

    09:00
  • 2
    Análisis de datos para tu primera regresión lineal

    Análisis de datos para tu primera regresión lineal

    09:49
  • 3
    Entrenando un modelo de regresión lineal con scikit-learn

    Entrenando un modelo de regresión lineal con scikit-learn

    14:01
Cómo funciona la regresión lineal
  • 4
    ¿Qué es la regresión lineal?

    ¿Qué es la regresión lineal?

    04:26
  • 5
    Cuándo utilizar un modelo de regresión lineal

    Cuándo utilizar un modelo de regresión lineal

    03:53
  • 6
    Función de pérdida y optimización: mínimos cuadrados

    Función de pérdida y optimización: mínimos cuadrados

    06:10
  • 7
    Evaluando el modelo: R^2 y MSE

    Evaluando el modelo: R^2 y MSE

    04:49
  • quiz de Cómo funciona la regresión lineal

Regresión lineal multivariable
  • 8
    Regresión lineal multivariable

    Regresión lineal multivariable

    03:45
  • 9
    Análisis de regresión multivariable

    Análisis de regresión multivariable

    14:20
Proyecto práctico
  • 10
    Regresión lineal para predecir los gastos médicos de pacientes

    Regresión lineal para predecir los gastos médicos de pacientes

    04:15
  • 11
    Exploración y preparación de datos

    Exploración y preparación de datos

    07:49
  • 12
    Análisis de correlación de los datos

    Análisis de correlación de los datos

    09:57
  • 13
    Entrenamiento del modelo

    Entrenamiento del modelo

    10:40
  • 14
    Evaluando el modelo

    Evaluando el modelo

    13:20
  • 15
    Mejorando el modelo

    Mejorando el modelo

    13:59
  • quiz de Proyecto práctico

Pasos siguientes
  • 16
    ¿Qué hay más allá de la linealidad?

    ¿Qué hay más allá de la linealidad?

    04:26
  • 17
    Siguientes pasos en modelos de inteligencia artificial

    Siguientes pasos en modelos de inteligencia artificial

    02:11
  • 18

    Comparte tu proyecto de regresión lineal y certifícate

    00:00
    Martín Álvarez

    Martín Álvarez

    student•
    hace 3 años

    Si les aparece un error en la línea

    ax = fig.gca(projection = '3d')

    Intenten cambiando ese comando por

    ax = fig.add_subplot(projection='3d')

    Parece ser un error de versión de matplotlib

      Alberto Gonzalez

      Alberto Gonzalez

      student•
      hace 3 años

      Muchas gracias por esta aclaratoria, tenía el error al que te refieres!

      José Pablo Cabrera Romo

      José Pablo Cabrera Romo

      student•
      hace 2 años

      ¡Gracias, bro!

    Andres Gutiérrez Castillo

    Andres Gutiérrez Castillo

    student•
    hace 3 años

    graficacion 3d interactiva con plotly

    recomiendo mas usar plotly para graficar y asi obtener una grafica deinamica como la siguiente:

    el codigo es el siguiente: Nota: no realice el paso de escalamiento(para mas facilidad)

    #LIBs import plotly.express as px import plotly.graph_objects as go # TRAINING MODEL X = df[['RM', 'INDUS']].values y = df['MEDV'].values.reshape(-1, 1) slr = LinearRegression() slr.fit(X, y) # PLOTTING mesh_size = .02 margin = 0 # Create a mesh grid on which we will run our model x_min, x_max = X[:,0].min() - margin, X[:,0].max() + margin y_min, y_max = X[:,1].min() - margin, X[:,1].max() + margin xrange = np.arange(x_min, x_max, mesh_size) yrange = np.arange(y_min, y_max, mesh_size) xx, yy = np.meshgrid(xrange, yrange) # Run model pred = slr.predict(np.c_[xx.ravel(), yy.ravel()]) pred = pred.reshape(xx.shape) # Generate the plot fig = px.scatter_3d(df, x='RM', y='INDUS', z='MEDV') fig.update_traces(marker=dict(size=5)) fig.add_traces(go.Surface(x=xrange, y=yrange, z=pred, name='pred_surface')) fig.show()

    referencia: https://plotly.com/python/ml-regression/

      Efrem Medina

      Efrem Medina

      student•
      hace 3 años

      no conocia plotly, la comenzare a usar mas! gracias.

      Joel Orellana

      Joel Orellana

      student•
      hace 3 años

      wowww, la sintaxis cambia mucho de matplotlib?

    Luis Fernando Laris Pardo

    Luis Fernando Laris Pardo

    student•
    hace 4 años

    Este vídeo es el más pesado (siento yo) del curso, déjenme todas las dudas que tengan y estoy pendiente para ustedes 😄

      Mateo Zarate Guerrero

      Mateo Zarate Guerrero

      student•
      hace 4 años

      Sii una pregunta, sabes de algún curso en Platzi dónde muestren Regresión Lineal Multivariable con el método del Gradiente Descendente?

      Erika Alexandra García Barrios

      Erika Alexandra García Barrios

      student•
      hace 4 años

      Pues yo sí creo que está durito :c

    Felipe Sebastián Zepeda González

    Felipe Sebastián Zepeda González

    student•
    hace 3 años

    Quizá esto llega un poco tarde, pero me parece que el proceso de regresión de la grilla falla porque en primera instancia no se normalizaron los datos en X1 y X2. Una solución es generar la grilla a partir de X_std.

    x1_range=np.arange(X_std[:,0].min(),X_std[:,0].max()) x2_range=np.arange(X_std[:,1].min(),X_std[:,1].max()) x1, x2 = np.meshgrid(x1_range,x2_range) pred=slr.predict(np.array([x1.flatten(),x2.flatten()]).T).reshape(x1.shape) fig=plt.figure(figsize=(8,8)) ax = fig.add_subplot(projection='3d') ax.plot_surface(x1,x2,pred, alpha=0.4, linewidth=2) ax.scatter3D(X_std[:,0],X_std[:,1],y_std, color='r',alpha=1) ax.view_init(elev=10,azim=5) ax.set_xlabel('RM') ax.set_ylabel('INDUS') ax.set_zlabel('MEDV') plt.show()
    Figure 6.png
      Juan R. Vergara M.

      Juan R. Vergara M.

      student•
      hace 3 años

      Gracias amigo, me has ayudado bastante 👍🥇✔

      Carlos Andrés

      Carlos Andrés

      student•
      hace un año

      me has ayudado Gxs

    Tomas Dale

    Tomas Dale

    student•
    hace 4 años

    PREDECIR PARA 2 VARIABLES

    import numpy as np

    rooms = 5 indus =3

    v1 = np.array([rooms,indus]).reshape(1,-1)

    precio = sc_y.inverse_transform(slr.predict(v1))

    print("El precio de una casa con 5 habitaciones y 3 indus en Boston es de ", precio)

    Ever Orlando Reyes Ruiz

    Ever Orlando Reyes Ruiz

    student•
    hace 4 años

    Lineas código para evitar warnings about deprecated:

    # Creating the plot. fig = plt.figure(figsize=(10, 10)) axes = plt.axes(projection='3d') axes.plot_surface(x1, x2, prediction, alpha=1) axes.scatter(df['RM'], df['INDUS'], df['MEDV'], label='Housing Data', marker='.', color='r') axes.view_init(10, 5) plt.show()
      Gabriel Divenuto

      Gabriel Divenuto

      student•
      hace 2 años

      Ever, muchísimas gracias !!!

    Juan Santiago Gutierrez Estrada

    Juan Santiago Gutierrez Estrada

    student•
    hace 3 años

    Si usaron el Collab de la clase y les sale un error al ejecutar el bloque de “Generando predicción con el modelo”, deben actualizarlo al siguiente.

    num_rooms_std = sc_x.transform(np.array([5.0,10]).reshape(1, -1)) price_std = slr.predict(num_rooms_std) print('El precio en miles es de %.3f'% sc_y.inverse_transform(price_std)) El precio en miles es de 12.865

    En cuyo caso es una predicción para una casa con 5 habitaciones y de la variable INDUS de 10, dado que es un modelo que usa 2 variables y no una solamente. Adicionalmente noten que el reshape pasa de ser (-1, 1) a ser (1,-1)

      Juan R. Vergara M.

      Juan R. Vergara M.

      student•
      hace 3 años

      Excelente gracias 🥇

      Alberto Gonzalez

      Alberto Gonzalez

      student•
      hace 3 años

      Gracias Juan!

    KEVIN XAVIER FREGOSO ROMERO

    KEVIN XAVIER FREGOSO ROMERO

    student•
    hace 4 años

    Calling gca() with keyword arguments was deprecated in Matplotlib 3.4. Starting two minor releases later, gca() will take no keyword arguments. The gca() function should only be used to get the current axes, or if no axes exist, create new axes with default keyword arguments. To create a new axes with non-default arguments, use plt.axes() or como se puede resolver?

      Luis Fernando Laris Pardo

      Luis Fernando Laris Pardo

      student•
      hace 4 años

      Claro, puedes sustituir así el código :D Gracias por mencionar esto fig = plt.figure() ax = fig.add_subplot(projection='3d')

    Santiago Nicolas Diez

    Santiago Nicolas Diez

    student•
    hace 3 años

    Me parece y según lo visto hasta ahora que R, en lo que se refiere a estadistica, es tremendamente mas poderoso que python e incluso mas sencillo. Es realmente mucha la diferencia. Alguno que maneje R comparte esta opinión?

      Jhonatan Smith Garcia Muñoz

      Jhonatan Smith Garcia Muñoz

      student•
      hace 3 años

      Aqui un estadistico en R. Y en efecto, apenas estoy familiarizandome con Python y en definitiva, R es más amigable y sencillo a la par que poderoso en terminos estadisticos. Igual, hay que sacarle provecho a ambas herrmientas.

    Tomas Dale

    Tomas Dale

    student•
    hace 4 años

    Si solo desean ver el plano, otra forma de grafico

    import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import * import numpy as np

    RANGOS

    x1_range = np.arange(df['RM'].min(), df['RM'].max()) x2_range = np.arange(df['INDUS'].min(), df['INDUS'].max())

    X1, X2 = np.meshgrid(x1_range, x2_range)

    plano = pd.DataFrame({'RM':X1.ravel(), 'INDUS':X2.ravel()})

    pred = slr.predict(plano).reshape(X1.shape) pred = sc_y.inverse_transform(pred) Z = pred

    from matplotlib import cm my_col = cm.jet(Z/np.amax(Z))

    fig , ax = plt.subplots(subplot_kw={"projection":"3d"}) surf = ax.plot_surface(X1,X2,pred, facecolors = my_col) fig.colorbar(surf);

    Dick Saide Suárez Blanco

    Dick Saide Suárez Blanco

    student•
    hace 3 años

    ----->Análisis de regresión multivariable<----

    σ Objetivo: Reacomodar las lineas de codigo anteriores para poder usar 1 . Importar un herramienta que se le llama toolkits. Usando from mpl_toolkits.mplot3d import* + Lo cual nos ayuda a basicamente graficar en 3d + Luis uso " * " al final, y menciono que significa "everything" (interesante 🤔) 2.Procede a importar numpy usando algo ya visto anteriormente: " import numpy as np" -----------> Explica que se necesita crear un plano, para generar una malla en 3era dimension, y no solo un plano cartesiano. 3. Lo siguiente es usar las variables anteriores " (RM) " " (INDUS) ". Usando " x_range = np.arrange (df [ 'RM' ].min (), df [ 'RM' ].Max() ) " + Notese que se hizo un " arreglo a la funcion minima de ' RM ', asi como para su funcion Maxima . " (Algo asi como delimitar el alcance minimo y el maxio que tiene la funcion dentro del plano). 4. Continua haciendo un copy / paste del codigo anterior y cambia el nombre de la variable " x1_range " a " x2_range " +Esto ya que ahora estamos usando una segunda variable. 5. Interesantemente esta es la funcion que nos permite crear la malla del plano, y esta es la siguiente. " X1, X2 = np.meshgrid(x1_range, x2_range) ". +Debido a que igual no estoy entendiendo al 100% lo que esta pasando. Es importante recalcar la maenra tan peculiar en la ques esta escrito el dodigo, la cual es la estructura de la funcion para crear la malla. + Con esto se crea una malla con todas las variables.

    6. Todo lo anterior ya definido, ahora solo resta crear el plano, para ello se crea la variable " plano " y se aplica lo siguiente: " plano = pd.DataFrame({‘RM’:X1.ravel(), ‘INDUS’:X2.ravel()}) " + se esta defininedo como un Data Frame. + Que a su vez tiene como primera variable el promedio de las casas (RM). + Notese que despues de ' RM ' se utliza " : " el cual es para darle paso a la definicion que es ," X1. ravel() ". +" X1.ravel ()" , el cual a su vez esta poniendo (o invocando el arreglo de numpy que se hizo anteriormente), haciendolo mas sencillo y mejor de graficar. +Por ultimo, Luis agrega solo la siguiente variable que es " ' INDUS ' "y desues se usan dos ( "." ) puntos para deifinir que tiene " X2.ravel () " +Notese que se esta usando llaves ( " { } " )en donde estan las variables. ...interesante 🤔

    σ Una vez definido el plano con el que vamos a trabajar. 1. " pred = slr.predict(plano).reshape(X1.shape)" +Se crea una variable, la cual basicamente se le dice a la prediccion que tenga la misa forma de x1 y que todas las variables tengan las mismas caracteristicas. ( Asi se vuelva mas facil de entender para que maplotlib cree el grafico en 3era dimension ).

    2.pred = sc_y.inverse_transform(pred) +Pondresmos la inversa para que muestre los resultados en comparacion con los precios. + Luis hace nota de que se esta utilizando " sc_y " debido a que se esta usando codigo de anteriores ejercicios. Mas que en casos mas como ahora estamos usando 3 variables, esta bien podria llamarse " sc_z ". 3. Ahora cuando ya tienes la grafica pero ahora sigue definirla como fig = plt.figure() 4. A lo que Luis de inmediatamente despues explica que un axis sobre esta figura de tal manera de que sepa que es una figura en 3 dimensiones. A lo que se usa.

    " ax = fig.gca (projection='3d') " +Lo que se le esta diciendo a Matplotlib, es que tiene que hace una grafica en 3 dimensiones. 7. Lo siguiente es crear la superficie, la malla que se va a usar. Para ello ya se tiene la funcion apropiara, la cual es: " ax.plot_surface (X1,X2,pred, alpha=0.4) " +Diciendo asi que basicamente se va hacer una superficie con la variable" x1", "x2" y la variable " predi " (o prediccion, ya establecida anteriormente). +Asi mismo, agregando al final (y antes de cerrar parentesis) , la cacteristica " alpha = 0.4 ". Lo cual agrega solo un valor de transparencia a la figura, lo que permitira que sea mas legible. ax.plot.dca (projection = '3d') " 8.Ya con esto definido lo ultimo que se tiene que hacer es invocar la version scatter de las variables que ya definiste. Como se muestra a continuacion : " ax.scatter3D( df ['RM'], df ['INDUS'], df ['MEDV'], color = 'R', marker = '.' ) " ---------------->Pasaron muchas cosas. + notese que ax. scatter, ya no es "ax.plotscatter" sino "ax.scatter3D" y esto por que sencillamente ahora estamos usando una grafica 3D y asi que tamb se tomen en cuentan las 3 variables que lo crean. + Y que al final las unicas cosas a destacar tambien, son el que se le pide que el color a usar sea Rojo ( 'R' ) y tamb un marcador que tenga forma de un punto ( '.' ). 9.Lo siguiente que se hizo fue cambiar el punto de vista desde el cual se mostraba la grafica 3D. Para cambiarla se escribio la linea: "ax.view_init (elev = 10, azim =5) + Asiendo asi el que el modelo se vea desde una perspectiva mas adecuada. y se aprecien mejor los detalles del mismo. 10. Por ultimo se escribe "plt.show" Para mostrar el resultado.

    Ángel Samuel Suesca Ríos

    Ángel Samuel Suesca Ríos

    student•
    hace 3 años

    En economîa y econometría esta es una de las cosas mas fundamentales. La regresión lineal permite que podamos estudiar bajo el supuesto de ceteris paribus.

    Juan Pablo Ocampo

    Juan Pablo Ocampo

    student•
    hace un año

    Si te sale el error: TypeError: gca() got an unexpected keyword argument 'projection' cambila la linea de codigo :

    ax = fig.gca(projection='3d')

    por

    ax = fig.add_subplot(111, projection='3d')

      Antonio Demarco Bonino

      Antonio Demarco Bonino

      student•
      hace un año

      Brillante. Muchas gracias por tu aporte a la comunidad.

    Alfonso Andres Zapata Guzman

    Alfonso Andres Zapata Guzman

    student•
    hace 3 años

    Realice el escalamiento de nuestras variables y luego grafique. Para como se indico en el ejercicio pasado, se ajustara mejor nuestro modelo. Pero esto me genero una duda, ya que aqui como usamos solo 3 variables para graficar, un scatter 3d nos da las dimensiones visualmente, pero y si en algun caso requirieramos usar 3 variables para predecir otra? tendriamos 4 dimensiones, como lo graficariamos para verlo visualmente? Tengo la nocion de que entraria en juego el PCA para tomar las 3 dimensiones que capturen mejor nuestra varianza y asi graficar? o estos conceptos no se mezclan?

    import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import * import numpy as np x1_range = np.arange(X_std[:,0].min(),X_std[:,0].max()) x2_range = np.arange(X_std[:,1].min(),X_std[:,1].max()) X1, X2 = np.meshgrid(x1_range, x2_range) plano = pd.DataFrame({'RM':X1.ravel(), 'INDUS':X2.ravel()}) plano pred = slr.predict(plano).reshape(X1.shape) import plotly.graph_objects as go import plotly.express as px fig = go.Figure(data=[go.Surface(x=X1, y=pred, z=X2, opacity=0.5)]) fig1 = px.scatter_3d(x=X_std[:,0], y=y_std[:,0], z=X_std[:,1], color_discrete_sequence=['#FA0087'], opacity=0.8) fig1.update_traces(marker=dict(size=5)) fig.add_traces( data=fig1.data ) fig.update_layout(title='Ejercicio', scene_camera_eye=dict(x=1.87, y=0.88, z=-0.64), width=700, height=700, margin=dict(l=65, r=50, b=65, t=90)) fig.show()
    newplot (21).png
    Hugo Montoya Diaz

    Hugo Montoya Diaz

    student•
    hace 4 años

    🤔

    1_r3aOsJoXHX7uC2nxn2lygQ.png

    Wilmer Fernando Sanabria

    Wilmer Fernando Sanabria

    student•
    hace 2 meses

    Muchas gracias por ir explicando el porque del codigo que se pone alli, me ha costado un monton entender machine learning y hasta que por fin mi mente esta absorbiendo todo. Mil gracias.

    jhon Robert Matamoros

    jhon Robert Matamoros

    student•
    hace 3 años

    Hola tengo el siguiente error: UserWarning: X has feature names, but LinearRegression was fitted without feature names warnings.warn(, alguien me puede ayudar?

      Yonatan Efraín Jara Boza

      Yonatan Efraín Jara Boza

      student•
      hace 3 años

      Si le haces una captura con el código, podrá ser más sencillo ayudarte

    Antonio Demarco Bonino

    Antonio Demarco Bonino

    student•
    hace un año

    Le hice un par de retoques al código para que quede más vistoso el scatter3D:

    from mpl_toolkits.mplot3d import * x_01_range = np.arange(df['RM'].min(), df['RM'].max(), 1) x_02_range = np.arange(df['INDUS'].min(), df['INDUS'].max()) X_01, X_02 = np.meshgrid(x_01_range, x_02_range) plane = pd.DataFrame({'RM': X_01.ravel(), 'INDUS': X_02.ravel()}) pred = slr.predict(plane).reshape(X_01.shape) pred = sc_y.inverse_transform(pred) fig = plt.figure(figsize=(15, 10)) ax = fig.add_subplot(111, projection='3d') ax.scatter3D(df['RM'], df['INDUS'], df['MEDV'], color='blue') ax.plot_surface(X_01, X_02, pred, color='red', alpha=0.4) ax.view_init(10, 15 ) ax.set_xlabel('RM') ax.set_ylabel('INDUS') ax.set_zlabel('MEDV') plt.show()
    Jhon Freddy Tavera Blandon

    Jhon Freddy Tavera Blandon

    student•
    hace 2 años

    ##Plotly

    Este código utiliza la biblioteca Plotly para crear una figura 3D con una superficie basada en las predicciones del modelo y puntos dispersos representando los datos reales. Puedes personalizar la apariencia de la gráfica según tus preferencias modificando los parámetros en el código.

    Captura de pantalla 2023-06-17 104803.png
      jabes nestor frias martinez

      jabes nestor frias martinez

      student•
      hace 2 años

      te quedo bien bonito

    Mario Alexander Vargas Celis

    Mario Alexander Vargas Celis

    student•
    hace 4 meses

    📘 Regresión Lineal Multivariable

    La regresión lineal multivariable (o regresión lineal múltiple) es una extensión de la regresión lineal simple. En lugar de tener una sola variable independiente (input), se tienen dos o más variables independientes para predecir una variable dependiente.

    🧮 Forma general del modelo

    y=β0+β1x1+β2x2+⋯+βnxn+εy = \beta_0 + \beta_1x_1 + \beta_2x_2 + \dots + \beta_nx_n + \varepsilon

    • yy: variable objetivo (dependiente)
    • x1,x2,...,xnx_1, x_2, ..., x_n: variables predictoras (independientes)
    • β0\beta_0: intercepto (bias)
    • β1,...,βn\beta_1, ..., \beta_n: coeficientes de cada variable
    • ε\varepsilon: error o ruido aleatorio

    ✅ ¿Cuándo usar regresión lineal multivariable?

    • Cuando tienes más de una característica (feature) que afecta la variable que deseas predecir.
    • Ejemplo: predecir el precio de una casa usando el número de habitaciones, superficie, ubicación, etc.

    🛠️ ¿Cómo se entrena con scikit-learn?

    from sklearn.linear_model import LinearRegression from sklearn.model_selection import train_test_split import pandas as pd

    # Supón que df tiene columnas: 'habitaciones', 'metros_cuadrados', 'precio' X = df[['habitaciones', 'metros_cuadrados']] # variables independientes y = df['precio'] # variable dependiente

    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

    modelo = LinearRegression() modelo.fit(X_train, y_train)

    print(modelo.coef_) # Coeficientes de las variables print(modelo.intercept_) # Intercepto

    📈 Evaluación

    Se puede evaluar usando:

    • R2R^2: coeficiente de determinación
    • MSE: error cuadrático medio

    from sklearn.metrics import r2_score, mean_squared_error

    y_pred = modelo.predict(X_test) print("R2:", r2_score(y_test, y_pred)) print("MSE:", mean_squared_error(y_test, y_pred))

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