首页 > 解决方案 > RuntimeWarning:Numpy 遇到溢出

问题描述

我得到 RuntimeWarning: 在执行线性回归算法时遇到 Numpy 函数溢出。这可以通过规范化解决,但我不想规范化事情。我尝试了 Dtype 方法,但我不知道该放在哪里。

RuntimeWarning: overflow encountered in power
  inner = np.power(((X * theta.T) - y), 2)  
RuntimeWarning: overflow encountered in reduce
  return umr_sum(a, axis, dtype, out, keepdims)
RuntimeWarning: invalid value encountered in double_scalars
  temp[0,j] = theta[0,j] - ((alpha / len(X)) * np.sum(term)) 

你能告诉我我可以改变什么来避免错误吗?

def computeCost(X, y, theta):    
    inner = np.power(((X * theta.T) - y), 2)  
    return np.sum(inner) / (2 * len(X)) 

for j in range(parameters):

            term = np.multiply(error, X[:,j]) 
            temp[0,j] = theta[0,j] - ((alpha / len(X)) * np.sum(term)) 

添加了数据

150,100,0.73
159,200,1.39
170,350,2.03
175,400,1.45
179,500,1.82
180,180,1.32
189,159,0.83
199,110,0.53
199,400,1.95
199,230,1.27
235,120,0.49
239,340,1.03
239,360,1.24
249,145,0.55
249,400,1.3

标签: pythonnumpyoverflowlinear-regression

解决方案


推荐阅读