[PYTHON] [Français] scikit-learn 0.18 Guide de l'utilisateur 3.4. Persistance du modèle

google traduit http://scikit-learn.org/0.18/modules/model_persistence.html [scikit-learn 0.18 Guide de l'utilisateur 3. Sélection et évaluation du modèle](http://qiita.com/nazoking@github/items/267f2371757516f8c168#3-%E3%83%A2%E3%83%87%E3%83] À partir de% AB% E3% 81% AE% E9% 81% B8% E6% 8A% 9E% E3% 81% A8% E8% A9% 95% E4% BE% A1)


3.4. Persistance du modèle

Après avoir entraîné le modèle scikit-learn, une méthode de pérennisation du modèle pour une utilisation future sans recyclage est souhaitable. La section suivante montre un exemple de persistance d'un modèle avec pickle. Nous identifions également certains problèmes de sécurité et de maintenabilité lorsque nous travaillons avec la sérialisation pickle.

3.4.1. Exemple de persistance

Il est possible de sauvegarder le modèle scicit en utilisant le module de persistance intégré de Python, pickle:

>>> from sklearn import svm
>>> from sklearn import datasets
>>> clf = svm.SVC()
>>> iris = datasets.load_iris()
>>> X, y = iris.data, iris.target
>>> clf.fit(X, y)  
SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0,
    decision_function_shape=None, degree=3, gamma='auto', kernel='rbf',
    max_iter=-1, probability=False, random_state=None, shrinking=True,
    tol=0.001, verbose=False)

>>> import pickle
>>> s = pickle.dumps(clf)
>>> clf2 = pickle.loads(s)
>>> clf2.predict(X[0:1])
array([0])
>>> y[0]
0

Dans certains cas de scikit, il peut être plus intéressant d'utiliser le remplacement de pickle pour joblib (joblib.dump & joblib.load). Ceci est plus efficace pour les objets évaluateur scikit-learn (souvent en interne avec de grands tableaux numpy). Cependant, il n'y a pas de méthode dumps, vous ne pouvez donc enregistrer que sur disque.

>>> from sklearn.externals import joblib
>>> joblib.dump(clf, 'filename.pkl') 

Vous pouvez ensuite charger le modèle pickled (peut-être dans un autre processus Python):

>>> clf = joblib.load('filename.pkl') 

** Remarque: ** Les fonctions joblib.dump et joblib.load acceptent également des objets de type fichier au lieu de noms de fichier. Pour plus d'informations sur la persistance des données dans Joblib, voir ici (https://pythonhosted.org/joblib/persistence.html).

3.4.2. Limites de sécurité et de maintenabilité

pickle (et l'extension joblib) a des problèmes de maintenabilité et de sécurité. Pour cette raison,

Pour reconstruire un modèle similaire dans une future version de scicit-learn, vous devrez enregistrer des métadonnées supplémentaires avec le modèle pickled.

--Référence aux instantanés invariants des données d'entraînement

Cela permet de s'assurer que le score de validation croisée est dans la même plage qu'auparavant. Si vous souhaitez en savoir plus sur ces problèmes ou découvrir d'autres méthodes de sérialisation possibles, This Story of Alex Gaynor Voir -logiciel).


[scikit-learn 0.18 Guide de l'utilisateur 3. Sélection et évaluation du modèle](http://qiita.com/nazoking@github/items/267f2371757516f8c168#3-%E3%83%A2%E3%83%87%E3%83] À partir de% AB% E3% 81% AE% E9% 81% B8% E6% 8A% 9E% E3% 81% A8% E8% A9% 95% E4% BE% A1)

© 2010 --2016, développeurs scikit-learn (licence BSD).

Recommended Posts

[Français] scikit-learn 0.18 Guide de l'utilisateur 3.4. Persistance du modèle
[Français] scikit-learn 0.18 Guide de l'utilisateur 4.5. Projection aléatoire
[Français] scikit-learn 0.18 Guide de l'utilisateur 1.11. Méthode Ensemble
[Français] scikit-learn 0.18 Guide de l'utilisateur 4.2 Extraction de fonctionnalités
[Français] scikit-learn 0.18 Guide de l'utilisateur 1.16. Étalonnage des probabilités
[Français] scikit-learn 0.18 Guide de l'utilisateur 1.13 Sélection des fonctionnalités
[Français] scikit-learn 0.18 Guide de l'utilisateur 2.8. Estimation de la densité
[Français] scikit-learn 0.18 Guide de l'utilisateur 4.3. Prétraitement des données
[Français] scikit-learn 0.18 Guide de l'utilisateur 4.4. Réduction de dimension non supervisée
[Français] scikit-learn 0.18 Guide de l'utilisateur Table des matières
[Français] scikit-learn 0.18 Guide de l'utilisateur 1.4. Support Vector Machine
[Français] scikit-learn 0.18 Guide de l'utilisateur 3.3. Évaluation du modèle: quantifier la qualité de la prédiction
[Français] scikit-learn 0.18 Guide de l'utilisateur 3.5. Courbe de vérification: tracez le score pour évaluer le modèle
[Français] scikit-learn 0.18 Guide de l'utilisateur 3.2. Réglage des hyper paramètres de l'estimateur
[Français] scikit-learn 0.18 Guide de l'utilisateur 2.7. Détection des nouveautés et des valeurs aberrantes
[Français] scikit-learn 0.18 Guide de l'utilisateur 3.1. Validation croisée: évaluer les performances de l'estimateur
[Français] scikit-learn 0.18 Guide de l'utilisateur 4.1. Union des pipelines et des fonctionnalités: combinaison d'estimateurs
[Français] Tutoriel scikit-learn 0.18 Choisir le bon modèle
[Français] scikit-learn 0.18 Guide de l'utilisateur 2.5. Décomposer les signaux en composants (problème de décomposition de la matrice)
Guide de l'utilisateur Pandas "Multi-Index / Advanced Index" (Document officiel traduction japonaise)
Guide de l'utilisateur Pandas "Manipulation des données manquantes" (Document officiel de traduction en japonais)
Modèle de transformation de séquence de didacticiel TensorFlow (traduction)