基础知识:
应用:
import numpy as np def SLR(x,y): #x,y是两个列表,且长度相同 n = len(x) #初始化分子 numerator = 0 #初始化分母 denominator = 0 for i in range(0,n): numerator += (x[i] - np.mean(x)) * (y[i] - np.mean(y)) denominator += (x[i] - np.mean(x)) ** 2 print(numerator) print(denominator) #b1 = numerator/float(denominator) #b0 = np.mean(y)/float(np.mean(x)) b1 = numerator/denominator b0 = np.mean(y)- b1 * np.mean(x) return (b0,b1) def predict(x,b0,b1): return (b0 + b1*x) x = [1,3,2,1,3] y = [14,24,18,17,27] b0,b1 = SLR(x,y) print(b0) print(b1) x_test = 6 y_test = predict(6,b0,b1) print(y_test)
参考资料:麦子学院:深度学习基础介绍:机器学习(彭亮)