暴力穷举拟合曲线
import numpy as np
import matplotlib.pyplot as plt
#随机生成X Y
x = np.array([1,2,3,4,5])
y = np.array([1,3,2,3,5])
plt.scatter(x,y)
plt.grid()
#plt.show()
# MAE :Mean Absolute Error
# 平均绝对误差是绝对误差的平均值
# 平均绝对误差能更好地反映预测值误差的实际情况.
def MAE_loss(y , y_hat):
return np.mean(np.abs(y_hat - y))
# MSE: Mean Squared Error
# 均方误差是指参数估计值与参数真值之差平方的期望值;
# MSE可以评价数据的变化程度,MSE的值越小,说明预测模型描述实验数据具有更好的精确度。
def MSE_loss(y , y_hat):
return np.mean(np.square(y_hat - y))
# y_hat = np.array([-2,-1,-1,3,5])
# print(MAE_loss(y, y_hat))
#拟合直线
def linear(x , k , b):
y = k*x + b
return y