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)