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

时间:2020-11-09 00:27:32

标签: python regression gradient-descent

我目前正在尝试使用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'类型的非整数

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

1 个答案:

答案 0 :(得分:0)

很有可能您没有传递$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