[Python] 如何使用joblib库导出和导入scikit-learn线性回归模型

什么是joblib库?

Joblib是一个Python库,用于序列化和反序列化Python对象,包括机器学习模型、数据集等。它提供了一种高效的、可扩展的、跨平台的方式来保存和加载大型数据结构,以便在不同的环境中使用。

Joblib: running Python functions as pipeline jobs — joblib 1.3.2 documentation

[Python] 如何使用joblib库导出和导入scikit-learn线性回归模型_第1张图片

GitHub - joblib/joblib: Computing with Python functions. 

joblib.load — joblib 1.3.2 documentation

[Python] 如何使用joblib库导出和导入scikit-learn线性回归模型_第2张图片

joblib.dump — joblib 1.3.2 documentation

[Python] 如何使用joblib库导出和导入scikit-learn线性回归模型_第3张图片

安装joblib

pip install joblib

使用joblib保存LinearRegression模型

import numpy as np
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
from joblib import dump

# 创建数据集
np.random.seed(0)
x = np.random.rand(100, 1)
y = 2 + 3 * x + np.random.rand(100, 1)

# 将数据集分为训练集和测试集
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2, random_state=0)

# 训练模型
model = LinearRegression()
model.fit(x_train, y_train)

# 保存模型到文件
dump(model, 'linear_regression_model.joblib')

使用joblib加载LinearRegression模型,并进行预测

from joblib import load
from sklearn.metrics import mean_squared_error, r2_score

# 从文件中加载模型
loaded_model = load('linear_regression_model.joblib')

# 使用加载的模型进行预测
y_pred = loaded_model.predict(x_test)
print(y_pred)

# 评估模型的性能
mse = mean_squared_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)
print('均方误差:', mse)
print('R2分数:', r2)

[Python] 如何使用joblib库导出和导入scikit-learn线性回归模型_第4张图片

你可能感兴趣的:(机器学习,python,python,scikit-learn,线性回归)