[PYTHON] Was ist eine logistische Regressionsanalyse?

Was ist eine logistische Regressionsanalyse?

Was ist ein verallgemeinertes lineares Modell?

Zum Beispiel ** 〇 Gewicht = β0 + β1 × Höhe ** (Gewicht ist eine Variable, die einer Normalverteilung folgt)

** ✖ Kleidergröße = β + β1 × Höhe ** (Die Kleidergröße ist eindeutig keine Variable, die einer Normalverteilung folgt.)

Die Antwortvariable muss dem linearen Prädiktor entsprechen

Was ist, wenn die Antwortvariable die Anzahl der verkauften Eiscreme ist?

Anzahl der verkauften Eiscreme = β0 + β1 × Temperatur ** (Antwortvariable) (linearer Prädiktor) **

"Die Anzahl der verkauften Eiscreme" kann nur positiv sein, die rechte Seite kann jedoch je nach Temperatur negativ sein.

**Deshalb! !! ** **. Führen Sie eine ** Link-Funktion (Protokollfunktion) ** ein, die den Retter sein wird.

** log (Anzahl der verkauften Eiscreme) ** = β0 + β1 × Temperatur

Was ist, wenn die Antwortvariable Wahrscheinlichkeit (Erfolgsquote) ist?

** ✖ Test bestanden / nicht bestanden (1,0) = β0 + β1 × Lernzeit ** Die rechte Seite ist eindeutig kein Ausdruck, der nur 1 oder 0 Werte annimmt.

** ✖ Testdurchlaufrate = β0 + β1 × Lernzeit ** Dies ist jedoch immer noch unzureichend. Die Erfolgsquote sollte zwischen 0 und 1 liegen, jedoch nicht auf der rechten Seite.

Deshalb!! Führen Sie eine ** Link-Funktion (Logit-Funktion) ** ein, die der Retter sein wird.

** log (p / 1-p) = β0 + β1 × Studienzeit ** Wenn dies in die Form von p = 〇 gebracht wird,

** p = 1 / {1 + exp (- (β0 + β1 × Studienzeit))} ** Mit dieser Formel nimmt die rechte Seite einen Bereich von 0 bis 1 an.

Ziel ist es, die ** Parameter β0 und β1 dieser Gleichung zu optimieren.

データデータ

Wie definiere ich "optimal"?

Betrachten Sie die ** Wahrscheinlichkeitsfunktion **. Der vorhergesagte Wert der n-ten Person ist

データ

【Lösung】 ① Beseitigen Sie die Multiplikation, indem Sie ** logarithmisch ** nehmen. (Kann hinzugefügt werden) (2) Durch Hinzufügen von ** minus ** kann die ** Gradientenabstiegsmethode ** ausgeführt werden. (Weil die Gradientenabstiegsmethode zum Ermitteln des Minimalwerts geeignet ist) データ

Die obige Gleichung wird als ** Kreuzentropiefehlerfunktion ** bezeichnet.

Der optimale Wert des Parameters wird durch Differenzieren von ** β0 und β1 ** unter Verwendung dieser Funktion ** Gradientenabstiegsmethode ** erhalten!

Experiment

** Dieses Mal möchte ich anhand des Datensatzes der sklearn-Bibliothek analysieren. ** **.

import numpy as np
import pandas as pd
from sklearn.datasets import load_iris

iris=load_iris()
df=pd.DataFrame(iris.data,columns=iris.feature_names)
df["target"]=iris.target

X=iris.data[50:,2].reshape(-1,1) #Ziel 0~1 von 2,Holen Sie sich nur 2.
y=iris.target[50:]

from sklearn.linear_model import LogisticRegression
from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import train_test_split


scaler=StandardScaler()#Standardisierung
X_scaled=scaler.fit_transform(X)

X_train,X_test,y_train,y_test=train_test_split(X_scaled,y,random_state=0)

log_reg=LogisticRegression().fit(X_train,y_train)

print(model.coef_) #Anzeige von Regressionsvariablen
print(model.intercept_) #Abschnitt der Regressionsgeraden

print(log_reg.score(X_train,y_train)) #Geben Sie den Entscheidungskoeffizienten aus.
print(log_reg.score(X_test,y_test)) #Geben Sie den Entscheidungskoeffizienten aus.
データ

Recommended Posts

Was ist eine logistische Regressionsanalyse?
Was ist eine mehrjährige logistische Regressionsanalyse?
Logistische Rückgabe
Logistische Rückgabe
Was ist eine reduzierte Rangkammregression?
Logistische Regressionsanalyse Selbst erstellt mit Python
Was ist ein Namespace?
Was ist copy.copy ()
Was ist Django? .. ..
Was ist dotenv?
Was ist POSIX?
Was ist Linux?
Was ist klass?
Poisson-Regressionsanalyse
Was ist SALOME?
Was ist Linux?
Was ist Python?
Was ist Hyperopt?
Methode der Regressionsanalyse
Was ist Linux?
Was ist Pyvenv?
Was ist __call__?
Was ist Linux?
Was ist Python?
Was ist eine Distribution?
Was ist Piotroskis F-Score?
Was ist Raspberry Pi?
[Python] Was ist Pipeline ...
Logistische Regression beim maschinellen Lernen
Was ist das Calmar-Verhältnis?
Was ist ein Terminal?
[PyTorch Tutorial ①] Was ist PyTorch?
Was ist Hyperparameter-Tuning?
Was ist ein Hacker?
Was ist JSON? .. [Hinweis]
Wofür ist Linux?
Was ist ein Zeiger?
Was ist Ensemble-Lernen?
Was ist TCP / IP?
Grundlagen der Regressionsanalyse
Was ist Pythons __init__.py?
Führen Sie eine Regressionsanalyse mit NumPy durch
Was ist ein Iterator?
Was ist UNIT-V Linux?
[Python] Was ist virtualenv?
Regressionsanalyse mit Python
Was ist maschinelles Lernen?
Was ist Mini Sam oder Mini Max?
Was ist die Aktivierungsfunktion?
Multiple Regressionsanalyse mit Keras
Was ist eine Instanzvariable?
Was ist ein Entscheidungsbaum?
Zeitreihenanalyse Die Implementierung steckt fest.
Was ist ein Kontextwechsel?
Was ist Google Cloud Dataflow?
[DL] Was ist Gewichtsverlust?
[Python] Python und Sicherheit - is Was ist Python?
Was ist ein Superuser?
Wettbewerbsprogrammierung ist was (Bonus)