Académique Documents
Professionnel Documents
Culture Documents
Dans ce tuto, vous découvrirez comment enregistrer et charger votre modèle d'apprentissage
automatique en Python à l'aide de scikit-learn.
Cela vous permet de sauvegarder votre modèle dans un fichier et de le charger plus tard afin de faire
des prédictions.
Vous pouvez utiliser l'opération pickle pour sérialiser vos algorithmes d'apprentissage automatique
et enregistrer le format sérialisé dans un fichier.
Plus tard, vous pourrez charger ce fichier pour désérialiser votre modèle et l'utiliser pour faire de
nouvelles prédictions.
L'exemple ci-dessous montre comment former un modèle de classification pour le data set iris,
enregistrer le modèle dans un fichier à l’aide de pickle et le charger pour faire des prédictions sur des
données autres que les données d’apprentissage.
# Save Model Using Pickle
import pickle
from sklearn import datasets
iris = datasets.load_iris()
target = iris.target
data = iris.data
from sklearn.model_selection import train_test_split
X_train, X_test, Y_train, Y_test = train_test_split(
data, target, random_state=42, train_size=0.5)
from sklearn.naive_bayes import GaussianNB
clf = GaussianNB()
clf.fit(X_train, Y_train)
Il fournit des utilitaires pour enregistrer et charger des objets Python qui utilisent efficacement les
structures de données NumPy.
Cela peut être utile pour certains algorithmes d'apprentissage automatique qui nécessitent beaucoup
de paramètres ou stockent l'intégralité de l'ensemble de données (comme les K-Nearest
Neighbours).
L'exemple ci-dessous montre comment former un modèle de classification pour le data set iris,
enregistrer le modèle dans un fichier à l’aide de joblib et le charger pour faire des prédictions sur des
données autres que les données d’apprentissage.
# Save Model Using joblib
import joblib
from sklearn import datasets
iris = datasets.load_iris()
target = iris.target
data = iris.data
from sklearn.model_selection import train_test_split
X_train, X_test, Y_train, Y_test = train_test_split(
data, target, random_state=42, train_size=0.5)
from sklearn.naive_bayes import GaussianNB
clf = GaussianNB()
clf.fit(X_train, Y_train)
▪ Version Python. Prenez note de la version python. Vous aurez presque certainement besoin
de la même version majeure (et peut-être mineure) de Python utilisée pour sérialiser le
modèle lorsque vous le chargerez et le désérialiserez ultérieurement.
▪ Versions de la bibliothèque. La version de toutes les principales bibliothèques utilisées dans
votre projet d'apprentissage automatique doit presque certainement être la même lors de la
désérialisation d'un modèle enregistré. Cela ne se limite pas à la version de NumPy et à la
version de scikit-learn.
▪ Sérialisation manuelle. Vous souhaiterez peut-être afficher manuellement les paramètres de
votre modèle appris afin de pouvoir les utiliser directement dans scikit-learn ou sur une autre
plate-forme à l'avenir. Souvent, les algorithmes utilisés en ML pour effectuer des prédictions
sont beaucoup plus simples que ceux utilisés pour apprendre les paramètres et peuvent être
faciles à implémenter dans un code personnalisé sur lequel vous avez le contrôle.
Prenez note de la version afin de pouvoir recréer l'environnement si pour une raison quelconque
vous ne pouvez pas recharger votre modèle sur une autre machine ou une autre plateforme
ultérieurement.
RÉSUMÉ
Dans ce tuto, vous avez découvert comment sauvegarder vos modèles appris par des algorithmes de
ML en Python avec scikit-learn.