Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Graficando nuestra función de coste

28/30
Recursos

Aportes 11

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

from matplotlib import cm
import numpy as np 
import matplotlib.pyplot as plt


def f(x,y):
    return x**2 + y**2 

if __name__=='__main__':

    fig, ax = plt.subplots(subplot_kw={"projection":"3d"})
    
    res = 100

    x = np.linspace(-4, 4, res)
    y = np.linspace(-4, 4, res)
    X, Y= np.meshgrid(x,y)

    Z = f(X,Y)

    surf = ax.plot_surface(X, Y, Z,cmap=cm.cool)
    fig.colorbar(surf)
    plt.show()

    level_map =np.linspace(np.min(Z),np.max(Z),res)
    plt.contourf(X,Y,Z,level_map, cmap=cm.cool)
    plt.colorbar()
    plt.title("Descenso del gradiente")
    plt.show()

Super cool.

Cool

fig, ax = plt.subplots(subplot_kw={"projection":"3d"})

def f(x, y):
  return x**2 + y**2

resolution = 100

x = np.linspace(-4, 4, resolution)
y = np.linspace(-4, 4, resolution)

x, y = np.meshgrid(x, y)

z = f(x, y)

# Superficie
surface = ax.plot_surface(x,y,z,cmap=cm.jet_r)

fig.colorbar(surface)

level_map = np.linspace(np.min(z), np.max(z), 100)

plt.contourf(x,y,z,level=level_map,cmap=cm.jet_r)
plt.colorbar()
plt.title("Gradient Descent")

se deberia pronunciar “levels” no “livels” que es niveles en ingles(no por nada anda llevando la ruta de ingles de platzi tambien :p)

Sé que apenas es el inicio de lo mucho que se puede lograr con Python y sus librerías en el Data Science, pero sinceramente estoy disfrutando todo el proceso.

from matplotlib import cm # Para manejar colores
import numpy as np
import matplotlib.pyplot as plt

#Espacio tridimensional
fig, ax = plt.subplots(subplot_kw={"projection":"3d"})

def f(x,y):
  return x**2 + y**2

res = 100
#Ejes
x = np.linspace(-4,4)
y = np.linspace(-4,4)
#Pares de X y Y
X,Y = np.meshgrid(x,y)

Z = f(X,Y)
#Superficies
surf = ax.plot_surface(X,Y,Z, cmap=cm.cool)

fig.colorbar(surf) #Barra de colores 

#Curvas de nivel
level_map = np.linspace(np.min(z), np.max(z), res)
plt.contourf(X, Y, Z, levels=level_map, cmap=cm.cool)
plt.colorbar()
plt.title("Descenso del gradiente")

Para los que igual que a mi les sale el error de “Unknown projection ‘3d’” error, solo anadan esta linea:

from mpl_toolkits.mplot3d import Axes3D

GRAFICAR LA SUPERFICIE:

fig, ax = plt.subplots(subplot_kw={“projection”: “3d”})

def f(x,y):
return x2 + y2;

res = 100

X = np.linspace(-4, 4, res)
Y = np.linspace(-4, 4, res)

X, Y = np.meshgrid(X, Y)

Z = f(X,Y)

Gráficar la superficie

surf = ax.plot_surface(X, Y, Z, cmap=cm.cool,
linewidth=0, antialiased=False)

fig.colorbar(surf)

DESCENSO DEL GRADIENTE

level_map = np.linspace(np.min(Z), np.max(Z),res)
plt.contourf(X, Y, Z, levels=level_map,cmap=cm.cool)
plt.colorbar()
plt.title(‘Descenso del gradiente’)

🐱‍👤👍✨

Ya falta muy poco!

from matplotlib import cm
import numpy as np 
import matplotlib.pyplot as plt

fig, ax = plt.subplots(subplot_kw={"projection": "3d"})

def f(x,y):
  return x**2 + y**2

res = 100

x = np.linspace(-4,4, res)
y = np.linspace(-4,4, res)

X,Y = np.meshgrid(x, y)

Z = f(X, Y)

surf = ax.plot_surface(X, Y, Z, cmap=cm.cool)

fig.colorbar(surf)

level_map = np.linspace(np.min(Z), np.max(Z), res)
plt.contourf(X, Y, Z, levels=level_map, cmap=cm.cool)
plt.colorbar()
plt.title("Descenso del gradiente")