方法一:pickle庫
????????這是Python的標準序列化模塊,可以將幾乎任何Python對象轉化為字節流(即序列化),然后可以將其存儲到文件中或通過網絡發送。之后,可以使用pickle再次加載這個字節流,恢復原始對象。在機器學習中,pickle常用于保存整個模型實例,包括訓練配置和參數。?
# 導入pickle模塊
import pickle# 保存模型
with open('knn_pickle.pkl', 'wb') as f:pickle.dump(knn, f)# 導入模型
with open('knn_pickle.pkl', 'rb') as f:model = pickle.load(f)
方法二:joblib庫
????????它是專為科學計算設計的庫,特別適合于大NumPy數組的存儲。相比pickle,joblib在處理大型numpy數組時速度更快,更節省內存。對于機器學習模型,尤其是基于scikit-learn的模型,使用joblib保存和加載模型是推薦做法。?
# 導入joblib
import joblib# 保存模型
joblib.dump(knn, 'knn_joblib.pkl')# 加載模型
model = joblib.load('knn_joblib.pkl')