Почему я получаю предупреждение RunTime при вычислении функции стоимости для логистической регрессии?Python

Программы на Python
Ответить
Anonymous
 Почему я получаю предупреждение RunTime при вычислении функции стоимости для логистической регрессии?

Сообщение Anonymous »


:8: RuntimeWarning: в журнале обнаружено деление на ноль стоимость=(-y*np.log(g_i) - (1-y)*np.log(1-g_i)) :8: RuntimeWarning: в double_scalars обнаружено недопустимое значение стоимость=(-y*np.log(g_i) - (1-y)*np.log(1-g_i)) Нэн Это результат, который я получаю при вызове следующей функции в Jupyter Notebook.

def линейный(x,Q): z=np.dot(x,Q) вернуть z защита сигмоиды (z): g_x=1/(1+np.exp(-z)) вернуть g_x защита Costf(x,y,Q): м = y.форма[0] стоимость_сумма = 0 для меня в диапазоне (м): z_i = линейный (x,Q) g_i = сигмоид (z_i) стоимость=(-y*np.log(g_i) - (1-y)*np.log(1-g_i)) Cost_sum+=стоимость total_cost=стоимость_сумма/м вернуть общую_стоимость стоимость=costf(x,y_pred,Q) расходы Я ожидал получить значение функции стоимости. Я не думаю, что с математической формулой что-то не так.

Используемые формулы
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»