Предупреждение о времени выполнения: разделите на ноль, обнаруженное в журнале после удаления cwd из sys.path. — Логистическая Регрессия

#python #logistic-regression

#питон #логистическая регрессия

Вопрос:

 def sigmoid(z):  return 1/(1 np.exp(-z))  def CostFunction(params, X, y, Lam): m=len(y) h = sigmoid(X @ params) error = (-y * np.log(h)) - ((1-y)*np.log(1-h)) cost = 1/m * sum(error) regCost= cost   Lam/(2*m) * sum(params[1:]**2) Q = X.transpose().reshape(9,len(X)) #error 방지 # compute gradient j_0 = 1/m * (Q @ (h - y))[0] j_1 = 1/m * (Q @ (h - y))[1:]   (Lam/m)* params[1:] grad = np.vstack((j_0[:, np.newaxis], j_1))  return regCost[0], grad   def Gradient_Descent(X, y, params, alpha, n_iters, Lam): m=len(y) J_history =[]  for i in range(n_iters):  cost, grad = CostFunction(params, X, y, Lam)  params = params - (alpha * grad)  J_history.append(cost)  return J_history, params   

это мой код для функции затрат логистической регрессии

[[ 1. -0.25848318 -0.08852389 ... 0.24936456 0.01638514 -0.04852235] это одна строка нормализованного train_data_X, я думаю, что с данными нет проблем.( Я успешно обучил модель линейной регрессии с помощью этих данных), но у меня возникла ошибка «деление на ноль, обнаруженная в журнале после удаления cwd из sys.path».

 params = np.array([1,2,-2,-3,-4,1,2,0,-1]).reshape(9,1)  

это мой первоначальный параметр

 (J_history, params) = Gradient_Descent(train_data_X, train_data_y, params, 0.01, 500, 3)  

это мой основной код

стоимость расходится до inf после запуска этого кода я не могу понять причину, по которой градиент не работает

Комментарии:

1. Я не уверен, как кто-то может помочь без train_data_X и. train_data_y