import numpy as np
import matplotlib.pyplot as plt
data = np.genfromtxt("data.csv",delimiter=",")
x_data = data[:,0]
y_data = data[:,1]
print(x_data.shape)
print(y_data.shape)
plt.scatter(x_data,y_data)
plt.xlabel('this is x')
plt.ylabel('this is y')
plt.title('this is a demo')
plt.show()
最小二乘法及梯度下降实现:
#learning rate
lr = 0.0001
#截距
b = 0
#斜率
k = 0
#最大迭代次数
epochs = 50
#最小二乘法
def compute_error(b,k,x_data,y_data):
totalError = 0
for i in range(0,len(x_data)):
totalError += (y_data[i]-(k*x_data[