第一次用python写线性回归

给自己留个记录
import numpy as np
import matplotlib.pyplot as plt


x = np.loadtxt("x.txt")
y = np.loadtxt("y.txt")

x0 = x

plt.scatter(x,y, c='r', s=20)

print np.size(x)
x = np.reshape(x,(50,1))

#扩展矩阵
x = np.hstack((np.ones((np.size(x),1)),x))

#最小二乘解
w = ((np.linalg.inv((x.T).dot(x))).dot(x.T)).dot(y)

print np.min(x)
x1 = np.linspace(np.min(x0)-1,np.max(x0)+1,10)
plt.plot(x1,w[1]*x1+w[0],c = 'b')

plt.show()

你可能感兴趣的:(第一次用python写线性回归)