如何保存knn模型?

数据挖掘 Python scikit-学习 k-nn
2021-09-15 08:30:31

我需要保存 SKlearn NearestNeighbors 模型的拟合结果:

knn = NearestNeighbors(10)
knn.fit(my_data)

如何knn使用 Python 将 traied 保存到磁盘?

4个回答
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)                      


# load the model from disk
loaded_model = pickle.load(open('knnpickle_file', 'rb'))
result = loaded_model.predict(X_test) 

参考:https ://www.geeksforgeeks.org/saving-a-machine-learning-model/

导入库

from sklearn.externals import joblib

拟合参数后保存模型

clf.fit(X_train,Y_train)
joblib.dump(clf, 'scoreregression.pkl')

将我的模型加载到内存中(Web 服务)

modelscorev2 = joblib.load('scoreregression.pkl' , mmap_mode ='r')

使用加载的对象

prediction = modelscorev2.predict_proba(y)

Pickle 是 Python 中序列化对象的标准方法。

您可以使用 pickle 操作序列化您的机器学习算法并将序列化格式保存到文件中。

稍后您可以加载此文件以反序列化您的模型并使用它来进行新的预测。

试试这个吧!

谢谢!

根据 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)