python线性回归代码_线性回归——Python代码实现

Python

Python开发

Python语言

线性回归——Python代码实现

CgpOIF5EAWWAQ0y_AAcB-fDz9P0878.png

import numpy as np

def computer_error_for_give_point(w, b, points): # 计算出 观测值与计算值 之间的误差, 并累加,最后返回 平均误差

loss = 0

for i in range(len(points)):

x = points[i, 0]

y = points[i, 1]

loss += ((w * x + b ) - y) ** 2

return loss/float(len(points))

# 下面函数只求导一次更新 w 和 b, 后面可用迭代方法多次更新 w, b

def get_gradient(w_current, b_current, points, LearningRate):

N = len(points)

w_gradient = 0

b_gradient = 0

for i in range(N):

x = points[i, 0]

y = points[i, 1]

w_gradient += 2/N * ((w_currentx+b_current)-y)x

b_gradient += 2/N * ((w_currentx+b_current)-y)

new_w = w_current - LearningRate w_gradient

new_b = b_current - LearningRate * b_gradient

return new_w,new_b # 以列表的形式返回

def gradeient_descent_run(w, b, points, learn_rate, iteration):

points = np.array(points)

LearnRate = learn_rate

for i in range(iteration):

w, b = get_gradient(w, b, points, LearnRate)

return w, b

if name == "main":

initialize_w = 0

initialize_b = 0

points = [[10, 10], [9, 9], [8, 8], [7, 7], [6, 6], [5, 5], [4, 4], [3, 3], [2, 2], [1, 1]]

w, b = gradeient_descent_run(initialize_w, initialize_b, points, 0.005, 100)

print(w)

print(b)

内容来源于网络,如有侵权请联系客服删除

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值