#https://gist.github.com/cartr/6513044 # Define the data # A linear regression line has an equation of the form Y = a + bX, where X is the explanatory variable and Y is the dependent variable. The slope of the line is b, and a is the intercept (the value of y when x = 0). data = set() count = int(input("Enter the number of data points: ")) for i in range(count): x=float(input("X"+str(i+1)+": ")) y=float(input("Y"+str(i+1)+": ")) data.add((x,y)) # Find the average x and y avgx = 0.0 avgy = 0.0 for i in data: avgx += i[0]/len(data) avgy += i[1]/len(data) # Find the sums totalxx = 0 totalxy = 0 for i in data: totalxx += (i[0]-avgx)**2 totalxy += (i[0]-avgx)*(i[1]-avgy) # Slope/intercept form m = totalxy/totalxx b = avgy-m*avgx print("Best fit line:") print("y = "+str(m)+"x + "+str(b)) x = float(input("Enter a value to calculate: ")) print("y = "+str(m*x+b))