【Python】如何训练模型并保存本地和加载模型


这个年纪的我们

爱情跟不上分开的节奏

这个年纪的我们

更珍惜难得的自由

这个年纪的我们

比起从前更容易感动

这个年纪的我们

徘徊在理想与现实之中

🎵 齐一《这个年纪》


逻辑回归是一种常用的分类算法,能够根据输入特征预测目标变量的类别。本文将介绍如何利用 Pandas 预处理数据并使用 scikit-learn 训练逻辑回归模型,保存模型文件到本地,然后加载模型进行预测。

准备工作

首先,确保你已经安装了 Pandas 和 scikit-learn:

bash 复制代码
pip install pandas scikit-learn

1. 数据准备

我们使用一个示例数据集,或者你可以用自己的数据进行测试。这里,我们将生成一个虚拟数据集:

python 复制代码
import pandas as pd
import numpy as np

# 生成虚拟数据集
np.random.seed(42)
data = pd.DataFrame({
    'feature1': np.random.rand(100),
    'feature2': np.random.rand(100),
    'target': np.random.randint(0, 2, size=100)
})

2. 数据预处理

逻辑回归模型只接受数值型数据,所以如果有非数值的列需要编码成数值。我们这里假设数据已经是数值型,只需拆分特征和目标列即可:

python 复制代码
# 特征和目标列的分离
X = data[['feature1', 'feature2']]
y = data['target']

3. 训练逻辑回归模型

我们将使用 scikit-learn 的 LogisticRegression 进行模型训练。首先,将数据拆分成训练集和测试集,然后训练模型:

python 复制代码
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression

# 将数据划分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 创建并训练逻辑回归模型
model = LogisticRegression()
model.fit(X_train, y_train)

4. 保存模型到本地

训练好的模型可以用 joblib 或 pickle 库进行序列化保存。这里使用 joblib:

python 复制代码
import joblib

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

5. 加载模型并进行预测

模型被保存为 .pkl 文件后,可以随时加载并使用它进行新的预测:

python 复制代码
# 从文件中加载模型
model_loaded = joblib.load('logistic_regression_model.pkl')

# 使用加载的模型进行预测
predictions = model_loaded.predict(X_test)
print(predictions)

6. 总结

本文展示了如何用 Pandas 预处理数据、使用 scikit-learn 训练逻辑回归模型,并将模型保存到本地。然后我们又演示了如何加载保存的模型并进行预测。通过这种方式,可以在数据科学项目中重用已训练的模型,节省重复训练的时间。

注意事项

确保在训练和测试数据的预处理中使用相同的操作,以保持特征的一致性。

由于模型会保存训练时的数据类型和形状,因此保持数据格式不变是重要的。

相关推荐
正经教主29 分钟前
【FDE系列】阶段2:Day 31:SQL 基础 — 增删改查一把梭
人工智能·python·fde
leihefeng29 分钟前
PX04-用 Python 读 Excel 画折线图,还能直接插回 Excel 文件
python·excel
Mr.朱鹏34 分钟前
Docker三剑客实战指南:Docker、Dockerfile 和 Docker Compose
python·docker·devops·dockerfile
05664637 分钟前
用大模型构建答疑机器人:从 API 调用到上下文工程
python·学习·agent
haluhalu.1 小时前
初识 Protobuf:微服务跨语言通信的一份契约
java·c语言·开发语言·c++·python
Liaiyang661 小时前
# 自研 AST 容错初筛工具:横向评测 Django、PyTorch、TensorFlow 三大开源 Python 框架异常收容风险
python·测试工具·自动化·开源软件·代码规范·devops·代码复审
空奈qwq1 小时前
机器学习入门:从核心概念到建模全流程
人工智能·python·机器学习
孙启超1 小时前
【AI开发之Rust】第 12 课:并发模型与同步原语
开发语言·后端·rust
IvanCodes1 小时前
Python 基础语法(六):字典与集合
python
lie..1 小时前
30天从零开始学AI应用开发(Day 4):Python 极速入门(上):够用就行,别啃书
人工智能·python·大模型