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 communityimport 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)
refer: https://www.geeksforgeeks.org/saving-a-machine-learning-model/
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!
Thank you!
According to https://machinelearningmastery.com/save-load-machine-learning-models-python-scikit-learn/
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)