Introduction
Dans ce laboratoire, nous allons explorer la régression isotone à l'aide de scikit-learn. La régression isotone est une technique qui ajuste une fonction non décroissante à des données unidimensionnelles. Elle est utile lorsque vous avez des données qui ne satisfont pas l'hypothèse de linéarité dans un modèle de régression.
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 Notebook pour accéder à Jupyter Notebook pour la pratique.
Parfois, vous devrez peut-être attendre quelques secondes pour que Jupyter Notebook ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limitations de 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
Commencez par importer la classe IsotonicRegression à partir du module sklearn.isotonic.
from sklearn.isotonic import IsotonicRegression
Créez des données d'échantillonnage
Ensuite, nous devons créer quelques données d'échantillonnage pour ajuster notre modèle de régression isotone. Dans cet exemple, nous allons générer deux tableaux, X et y, représentant respectivement les données d'entrée et les valeurs cibles.
import numpy as np
## Génère des données d'entrée aléatoires
np.random.seed(0)
X = np.random.rand(100)
y = 4 * X + np.random.randn(100)
Ajustez le modèle de régression isotone
Maintenant, nous pouvons ajuster le modèle de régression isotone à nos données. Nous créons une instance de la classe IsotonicRegression et appelons la méthode fit avec nos données d'entrée et nos valeurs cibles.
## Ajuste le modèle de régression isotone
ir = IsotonicRegression()
ir.fit(X, y)
Prédire à l'aide du modèle
Après avoir ajusté le modèle, nous pouvons l'utiliser pour effectuer des prédictions sur de nouvelles données. Créons un nouveau tableau X_new et prédisons les valeurs cibles correspondantes.
## Crée de nouvelles données pour la prédiction
X_new = np.linspace(0, 1, 100)
y_pred = ir.predict(X_new)
Visualisez les résultats
Enfin, visualisons les résultats de notre modèle de régression isotone. Nous pouvons tracer les points de données d'origine sous forme de points de dispersion et les valeurs prédites sous forme d'une ligne.
import matplotlib.pyplot as plt
## Trace les données d'origine et les valeurs prédites
plt.scatter(X, y, c='b', label='Données d\'origine')
plt.plot(X_new, y_pred, c='r', label='Régression isotone')
plt.xlabel('X')
plt.ylabel('y')
plt.legend()
plt.show()
Sommaire
La régression isotone est une technique utile lorsque vous avez des données non linéaires qui ne répondent pas aux hypothèses d'un modèle de régression linéaire. En ajustant une fonction non décroissante aux données, la régression isotone fournit une approximation linéaire par morceaux qui capture la tendance sous-jacente dans les données. Dans ce laboratoire, nous avons appris à utiliser la classe IsotonicRegression de scikit-learn pour ajuster un modèle de régression isotone, effectuer des prédictions et visualiser les résultats.