#!/usr/bin/env python # coding: utf-8 # In[1]: from sympy import * init_printing() # In[2]: X = Matrix([[1, 10], [1, 8], [1, 13], [1, 9], [1, 11], [1, 14], [1, 6], [1, 4], [1, 12], [1, 7], [1, 5]]) y = Matrix([[8.04], [6.95], [7.58], [8.81], [8.33], [9.96], [7.24], [4.26], [10.84], [4.82], [5.68]]) # In[3]: X # In[4]: y # In[5]: v = Inverse(X.T * X) * X.T * y # In[6]: v # In[7]: #v = (b, m), or (intercept, slope) #So, the best fit line is given by (approximately) y = 0.5x + 3