Почему результат отличается от использования модели логистической регрессии, созданной функцией склеарна и сигмовидной кишки - PullRequest
0 голосов
/ 18 января 2019

Вот деталь:

Допустим, у меня есть модель со следующими коэффициентами и перехватом:

# Coef
w1 = 0.018056353337078567
w2 = 0.000646433629145055
w3 = 0.11595942738379618
w4 = 0.021109268199259484
w5 = 0.05204164353607967
w6 = -0.11317012710348132
w7 = -0.05215587577473489
w8 = -2.0132721508721287
intercept = -2.0132721508721287

и мой образец:

# Sample
x1 = 10
x2 = 70.05
x3 = 15
x4 = 24
x5 = 1
x6 = 2
x7 = 17
x8 = 1

Когда я использую sklearn логистическая регрессия , после загрузки модели и вызова model.predict_proba я получил

[[0.21018339 0.78981661]]

Но я помещаю эти параметры в сигмовидную функцию, я получил

0.0681390750219555

Ясно, 0,78981661! = 0,0681390750219555, но мне интересно, почему это произошло.

Вот код для сигмовидной функции:

import numpy as np

# Coef
w1 = 0.018056353337078567
w2 = 0.000646433629145055
w3 = 0.11595942738379618
w4 = 0.021109268199259484
w5 = 0.05204164353607967
w6 = -0.11317012710348132
w7 = -0.05215587577473489
w8 = -2.0132721508721287
intercept = -2.0132721508721287
# Sample
x1 = 10
x2 = 70.05
x3 = 15
x4 = 24
x5 = 1
x6 = 2
x7 = 17
x8 = 1

z = \
    w1 * x1 + \
    w2 * x2 + \
    w3 * x3 + \
    w4 * x4 + \
    w5 * x5 + \
    w6 * x6 + \
    w7 * x7 + \
    w8 * x8 + \
    + intercept


y = 1/(1+np.exp(-z))

print(y)

1 Ответ

0 голосов
/ 27 марта 2019

То же самое внутри. Я ошибся при расчете первого.

...