====== Régression linéaire ====== Entrée de couples, calcul et affichage de la [[http://fr.wikipedia.org/wiki/M%C3%A9thode_des_moindres_carr%C3%A9s#R.C3.A9gression_lin.C3.A9aire|droite de moindres carrés]] #!/usr/bin/env python # -*- coding: utf-8 -*- # version un peu aménagée du travail de BD et EH, ba2 chimie 2012-2013 import matplotlib.pyplot as plt import pylab import numpy def droite_moindre_carre(x): return a * x + b tabx = [] taby = [] # Avoir le jeu de data while True: x = raw_input("Enter X ") y = raw_input("Enter Y ") tabx.append(float(x)) taby.append(float(y)) another = raw_input("Continue ? y/n \n") if another != "y": break # le remplir tant que l'utilisateur n'a pas mis autre chose que y comme réponse temp_min = 0.1 temp_max = 20 #axes horizontaux a,b = pylab.polyfit(tabx, taby, 1) # calcul du moindre carre x_moindre_carre = numpy.linspace(min(tabx), max(tabx), 100) #linspace(a,b,n) => fournit une liste de valeurs de a à b, en n étapes y_moindre_carre = map(droite_moindre_carre, x_moindre_carre) # calcul des valeurs de la courbe de moidnres carrés # map => Utilise une fonction sur chaque element d'une liste plt.axis([temp_min, temp_max,0,100]) plt.plot(tabx, taby, 'or') # o => point, r => red plt.plot(x_moindre_carre, y_moindre_carre, 'b') # b = blue, pas de o => line plt.show() # trace le graphique