微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

岭回归梯度下降Python中的错误

如何解决岭回归梯度下降Python中的错误

我目前正在尝试使用Gradient Descent为Ridge回归创建代码

我的代码如下:

def gd_ridge(X,Y,beta,iter,learning_rate,lambda):
    m = X.shape[0]
    
    past_costs = []
    past_betas = [beta]
    
    for i in range(iter):
        pred = np.dot(X,beta)
        err = pred - Y
        cost = cost_reg(Yhat1,train_data_Y,lambda)
        past_costs.append(cost)
        beta = beta - learning_rate * 1/m * np.dot(f(X,beta)-Y,X) + lambda/m * beta
        past_betas.append(beta)

其中l =正则化超参数。

但是我总是在我的 beta 中出现错误

不能将序列乘以'float'类型的非整数

有人可以帮我吗?我尝试了不同的方程式,但最终得到了相同的错误

解决方法

很有可能您没有传递$sum = 0; for ($days_backwards = 7; $days_backwards >= 0; $days_backwards--) { $users = Users::whereDate('created_at',today()->subDays($days_backwards))->count(); $sum = $sum + $users; $user[] = $sum; } 数组,而是传递了一个列表。传入numpy数组或在函数中执行numpy

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。