【发布时间】:2021-05-10 16:41:00
【问题描述】:
我已经编写了梯度下降函数并使用 pandas 来读取 csv 文件。但是当我使用 pandas 读取的数据时,该函数返回“nan”。我不明白为什么。
提前致谢。
def gradient_descent(X, Y, w, b, alpha):
dl_dw = 0.0
dl_db = 0.0
N = len(X)
for i in range(N):
dl_dw += -1*float(X[i]) * (float(Y[i]) - (w*float(X[i]) + b))
dl_db += -1*(float(Y[i]) - (float(w*X[i]) + b))
w = w - (1/float(N)) * dl_dw * alpha
b = b - (1/float(N)) * dl_db * alpha
return w, b
import pandas as pd
data = pd.read_csv("train.csv")
print(data.head())
X = data.iloc[:, 0].values.reshape(-1, 1)
Y = data.iloc[:, 1].values.reshape(-1, 1)
print(gradient_descent(X, Y, 0.0, 0.0, 100))
【问题讨论】:
-
如果您能确定哪些训练数据会产生 nan 结果并将这些数据显示给我们,那肯定会有所帮助 :)
标签: python function machine-learning nan