Predict_proba () na docelowym ciągłym stanie binarnym

Sep 19 2020

Buduję model równania grawitacji Newtona. Otrzymuje dwie masy i promień i wyprowadza to, co generuje ze wzoru.

$F = G \frac{m1 · m2}{r^2}$

Chcę teraz przekształcić go w binarny model klasyfikacji, w tym celu wybieram próg. Jeśli siła jest większa, to 1, jeśli jest poniżej 0.

Pytanie

Jak mogę utworzyć funkcję Predict_proba biorąc pod uwagę powyższy problem?

Odpowiedzi

1 10xAI Sep 19 2020 at 18:01

Możesz użyć funkcji Sigmoid na wartościach Siły ( skalowane do [0-10] na podstawie wartości maksymalnej )
. Po przeskalowaniu wartość progowa powinna wynosić 5.

def predict_proba(y_pred):

    y_pred = y_pred*10/100000  # scaled to [0-10]
    thresold = 5

    proba = np.exp(y_pred - threshold)/(1 + np.exp(y_pred - threshold))

    return proba

predict_proba(100000), predict_proba(80000), predict_proba(50000), predict_proba(40000), predict_proba(10000), predict_proba(2000)

(0,9933, 0,9525, 0,5, 0,2689, 0,0179, 0,0081)