使用Python和Scikit-learn构建逻辑回归模型进行分类预测

本教程将演示如何使用Python的Pandas和Scikit-learn库构建逻辑回归模型,用于分类问题。

1. 数据加载和预处理

首先,使用Pandas库加载数据集。假设数据集存储在名为'data.xlsx'的Excel文件中,其中包含多个特征列和一个名为'类别'的分类列。

import pandas as pd

# 读取数据集
data = pd.read_excel('data.xlsx')

# 提取特征属性和分类属性
X = data.drop(labels=['特征1', '特征2', '特征3', '特征4', '特征5', '特征6', '特征7', '特征8','特征9'], axis=1)
y = data['类别']

2. 数据集拆分

接下来,将数据集拆分为训练集和测试集,以便评估模型性能。

from sklearn.model_selection import train_test_split

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

3. 模型训练

现在,使用训练数据训练逻辑回归模型。

from sklearn.linear_model import LogisticRegression

# 创建逻辑回归模型
model = LogisticRegression()

# 在训练集上训练模型
model.fit(X_train, y_train)

4. 模型评估

使用测试集评估训练好的模型。

from sklearn.metrics import accuracy_score

# 在测试集上进行预测
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')

# 可视化模型
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.show()

6. 使用模型进行预测

可以使用保存的模型对新数据进行预测。

# 加载模型
loaded_model = joblib.load('logistic_regression_model.pkl')

# 预测其他数据
new_data = pd.read_excel('new_data.xlsx')
X_new = new_data.drop(labels=['特征1', '特征2', '特征3', '特征4', '特征5', '特征6', '特征7', '特征8','特征9'], axis=1)
y_new = loaded_model.predict(X_new)
print('预测结果:', y_new)

本教程介绍了使用Python和Scikit-learn构建、评估、保存和可视化逻辑回归模型的基本步骤。您可以根据您的特定需求修改和扩展此代码。


原文地址: https://www.cveoy.top/t/topic/f1fi 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录