问题描述
我目前正在尝试使用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
。