Introduction
Ce laboratoire vous fournira un guide étape par étape sur la manière de créer un modèle de régression logistique à l'aide de la bibliothèque scikit-learn de Python.
Conseils sur la machine virtuelle
Une fois le démarrage de la machine virtuelle terminé, cliquez dans le coin supérieur gauche pour basculer vers l'onglet Carnet de notes pour accéder au carnet Jupyter Notebook pour pratiquer.
Parfois, vous devrez peut-être attendre quelques secondes pour que le carnet Jupyter Notebook ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limites du carnet Jupyter Notebook.
Si vous rencontrez des problèmes pendant l'apprentissage, n'hésitez pas à demander à Labby. Donnez votre feedback après la session, et nous résoudrons rapidement le problème pour vous.
Importez les bibliothèques nécessaires
La première étape consiste à importer les bibliothèques nécessaires qui seront utilisées dans ce laboratoire. Nous utiliserons numpy, matplotlib, scipy et sklearn.
import matplotlib.pyplot as plt
import numpy as np
from scipy.special import expit
from sklearn.linear_model import LinearRegression, LogisticRegression
Générez un jeu de données d'exemple
L'étape suivante consiste à générer un jeu de données d'exemple, qui est une droite avec du bruit gaussien. Nous utiliserons numpy pour générer ce jeu de données.
## Générez un jeu de données d'exemple, il s'agit simplement d'une droite avec du bruit gaussien :
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]
Ajustez le classifieur
Après avoir généré le jeu de données, nous allons ajuster le classifieur à l'aide de LogisticRegression de scikit-learn.
## Ajustez le classifieur
clf = LogisticRegression(C=1e5)
clf.fit(X, y)
Tracez le résultat
La dernière étape consiste à tracer le résultat. Nous utiliserons matplotlib pour créer un nuage de points des données d'exemple, et tracer le modèle de régression logistique et le modèle de régression linéaire.
## and plot the result
plt.figure(1, figsize=(4, 3))
plt.clf()
plt.scatter(X.ravel(), y, label="données d'exemple", 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="Modèle de régression logistique", color="red", linewidth=3)
ols = LinearRegression()
ols.fit(X, y)
plt.plot(
X_test,
ols.coef_ * X_test + ols.intercept_,
label="Modèle de régression linéaire",
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()
Sommaire
Ce laboratoire a fourni un guide étape par étape sur la manière de créer un modèle de régression logistique à l'aide de la bibliothèque scikit-learn de Python. Nous avons commencé par importer les bibliothèques nécessaires, générer un jeu de données d'exemple, ajuster le classifieur et finalement tracer le résultat.