1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
X = [...] # la liste de Xi
Y = [...] # la liste de Yi
def erreur(X, Y, a, e):
"""
retourne le carre de l'erreur d
"""
return sum((f(xi, yi, a, e)**2 for xi, yi in zip(X, Y))
# recherche de la plus petite erreur
a_best, e_best = None, None # les valeur de a et e qui minimisent l'erreur
er_best = oo # la plus petite erreur rencontree qu'on initialise au dela de toute erreur possible, avec +infini on est tranquille...
for a in range(amin, amax, pas):
for e in range(emin, emax, pas):
er = erreur(X, Y, a, e)
if er < er_best:
er_best = er
a_best, e_best = a, e
print("a:%f, e:%f" % (a_best, b_best)) |
Partager