数据挖掘3、4课时作业+笔记

作业

在这里插入图片描述
2.


# 计算损失
def compute_error(b, m, points):
    error = 0

    for l in points:
        x = l[0]
        y = l[1]
        error += (y - (m * x + b)) ** 2

    return error / float(len(points))

# 每一步的梯度改变
def step_gradient(b, m, points):
    b_gradient = m_gradient = 0
    N = float(len(points))

    for l in points:
        x = l[0]
        y = l[1]
        b_gradient += -(2/N) * (y - ((m * x) + b))
        m_gradient += -(2/N) * (x * (y - ((m * x) + b)))

    return [(b - (learning_rate * b_gradient)), (m - (learning_rate * m_gradient))];

# 梯度下降算法
def gradient_descent_runner(points):
    global lines
    b = m = 0

    for i in range(num_iterations):
        b, m = step_gradient(b, m, array(points))
        lines = append(lines, [[b, m]], axis=0)

    return [b, m]

笔记

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值