要保存和加载一个scikit-learn Keras分类器,可以使用pickle
库。下面是一个包含代码示例的解决方法:
保存分类器:
import pickle
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.neural_network import MLPClassifier
# 加载数据
iris = datasets.load_iris()
X, y = iris.data, iris.target
# 数据标准化
scaler = StandardScaler()
X = scaler.fit_transform(X)
# 划分数据集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 创建和训练分类器
clf = MLPClassifier(hidden_layer_sizes=(10,), max_iter=1000)
clf.fit(X_train, y_train)
# 保存分类器
with open('classifier.pkl', 'wb') as file:
pickle.dump(clf, file)
加载分类器:
import pickle
# 加载分类器
with open('classifier.pkl', 'rb') as file:
clf = pickle.load(file)
# 使用分类器进行预测
y_pred = clf.predict(X_test)
在上述代码中,我们首先使用pickle
库的dump()
函数将分类器保存到名为classifier.pkl
的文件中。然后,使用pickle
库的load()
函数从文件中加载分类器。加载后,我们可以使用分类器进行预测。
请注意,保存和加载的分类器应该是在相同的环境中进行的,以确保模型的一致性。