在Python中使用scikit-learn库,可以使用sklearn.utils中的joblib模块来保存和加载模型。joblib模块提供了一种更高效的保存和加载模型的方法,尤其适用于大型机器学习模型。
以下是一个使用sklearn.utils保存和加载模型的例子:
1. 导入必要的库和模块:
from sklearn import datasets from sklearn.model_selection import train_test_split from sklearn.svm import SVC from sklearn.metrics import accuracy_score from sklearn import utils
2. 加载数据集:
iris = datasets.load_iris() X = iris.data y = iris.target
3. 将数据集拆分为训练集和测试集:
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
4. 创建一个支持向量机分类器:
svm = SVC()
5. 使用拟合函数适配模型:
svm.fit(X_train, y_train)
6. 使用保存函数将模型保存到本地文件:
utils.dump(svm, "model.joblib")
7. 使用加载函数将模型从本地文件加载到内存:
loaded_model = utils.load("model.joblib")
8. 使用加载后的模型预测测试集:
y_pred = loaded_model.predict(X_test)
9. 计算预测准确率:
accuracy = accuracy_score(y_test, y_pred) print("Accuracy:", accuracy)
在这个例子中,我们使用了鸢尾花数据集加载数据,然后将数据集拆分为训练集和测试集。然后,我们创建了一个支持向量机分类器并拟合训练集。接下来,我们使用utils.dump函数将模型保存到名为model.joblib的文件中。然后,我们使用utils.load函数加载模型并使用加载后的模型进行预测。最后,我们计算预测准确率并打印出来。
使用sklearn.utils中的joblib模块可以保存和加载机器学习模型,这在训练大型模型或需要在不同环境中部署模型时非常有用。