机器学习----简单线性回归

基础知识:







应用:

    

          




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)
    

参考资料:麦子学院:深度学习基础介绍:机器学习(彭亮)

猜你喜欢

转载自blog.csdn.net/zhourunan123/article/details/80193199
今日推荐