Python 逻辑回归模型训练、保存、可视化和预测
使用 Python 训练、保存、可视化和预测逻辑回归模型
本教程演示了如何使用 Python 训练一个逻辑回归模型,并展示如何保存、可视化该模型以及如何使用它来预测新数据。
1. 准备工作
首先,导入必要的库:
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score
2. 数据加载与预处理
从 Excel 文件加载数据并提取特征属性和分类属性:
# 读取数据集
data = pd.read_excel('附件1.xlsx')
# 提取特征属性和分类属性
X = data.drop(labels=['特征1', '特征2', '特征3', '特征4', '特征5', '特征6', '特征7', '特征8', '特征9'], axis=1)
y = data['类别']
3. 训练模型
将数据集分为训练集和测试集,并使用训练集训练逻辑回归模型:
# 将数据集分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=100)
# 创建逻辑回归模型
model = LogisticRegression()
# 在训练集上训练模型
model.fit(X_train, y_train)
4. 评估模型
使用测试集评估模型的准确率:
# 在测试集上进行预测
y_pred = model.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print('模型准确率:', accuracy)
5. 保存模型
使用 joblib 库保存训练好的模型:
# 保存模型
import joblib
joblib.dump(model, 'logistic_regression_model.pkl')
6. 加载模型
在需要使用模型时,可以加载保存的模型:
# 加载模型
model = joblib.load('logistic_regression_model.pkl')
7. 可视化模型
绘制特征权重图以可视化模型:
# 绘制特征权重图
import matplotlib.pyplot as plt
import numpy as np
coef = model.coef_.ravel()
labels = X.columns.values
plt.bar(np.arange(len(labels)), coef)
plt.xticks(np.arange(len(labels)), labels, rotation=90)
plt.xlabel('特征')
plt.ylabel('权重')
plt.title('逻辑回归模型特征权重')
plt.show()
8. 预测新数据
加载新数据,使用已训练的模型进行预测,并保存预测结果:
# 预测其他数据
new_data = pd.read_excel('新数据.xlsx')
y_new = model.predict(new_data)
# 将预测结果保存到新数据集中
new_data['预测结果'] = y_new
new_data.to_excel('新数据_预测结果.xlsx', index=False)
注意:
- 确保 '附件1.xlsx' 和 '新数据.xlsx' 文件路径正确。
- 调整代码中的特征名称和分类属性名称以匹配你的数据集。
- 可以根据需要调整代码中测试集大小和随机数种子。
joblib.dump()和joblib.load()函数用于保存和加载模型。- 可视化模型可以帮助理解模型如何使用特征进行预测。
new_data.to_excel()函数将预测结果保存到新 Excel 文件中。
原文地址: https://www.cveoy.top/t/topic/f1fj 著作权归作者所有。请勿转载和采集!