from pandas import read_csv
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from pickle import dump
from pickle import load
#通过pickle序列化和反序列机器学习的模型
'''序列化机器学习算法生成的模型,并将其保存到文件中,需要对新的数据预测时,反序列化已经保存的模型,然后预测新的数据'''
filename = 'pima_data.csv'
names = ['preg','plas','pres','skin','test','mass','pedi','age','class']
data = read_csv(filename,names = names)
array = data.values
X = array[:,0:8]
Y = array[:,8]
test_size = 0.33
seed = 4
X_train,X_test,Y_traing,Y_test = train_test_split(X,Y,test_size=test_size,random_state=seed)
#训练模型
model = LogisticRegression()
model.fit(X_train,Y_traing)
# #保存模型
# model_file = 'final_model.sav'
# with open(model_file,'wb') as model_f:
# #序列化
# dump(model,model_f)
# #加载模型
# with open(model_file,'rb') as model_f:
# #反序列化
# loaded_model = load(model_f)
# result = loaded_model.score(X_test,Y_test)
# print(result)
#
#joblib序列化和反序列化
'''采用numpy格式保存数据'''
# #保存模型
# model_file = 'final_model_joblib.sav'
# with open(model_file,'wb') as model_f:
# #序列化
# dump(model,model_f)
# #加载模型
# with open(model_file,'rb') as model_f:
# #反序列化
# loaded_model = load(model_f)
# result = loaded_model.score(X_test,Y_test)
# print(result)
机器学习python持久化加载模型
最新推荐文章于 2024-07-25 08:58:07 发布