gpt4 book ai didi

python - 我在梯度下降中遇到问题,它给我的 thetas 没有

转载 作者:行者123 更新时间:2023-11-30 09:15:33 25 4
gpt4 key购买 nike

我刚刚结束了对 python 中的回归、numpy 和 pandas 的学习,当我用数据集尝试使用梯度下降的代码时,它给出了正确的 thetas,而使用另一个数据集时,它给出的 thetas 为无(我用 Normal 尝试过)方程有效,但我想知道所有的方法)这是link无效的数据集。

import numpy as np
import pandas as pd
def reg1():
data=pd.read_csv('D:\\New folder (4)\\02.txt',header=None,names=['x','y'])
data=data.dropna()
data.insert(0,'x0',1)
cols=data.shape[1]
x=np.matrix(data.iloc[:,0:cols-1].values)
y=np.matrix(data.iloc[:,cols-1:].values)
theta=np.matrix([0,0])
def computecost(x,y,theta):
z= np.power((x*theta.T-y),2)
return (sum(z)/(2*len(x)))[0,0]
#this is the gradient descent fun
def gd(x,y,theta,alpha,iters):
temp=np.zeros(theta.shape)
par=int(theta.shape[1])
for i in range(iters):
error=((x*theta.T)-y)
for j in range(par):
term=np.multiply(error,x[:,j])
temp[0,j]=theta[0,j]-((alpha/len(x))*np.sum(term))
theta=temp
return(theta)
alpha=0.01
iters=1000
return gd(x,y,theta,alpha,iters)
theta=reg1()
print(theta)

我希望输出类似于 [[-0.10726546 1.00065638]]但它给了我 [[nan nan]]

最佳答案

对于有同样问题的人

alpha 的值应该是 0.0001 而不是 0.01

但这在我的数据集中

在另一种情况下,您应该更改 alpha 的值,直到获得最佳的计算成本(错误成本)。

关于python - 我在梯度下降中遇到问题,它给我的 thetas 没有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56822153/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com