机器学习模型的保存与调用
在机器学习中常常会用到将训练好的模型保存,以便于在使用时不用再次训练数据,就可以直接使用训练好的模型。
模型的保存
以sklearn中随机森林分类为例
> #加载数据集
from sklearn.datasets import load_breast_cancer
import pandas as pd
from sklearn.ensemble import RandomForestClassifier
from sklearn.externals import joblib
df = load_breast_cancer()
#将数据转化为DataFrame
df_y = pd.DataFrame(df.target)
df = pd.DataFrame(df.data, columns=df.feature_names)
df['Y'] = df_y
#数据分割,将数据的后百分之20作为测试集
df_train = df.values[:-(df.shape[0]//5), :]
df_test = df.values[-(df.shape[0]//5):, :]
X_train = df_train[:, :-1]
Y_train = df_train[:, -1]
X_test = df_test[:, :-1]
Y_test = df_test[:, -1]
#随机森林模型
path = "D:/学习任务/第二周/分类/随机森林/RandomForestClassifiter.model"
model = RandomForestClassifier(n_estimators=100, max_depth=None, min_samples_split=2, max_leaf_nodes=None)
model.fit(X_train, Y_train)
Y_pred = model.predict(X_test)
#模型保存
joblib.dump(model, path)
模型的调用
path = "D:/学习任务/第二周/分类/随机森林/RandomForestClassifiter.model"
model = joblib.load(path)
这样就把刚刚训练好的模型调出来了,可以用来对新数据的分类处理。