[PYTHON] [Übersetzung] scikit-learn 0.18 Benutzerhandbuch 3.4. Modellpersistenz

google übersetzte http://scikit-learn.org/0.18/modules/model_persistence.html [scikit-learn 0.18 Benutzerhandbuch 3. Modellauswahl und -bewertung](http://qiita.com/nazoking@github/items/267f2371757516f8c168#3-%E3%83%A2%E3%83%87%E3%83] Von% AB% E3% 81% AE% E9% 81% B8% E6% 8A% 9E% E3% 81% A8% E8% A9% 95% E4% BE% A1)


3.4. Modellpersistenz

Nach dem Training des Scikit-Learn-Modells ist eine Methode zur Aufrechterhaltung des Modells für die zukünftige Verwendung ohne Umschulung wünschenswert. Der folgende Abschnitt zeigt ein Beispiel für das Fortbestehen eines Modells mit Gurke. Wir identifizieren auch einige Sicherheits- und Wartbarkeitsprobleme bei der Arbeit mit Pickle-Serialisierung.

3.4.1. Persistenzbeispiel

Es ist möglich, das Scicit-Modell mit dem in Python integrierten Persistenzmodul pickle zu speichern:

>>> 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

In bestimmten Fällen von Scikit kann es interessanter sein, den Pickle-Ersatz für joblib (joblib.dump & joblib.load) zu verwenden. Dies ist effizienter für Scikit-Learn-Evaluator-Objekte (häufig intern mit großen Numpy-Arrays). Es gibt jedoch keine "Dumps" -Methode, sodass Sie nur auf der Festplatte speichern können.

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

Sie können das eingelegte Modell später laden (möglicherweise in einem anderen Python-Prozess):

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

** Hinweis: ** Die Funktionen joblib.dump und joblib.load akzeptieren auch dateiähnliche Objekte anstelle von Dateinamen. Weitere Informationen zur Datenpersistenz in Joblib finden Sie hier (https://pythonhosted.org/joblib/persistence.html).

3.4.2 Sicherheits- und Wartbarkeitsgrenzen

pickle (und die joblib-Erweiterung) weist einige Wartungs- und Sicherheitsprobleme auf. Deshalb,

Um ein ähnliches Modell in einer zukünftigen Version von scicit-learn neu zu erstellen, müssen Sie zusätzliche Metadaten zusammen mit dem eingelegten Modell speichern.

Auf diese Weise kann sichergestellt werden, dass der Kreuzvalidierungswert im gleichen Bereich wie zuvor liegt. Wenn Sie mehr über diese Probleme erfahren oder andere mögliche Serialisierungsmethoden kennenlernen möchten, Diese Geschichte von Alex Gaynor Siehe -software).


[scikit-learn 0.18 Benutzerhandbuch 3. Modellauswahl und -bewertung](http://qiita.com/nazoking@github/items/267f2371757516f8c168#3-%E3%83%A2%E3%83%87%E3%83] Von% AB% E3% 81% AE% E9% 81% B8% E6% 8A% 9E% E3% 81% A8% E8% A9% 95% E4% BE% A1)

© 2010 - 2016, Entwickler von Scikit-Learn (BSD-Lizenz).

Recommended Posts

[Übersetzung] scikit-learn 0.18 Benutzerhandbuch 3.4. Modellpersistenz
[Übersetzung] scikit-learn 0.18 Benutzerhandbuch 4.5. Zufällige Projektion
[Übersetzung] scikit-learn 0.18 Benutzerhandbuch 1.11. Ensemble-Methode
[Übersetzung] scikit-learn 0.18 Benutzerhandbuch 4.2 Merkmalsextraktion
[Übersetzung] scikit-learn 0.18 Benutzerhandbuch 1.16. Wahrscheinlichkeitskalibrierung
[Übersetzung] scikit-learn 0.18 Benutzerhandbuch 1.13 Funktionsauswahl
[Übersetzung] scikit-learn 0.18 Benutzerhandbuch 2.8. Dichteschätzung
[Übersetzung] scikit-learn 0.18 Benutzerhandbuch 4.3. Datenvorverarbeitung
[Übersetzung] scikit-learn 0.18 Benutzerhandbuch 4.4. Unüberwachte Dimensionsreduzierung
[Übersetzung] scikit-learn 0.18 Benutzerhandbuch Inhaltsverzeichnis
[Übersetzung] scikit-learn 0.18 Benutzerhandbuch 1.4. Support Vector Machine
[Übersetzung] scikit-learn 0.18 Benutzerhandbuch 3.3. Modellbewertung: Quantifizieren Sie die Qualität der Vorhersage
[Übersetzung] scikit-learn 0.18 Benutzerhandbuch 3.5. Verifizierungskurve: Zeichnen Sie die Punktzahl, um das Modell zu bewerten
[Übersetzung] scikit-learn 0.18 Benutzerhandbuch 3.2. Optimieren der Hyperparameter des Schätzers
[Übersetzung] scikit-learn 0.18 Benutzerhandbuch 2.7. Erkennung von Neuheiten und Ausreißern
[Übersetzung] scikit-learn 0.18 Benutzerhandbuch 3.1. Kreuzvalidierung: Bewerten Sie die Leistung des Schätzers
[Übersetzung] scikit-learn 0.18 Benutzerhandbuch 4.1. Pipeline- und Feature-Union: Kombination von Schätzern
[Übersetzung] scicit-learn 0.18 Tutorial Auswahl des richtigen Modells
[Übersetzung] scikit-learn 0.18 Benutzerhandbuch 2.5. Zerlegen von Signalen in Komponenten (Matrixzerlegungsproblem)
Pandas Benutzerhandbuch "Multi-Index / Advanced Index" (offizielles Dokument Japanische Übersetzung)
Pandas Benutzerhandbuch "Manipulieren fehlender Daten" (offizielles Dokument Japanische Übersetzung)
TensorFlow Tutorial-Sequenztransformationsmodell (Übersetzung)