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


这个年纪的我们
爱情跟不上分开的节奏
这个年纪的我们
更珍惜难得的自由
这个年纪的我们
比起从前更容易感动
这个年纪的我们
徘徊在理想与现实之中
                     🎵 齐一《这个年纪》


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

准备工作

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

pip install pandas scikit-learn

1. 数据准备

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

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. 数据预处理

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

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

3. 训练逻辑回归模型

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

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:

import joblib

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

5. 加载模型并进行预测

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

# 从文件中加载模型
model_loaded = joblib.load('logistic_regression_model.pkl')

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

6. 总结

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

注意事项
确保在训练和测试数据的预处理中使用相同的操作,以保持特征的一致性。
由于模型会保存训练时的数据类型和形状,因此保持数据格式不变是重要的。

相关推荐

  1. Python如何训练模型保存本地模型

    2024-05-11 18:56:11       35 阅读
  2. 深度学习-Pytorch如何保存模型

    2024-05-11 18:56:11       63 阅读
  3. python SVM 保存模型参数

    2024-05-11 18:56:11       59 阅读
  4. SVM 保存模型参数

    2024-05-11 18:56:11       60 阅读
  5. pytorch保存模型以及如何load部分参数

    2024-05-11 18:56:11       46 阅读
  6. pytorch 模型保存本地之后,如何继续训练

    2024-05-11 18:56:11       27 阅读
  7. Pytorch学习 day12(模型保存

    2024-05-11 18:56:11       41 阅读
  8. 【Pytorch 第一讲】 如何训练模型

    2024-05-11 18:56:11       61 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-11 18:56:11       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-11 18:56:11       100 阅读
  3. 在Django里面运行非项目文件

    2024-05-11 18:56:11       82 阅读
  4. Python语言-面向对象

    2024-05-11 18:56:11       91 阅读

热门阅读

  1. 计算机答辩常见问题汇总(一)

    2024-05-11 18:56:11       33 阅读
  2. 蒙特卡洛求PI(抛点法)TypeScript实现

    2024-05-11 18:56:11       31 阅读
  3. 第十周笔记

    2024-05-11 18:56:11       35 阅读
  4. WHAT - npm和npx

    2024-05-11 18:56:11       30 阅读
  5. 【LeetCode】每日一题:2960. 统计已测试设备

    2024-05-11 18:56:11       30 阅读