ultima modifica di oggi, le formule del costo, del gradiente dovrebbero essere giuste

This commit is contained in:
2025-01-23 21:24:30 +01:00
parent 9fd0fcb2fa
commit b87b4abd37
5 changed files with 107 additions and 98 deletions

View File

@@ -39,21 +39,25 @@ def disegna_grafico_singolo(lista_rette):
plt.xlabel('X1')
plt.ylabel('X2')
# linee in coordinate 0,0
plt.axhline(0, color='black', linewidth=0.5, linestyle='--')
plt.axvline(0, color='black', linewidth=0.5, linestyle='--')
#AND Logico
plt.plot(0, 0, 'o', color='red', markeredgewidth=10)
plt.plot(0, 1, 'o', color='red',markeredgewidth=10)
plt.plot(1, 0, 'o', color='red',markeredgewidth=10)
plt.plot(1, 1, 'o', color='green',markeredgewidth=10)
plt.plot(0, 0, 'o', color='red')
plt.plot(0, 1, 'o', color='red')
plt.plot(1, 0, 'o', color='red')
plt.plot(1, 1, 'o', color='green')
plt.xlim(0, 2)
plt.ylim(0, 2)
plt.xlim(-2, 2)
plt.ylim(-2, 2)
for discriminante in lista_rette:
for retta in lista_rette:
# Calcola i valori di y usando l'equazione della retta
y = discriminante[0] * x + discriminante[1]
discriminante, = plt.plot(x, y, label=f'y = mx + q', color='blue') # RETTA
y = retta[0] * x + retta[1]
retta, = plt.plot(x, y, label=f'y = mx + q', color='blue') # RETTA
plt.pause(0.0001)
discriminante.remove()
retta.remove()
plt.show()
@@ -68,25 +72,29 @@ def disegna_grafico_multi(lista_rette):
plt.xlabel('X1')
plt.ylabel('X2')
# linee in coordinate 0,0
plt.axhline(0, color='black', linewidth=0.5, linestyle='--')
plt.axvline(0, color='black', linewidth=0.5, linestyle='--')
#XOR Logico
plt.plot(0, 0, 'o', color='red', markeredgewidth=5)
plt.plot(0, 1, 'o', color='green',markeredgewidth=5)
plt.plot(1, 0, 'o', color='green',markeredgewidth=5)
plt.plot(1, 1, 'o', color='red',markeredgewidth=5)
plt.plot(0, 0, 'o', color='red')
plt.plot(0, 1, 'o', color='green')
plt.plot(1, 0, 'o', color='green')
plt.plot(1, 1, 'o', color='red')
plt.xlim(0, 2)
plt.ylim(0, 2)
plt.xlim(-2, 2)
plt.ylim(-2, 2)
discriminanti_p1 = lista_rette["P1"]
discriminanti_p2 = lista_rette["P2"]
discriminanti_pout = lista_rette["POUT"]
rette_p1 = lista_rette["P1"]
rette_p2 = lista_rette["P2"]
rette_pout = lista_rette["POUT"]
size_vettori = len(discriminanti_pout)
size_vettori = len(rette_pout)
for i in range(0, size_vettori):
plot_uno, = plt.plot(x, discriminanti_p1[i][0] * x + discriminanti_p1[i][1], label=f'percettrone 1', color='green') # RETTA
plot_due, = plt.plot(x, discriminanti_p2[i][0] * x + discriminanti_p2[i][1], label=f'percettrone 2', color='red') # RETTA
plot_out, = plt.plot(x, discriminanti_pout[i][0] * x + discriminanti_pout[i][1], label=f'percettrone out', color='blue') # RETTA
plot_uno, = plt.plot(x, rette_p1[i][0] * x + rette_p1[i][1], label='p1', color='orange') # RETTA
plot_due, = plt.plot(x, rette_p2[i][0] * x + rette_p2[i][1], label='p2', color='red') # RETTA
plot_out, = plt.plot(x, rette_pout[i][0] * x + rette_pout[i][1], label='pout', color='blue') # RETTA
plt.pause(0.0001)
plot_uno.remove()