Почему я получаю предупреждение RunTime при вычислении функции стоимости для логистической регрессии? ⇐ Python
Почему я получаю предупреждение RunTime при вычислении функции стоимости для логистической регрессии?
: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) расходы Я ожидал получить значение функции стоимости. Я не думаю, что с математической формулой что-то не так.
Используемые формулы
: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) расходы Я ожидал получить значение функции стоимости. Я не думаю, что с математической формулой что-то не так.
Используемые формулы
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение