使用Python和Scikit-learn构建逻辑回归模型进行分类预测
使用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 著作权归作者所有。请勿转载和采集!