I need to save the results of a fit of the SKlearn NearestNeighbors model:
knn = NearestNeighbors(10) knn.fit(my_data)
How do you save to disk the traied
knn using Python?
Data Science Stack Exchange is a question and answer site for Data science professionals, Machine Learning specialists, and those interested in learning more about the field. It only takes a minute to sign up.Sign up to join this community
import pickle knn = NearestNeighbors(10) knn.fit(my_data) # Its important to use binary mode knnPickle = open('knnpickle_file', 'wb') # source, destination pickle.dump(knn, knnPickle) # close the file knnPickle.close() # load the model from disk loaded_model = pickle.load(open('knnpickle_file', 'rb')) result = loaded_model.predict(X_test)
Importing the library
from sklearn.externals import joblib
Saving your model after fitting the parameters
clf.fit(X_train,Y_train) joblib.dump(clf, 'scoreregression.pkl')
Loading my model into the memory ( Web Service )
modelscorev2 = joblib.load('scoreregression.pkl' , mmap_mode ='r')
Using the loaded object
prediction = modelscorev2.predict_proba(y)
Pickle is the standard way of serializing objects in Python.
You can use the pickle operation to serialize your machine learning algorithms and save the serialized format to a file.
Later you can load this file to deserialize your model and use it to make new predictions.
Try this it works!
model = knn() # put yours model model.fit(X_train, Y_train) # save the model to disk filename = 'finalized_model.sav' pickle.dump(model, open(filename, 'wb')) # load the model from disk loaded_model = pickle.load(open(filename, 'rb')) result = loaded_model.score(X_test, Y_test) print(result)