mit Python scikit svm, nach dem Ausführen von clf.fit (X, Y), erhalten Sie Ihre Support-Vektoren. konnte ich diese Unterstützungsvektoren direkt laden (sie als Parameter übergeben), wenn sie ein SVM.SVC Objekt instanziieren? was bedeutet, dass ich nicht jedes Mal die Methode fit() ausführen muss, um die Prädikation auszuführenscikit lernen SVM, wie Support Vektoren zu speichern/laden?
Antwort
Vom scikit Handbuch: http://scikit-learn.org/stable/modules/model_persistence.html
1.2.4 Modell Persistenz Es ist möglich, ein Modell in den scikit mithilfe von Python eingebaute in Persistenz-Modell zu speichern, nämlich Gurke.
>>> 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(kernel=’rbf’, C=1.0, probability=False, degree=3, coef0=0.0, eps=0.001,
cache_size=100.0, shrinking=True, gamma=0.00666666666667)
>>> import pickle
>>> s = pickle.dumps(clf)
>>> clf2 = pickle.loads(s)
>>> clf2.predict(X[0])
array([ 0.])
>>> y[0]
0
Im speziellen Fall des scikit kann es interessant sein, JOBLIB Nachfolger von Beize zu verwenden, die auf große Daten mehr effizient ist, kann aber nur Beize auf die Festplatte und nicht in einen String:
>>> from sklearn.externals import joblib
>>> joblib.dump(clf, ’filename.pkl’)
Sie können das Modell speichern, um es später zu verwenden. Ich habe den unten stehenden Code geschrieben, um das Modell zu verwenden, wenn es einen gibt, den ich vorher angepasst und gespeichert habe.
from sklearn.externals import joblib
svm_linear_estimator = svm.SVC(kernel='linear', probability=False, C=1)
try:
estimator = joblib.load("/my_models/%s.pkl"%dataset_name)
print "using trained model"
except:
print "building new model"
estimator.fit(data_train, class_train)
joblib.dump(estimator,"/my_models/%s.pkl"%dataset_name)
, wenn Sie das trainierte Modell speichern, kann es mehr als ein erstellen Datei. aber Sie nennen es immer noch mit dem Namen "Dataset_name.pkl". Und der obige variable Schätzer hätte svm_linear_estimator sein sollen. –
Ich habe gerade festgestellt, dass os.path.exists() klüger ist als mit try catch :) –
- 1. Scikit-lernen SVM: Umformung X führt zu inkompatiblen Formen
- 2. Zeitreihenprognose mit scikit lernen
- 3. Scikit-learn SVM Ziffernerkennung
- 4. Scikit-lernen Verwirrung Matrix
- 5. scikit-lernen TfidfVectorizer Bedeutung?
- 6. Kann ein SVM inkrementell lernen?
- 7. Ein Fortschrittsbalken für scikit-lernen?
- 8. .arff-Dateien mit scikit-lernen?
- 9. Scikit-lernen train_test_split mit Indizes
- 10. Skalieren von Daten in scikit-learn SVM
- 11. Wie richtig correclty pjprind mit scikit-lernen?
- 12. Scikit-learn Grid Suche mit SVM Regression
- 13. Scikit-lernen entspricht für C++?
- 14. Python scikit MLPClassifier lernen "hidden_layer_sizes"
- 15. Wie unter Stichproben in scikit lernen?
- 16. Wie CSV-Datei in Scikit-lernen importieren?
- 17. Wie viele Funktionen können scikit-lernen?
- 18. maschinelles lernen - svm feature fusion techique
- 19. Sklearn - SVM gewichtete Funktionen
- 20. scikit lernen: gewünschte Menge an besten Features (k) nicht ausgewählt
- 21. Wie man Mehrklassenklassifizierung mit Support Vector Machines (SVM) macht
- 22. Probleme der Installation von Scikit-lernen in Python
- 23. TF-IDF Einfache Verwendung - NLTK/Scikit Lernen
- 24. Für was ist nützlich scikit-lernen FunctionTransformer?
- 25. Zusammenfassen von CountVectorizer in Scikit-Lernen Merkmalsextraktion
- 26. Kombinieren von zufälligen Waldmodellen in Scikit lernen
- 27. scikit-lernen kernel PCA erklärte Varianz
- 28. Batch-Gradienten-Abstieg mit Scikit lernen (Sklearn)
- 29. Scikit lernen - fit_transform auf dem Test-Set
- 30. Resampling in Scikit-lernen und/oder Pandas
Mögliche doppelte http://stackoverflow.com/questions/11440970/how-can-i-save-a-libsvm-python-object-instance – Pedrom