Logistisches Regressionsmodell

Machine LearningMachine LearningBeginner
Jetzt üben

This tutorial is from open-source community. Access the source code

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab erhalten Sie einen Schritt-für-Schritt Leitfaden dazu, wie Sie ein Logistische Regressionsmodell mit der scikit-learn-Bibliothek in Python erstellen.

Tipps für die VM

Nachdem der VM-Start abgeschlossen ist, klicken Sie in der oberen linken Ecke, um zur Registerkarte Notebook zu wechseln und Jupyter Notebook für die Übung zu öffnen.

Manchmal müssen Sie einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Die Validierung von Vorgängen kann aufgrund der Einschränkungen in Jupyter Notebook nicht automatisiert werden.

Wenn Sie bei der Lernphase Probleme haben, können Sie Labby gerne fragen. Geben Sie nach der Sitzung Feedback, und wir werden das Problem für Sie prompt beheben.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL sklearn(("Sklearn")) -.-> sklearn/CoreModelsandAlgorithmsGroup(["Core Models and Algorithms"]) ml(("Machine Learning")) -.-> ml/FrameworkandSoftwareGroup(["Framework and Software"]) sklearn/CoreModelsandAlgorithmsGroup -.-> sklearn/linear_model("Linear Models") ml/FrameworkandSoftwareGroup -.-> ml/sklearn("scikit-learn") subgraph Lab Skills sklearn/linear_model -.-> lab-49205{{"Logistisches Regressionsmodell"}} ml/sklearn -.-> lab-49205{{"Logistisches Regressionsmodell"}} end

Importieren der erforderlichen Bibliotheken

Der erste Schritt besteht darin, die erforderlichen Bibliotheken zu importieren, die in diesem Lab verwendet werden. Wir werden numpy, matplotlib, scipy und sklearn verwenden.

import matplotlib.pyplot as plt
import numpy as np
from scipy.special import expit
from sklearn.linear_model import LinearRegression, LogisticRegression

Erzeugen eines einfachen Datensatzes

Als nächster Schritt erzeugen wir einen einfachen Datensatz, der eine Gerade mit etwas Gauß'scher Störung ist. Wir werden numpy verwenden, um diesen Datensatz zu erzeugen.

## Generate a toy dataset, it's just a straight line with some Gaussian noise:
xmin, xmax = -5, 5
n_samples = 100
np.random.seed(0)
X = np.random.normal(size=n_samples)
y = (X > 0).astype(float)
X[X > 0] *= 4
X += 0.3 * np.random.normal(size=n_samples)

X = X[:, np.newaxis]

Anpassen des Klassifizierers

Nachdem der Datensatz erzeugt wurde, werden wir den Klassifizierer mit LogisticRegression aus scikit-learn anpassen.

## Fit the classifier
clf = LogisticRegression(C=1e5)
clf.fit(X, y)

Ergebnis plotten

Der letzte Schritt besteht darin, das Ergebnis zu plotten. Wir werden matplotlib verwenden, um einen Punktwolkenplot der Beispiel-Daten zu erstellen und das logistische Regressionsmodell und das lineare Regressionsmodell zu plotten.

## and plot the result
plt.figure(1, figsize=(4, 3))
plt.clf()
plt.scatter(X.ravel(), y, label="example data", color="black", zorder=20)
X_test = np.linspace(-5, 10, 300)

loss = expit(X_test * clf.coef_ + clf.intercept_).ravel()
plt.plot(X_test, loss, label="Logistic Regression Model", color="red", linewidth=3)

ols = LinearRegression()
ols.fit(X, y)
plt.plot(
    X_test,
    ols.coef_ * X_test + ols.intercept_,
    label="Linear Regression Model",
    linewidth=1,
)
plt.axhline(0.5, color=".5")

plt.ylabel("y")
plt.xlabel("X")
plt.xticks(range(-5, 10))
plt.yticks([0, 0.5, 1])
plt.ylim(-0.25, 1.25)
plt.xlim(-4, 10)
plt.legend(
    loc="lower right",
    fontsize="small",
)
plt.tight_layout()
plt.show()

Zusammenfassung

Dieses Lab gab einen Schritt-für-Schritt Leitfaden darüber, wie man ein logistisches Regressionsmodell mit der scikit-learn-Bibliothek in Python erstellt. Wir begannen mit dem Importieren der erforderlichen Bibliotheken, dem Erzeugen eines einfachen Datensatzes, dem Anpassen des Klassifizierers und schließlich dem Plotten des Ergebnisses.