[PYTHON] Essayez de dessiner une fonction logistique

Overview

J'ai essayé de dessiner l'expansion de Taylor avec sympy il y a longtemps, https://qiita.com/arc279/items/dda101b39b96c4aa94d0

L'image est facile à comprendre lorsqu'elle est visualisée, donc Cette fois, je dessinerai une fonction logistique qui apparaît dans la régression logistique.

L'explication détaillée de la régression logistique est détaillée dans ce domaine, veuillez donc consulter le graphique avec l'explication sur le site suivant. http://darden.hatenablog.com/entry/2016/08/22/212522

Je n'expliquerai pas la formule correctement ici, je ne peux pas dire w

Préparation

$ pip install matplotlib sympy     

Pensez-y comme une cellule jupyter ci-dessous


from sympy import Symbol
from sympy.plotting import plot

p = Symbol('p')
x = Symbol('x')

La formule qui apparaît

\begin{align*}
& {\rapport de cotes rm}: \frac{p}{1-p} \\
& {\fonction rm logit}: f(p) = \log \frac{p}{1-p} \\
& {\fonction logistique rm}: g(x) = \frac{1}{1+e^{-x}}
\end{align*}

ʻRapport d'odds (p) = p / (1-p) `

jupyter


plot(p/(1-p), (p, -2, 2), ylim=(-100, 100), legend=True)

fig1.png

C'est mignon que * -inf * et * + inf * soient connectés avec * p = 1 *. Si vous coupez * 0 <= p <= 1 * de ceci,

jupyter


plot(p/(1-p), (p, 0, 1), ylim=(-100, 100), legend=True)

fig2.png

La plage de valeurs est étendue à * 0 <= odds ratio (p) <+ inf * pour la plage de définition * 0 <= p <= 1 *.

Fonction logit f (p) = log (p / (1-p))

En prenant le logarithme de l'odds ratio

jupyter


from sympy import log

plot(log(p/(1-p)), legend=True)

fig3.png

La plage de valeurs est étendue à * -inf <f (p) <+ inf * pour la même plage de définition que le rapport de cotes.

Fonction logistique g (x) = 1 / (1 + exp (-x))

Parce que c'est la fonction inverse de la fonction logit

jupyter


from sympy import exp

plot(1/(1+exp(-x)), legend=True)

fig4.png

La plage de valeurs et la plage de définition de la fonction logit sont permutées,

En d'autres termes, elle peut être considérée comme une fonction qui génère une valeur qui peut être considérée comme probabilité * 0 <= g (z) <= 1 *.

Est-ce correct avec une telle interprétation?

Recommended Posts

Essayez de dessiner une fonction logistique
J'ai demandé à la tortue de dessiner une fonction triangulaire
[Piyopiyokai # 1] Jouons avec Lambda: création d'une fonction Lambda
Différencier une fonction à deux variables
Faire un décorateur de fonction
Faisons un robot Discord.
Créons une fonction pour le test paramétré à l'aide d'un objet frame
Créer une fonction en Python
Dessinez un graphique avec NetworkX
Ecrire une fonction de densité du noyau
Résumons la fonction de reporting de Chainer
Comment appeler une fonction
Essayons un script shell
Dessiner la fonction Yin en python
Créons une fonction pour maintenir Button dans Tkinter
Dessinez un cœur en Python
Dessinez un graphique avec networkx
Qu'est-ce qu'une fonction de rappel?
Faisons une rumba distante [Matériel]
[Python] Qu'est-ce qu'une fonction zip?
Tracez un graphe avec Julia + PyQtGraph (2)
Faisons une rumba distante [Logiciel]
Essayez de dessiner une courbe de Bézier
Faisons une interface graphique avec python.
Faisons un service de vente au comptant 2
Dessinez une matrice de diagramme de dispersion avec python
Une fonction qui renvoie un nom aléatoire
Dessinez un graphique lâche avec matplotlib
Faisons une rupture de bloc avec wxPython
Faisons un service de vente au comptant 1
Dessinez un beau cercle avec numpy
Tracez un graphique avec Julia + PyQtGraph (1)
Dessinez un graphique avec Julia + PyQtGraph (3)
[Python] Faire de la fonction une fonction lambda
Python --Fonction d'appel dynamique à partir d'une chaîne
Dessinez un graphique avec des pandas + XlsxWriter
Faisons un graphe avec python! !!
Faisons un spacon avec xCAT
Dessinez un diagramme CNN en Python
Dessinez un graphique avec l'interface graphique PySimple
Faisons un service de vente au comptant 3
Dessinez facilement une carte avec matplotlib.basemap
Grands Pandas Apprenons beaucoup
Créons une fonction de chat avec Vue.js + AWS Lambda + dynamo DB [Paramètres AWS]