我正在收到TypeError:无法解包不可迭代的NoneType对象[关闭]

问题描述 投票:-1回答:1
def error(m,x,c,t):
N=x.size
e=sum(((m*x+c)-t)**2)
return e* 1/(2*N)

xtrain,xtest,ytrain,ytest = train_test_split(X,Y,test_size = 0.2)

def update(m,x,c,t,learning_rate):
grad_m=sum(2*((m*x+c)-t)*x)
grad_c=sum(2*((m*x+c)-t))
m=m-grad_m * learning_rate
c=c-grad_c * learning_rate
return m,c

init_m=0.9

init_c = 0

learning_rate = 0.001

iterations = 100

error_threshold = 0.001

m,c,error_values,mc_values =梯度下降(init_m,init_c,xtrain,ytrain,learning_rate,iterations,error_threshold)

TypeError追溯(最近一次通话)在

 5
 6 error_threshold=0.001  

----> 7 m,c,error_values,mc_values =梯度下降(init_m,init_c,xtrain,ytrain,learning_rate,iterations,error_threshold)

TypeError:无法解包不可迭代的NoneType对象

python machine-learning
1个回答
0
投票

您的gradient_descent函数返回None,而您正尝试从中解压缩一个值的元组。您将需要修复调用代码以其他方式处理None值,或修复gradient_descent的实现以始终返回适当的元组。

© www.soinside.com 2019 - 2024. All rights reserved.