__author__ = 'Oscar_Yang' #-*- coding= utf-8 -*- from sklearn import datasets iris = datasets.load_iris() from sklearn.naive_bayes import GaussianNB from sklearn.externals import joblib import pickle from matplotlib import pyplot as plt gnb = GaussianNB() y_pred = gnb.fit(iris.data, iris.target).predict(iris.data) print("Number of mislabeled points out of a total {} points : {}".format(iris.data.shape[0],(iris.target != y_pred).sum())) #python提供两种模型持久化的方法,第一种是joblib,一种是pickle:如下: #第一种:比如gnb是我们想要保存的模型 joblib.dump(gnb, 'GaussianNB.model') #模型保存到本地 lr = joblib.load('GauaaianNB.model') #重新加载模型 """ 重新加载模型, 需要注意的是,这里执行joblib.dump()之后,有可能还会生成若干个以rf.model_XX.npy为命名格式的文件, 这有可能是用于保存模型中的系数等的二进制文件。 其具体生成的文件的个数还会随调用到的分类器的不同,以及分类器中迭代次数的参数的不同而变,有时候会生成几个,有时候会生成几百个。 """ #或者第二种方式 save = pickle.dumps(gnb) #模保存模型 model = pickle.loads(save)#重新导入模型