Este codigo da un error que no consigo solucionarlo
Publicado por Osvaldo (1 intervención) el 28/02/2023 23:09:56
import numpy as np
import scipy as sc
import matplotlib.pyplot as plt
from sklearn.datasets import make_circles
# CREAR DATASET: Se crean dos circulos concéntricos
n=500
p=2
X,Y=make_circles(n_samples=n,factor=0.5,noise=0.05)
plt.scatter(X[Y==0,0],X[Y==0,1],c='skyblue')
plt.scatter(X[Y==1,0],X[Y==1,1],c='salmon')
plt.axis('equal')
plt.show()
# CLASE DE LA CAPA DE LA RED
class neural_layer():
# n_conn (numero de conexiones),n_neur(número de neuronas),act_f(func de activación)
def __init__(self,n_conn,n_neur,act_f):
self.act_f=act_f
self.b=np.random(1,n_neur)*2-1
self.W=np.random.rand(n_conn,n_neur)*2-1
# FUNCIONES DE ACTIVACIÓN
#sigm= lambda x:1/(1+np.e**(-x)) # sigmoide
sigm=(lambda x:1/(1+np.e**(-x)),
lambda x:x*(1-x))
relu=lambda x:np.maximum(0,x) # max entre 0 y x
_x=np.linspace(-5,5,100)
plt.plot(_x,sigm[0](_x))
l0= neural_layer(p,4,sigm)
l1= neural_layer(4,8,sigm)
def create_nn(topology,act_f):
nn=[]
for l,layer in enumerate(topology[:-1]):
nn.append(neural_layer(topology[l],topology[l+1],act_f))
return nn
topology=[p,4,8,16,8,4,1]
create_nn(topology,sigm)
import scipy as sc
import matplotlib.pyplot as plt
from sklearn.datasets import make_circles
# CREAR DATASET: Se crean dos circulos concéntricos
n=500
p=2
X,Y=make_circles(n_samples=n,factor=0.5,noise=0.05)
plt.scatter(X[Y==0,0],X[Y==0,1],c='skyblue')
plt.scatter(X[Y==1,0],X[Y==1,1],c='salmon')
plt.axis('equal')
plt.show()
# CLASE DE LA CAPA DE LA RED
class neural_layer():
# n_conn (numero de conexiones),n_neur(número de neuronas),act_f(func de activación)
def __init__(self,n_conn,n_neur,act_f):
self.act_f=act_f
self.b=np.random(1,n_neur)*2-1
self.W=np.random.rand(n_conn,n_neur)*2-1
# FUNCIONES DE ACTIVACIÓN
#sigm= lambda x:1/(1+np.e**(-x)) # sigmoide
sigm=(lambda x:1/(1+np.e**(-x)),
lambda x:x*(1-x))
relu=lambda x:np.maximum(0,x) # max entre 0 y x
_x=np.linspace(-5,5,100)
plt.plot(_x,sigm[0](_x))
l0= neural_layer(p,4,sigm)
l1= neural_layer(4,8,sigm)
def create_nn(topology,act_f):
nn=[]
for l,layer in enumerate(topology[:-1]):
nn.append(neural_layer(topology[l],topology[l+1],act_f))
return nn
topology=[p,4,8,16,8,4,1]
create_nn(topology,sigm)
Valora esta pregunta


0