简单线性回归代码实现

线性回归代码实现

import numpy as np
 
def fitSLR(x,y):
    n = len(x)
    dinominator = 0
    numerator = 0
    for i in range(0, n):
        numerator += (x[i] - np.mean(x))*(y[i] - np.mean(y))
        dinominator += (x[i] - np.mean(x))**2
 
    print("numerator", numerator)
    print("dinominator", dinominator)
    b1 = numerator/float(dinominator)
    b0 = np.mean(y)/float(np.mean(x))
 
    return b0, b1
 
def predict(x, b0, b1):
    return b0 + x*b1
 
x = [1, 3, 2, 1, 3]
y = [14, 24, 18, 17, 27]
 
b0, b1 = fitSLR(x, y)
 
print("intercept:", b0 , "  slope:", b1)
 
x_test = 6
 
y_test = predict(6, b0, b1)
 
print("y_test: ", y_test)

运行的结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hyh342284181

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值