当前位置:首页>python>Python 逻辑回归:招聘成绩可视化实战

Python 逻辑回归:招聘成绩可视化实战

  • 2026-10-11 08:39:42
Python 逻辑回归:招聘成绩可视化实战

Python 逻辑回归:招聘成绩可视化实战

Python 逻辑回归实战:招聘考试成绩二分类与决策边界可视化

🍁 前言

在机器学习入门阶段,逻辑回归是最经典、最常用的二分类算法。本文基于一份真实考试成绩数据集,完整复现:数据读取 → 数据集划分 → 模型训练 → 模型评估 → 决策边界可视化全流程。

代码可直接复制运行,附带常见报错解决方案,适合机器学习初学者作为课程作业 / 练手项目。


📊 数据集说明

数据集文件:logi-y.txt 格式:逗号分隔,共 93 条样本

  • 第 1 列:科目 1 成绩

  • 第 2 列:科目 2 成绩

  • 第 3 列:标签(0 = 未录取,1 = 录取)



🧰 环境依赖

pip install numpy matplotlib scikit-learn

✅ 完整可运行代码

# 1. 导入库import numpy as npimport matplotlib.pyplot as pltfrom sklearn.model_selection import train_test_splitfrom sklearn.linear_model import LogisticRegressionfrom sklearn.metrics import accuracy_score# 解决中文乱码plt.rcParams['font.sans-serif'] = ['SimHei']plt.rcParams['axes.unicode_minus'] = False# 2. 读取数据data = np.loadtxt('logi-y.txt', delimiter=',')X = data[:, 0:2]y = data[:, 2]# 3. 划分训练集/测试集X_train, X_test, y_train, y_test = train_test_split(    X, y, test_size=0.3, random_state=42)# 4. 训练逻辑回归模型model = LogisticRegression(max_iter=1000)model.fit(X_train, y_train)# 5. 模型评估y_pred = model.predict(X_test)acc = accuracy_score(y_test, y_pred)print(f"模型准确率:{acc:.4f}")# 6. 绘制决策边界x_min, x_max = X[:, 0].min() - 1, X[:, 0].max() + 1y_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1xx, yy = np.meshgrid(np.linspace(x_min, x_max, 500),                     np.linspace(y_min, y_max, 500))Z = model.predict(np.c_[xx.ravel(), yy.ravel()])Z = Z.reshape(xx.shape)plt.figure(figsize=(8, 6))plt.pcolormesh(xx, yy, Z, cmap=plt.cm.Pastel1, alpha=0.5)# 绘制样本点plt.scatter(X[y==0, 0], X[y==0, 1], c='blue', marker='o', label='未录取')plt.scatter(X[y==1, 0], X[y==1, 1], c='red', marker='^', label='已录取')plt.xlabel('科目1成绩')plt.ylabel('科目2成绩')plt.title('逻辑回归——招聘成绩分类')plt.legend()plt.show()

📌 代码核心说明

  1. 数据读取 使用 np.loadtxt 直接读取 txt 逗号分隔数据,快速转为特征矩阵与标签。

  2. 数据集划分 按 7:3 比例划分训练集与测试集,random_state=42 保证结果可复现。

  3. 模型训练 使用 LogisticRegression,设置 max_iter=1000 避免不收敛警告。

  4. 模型评估 用 accuracy_score 计算分类准确率。

  5. 可视化 生成网格点预测,绘制决策边界,直观展示分类效果。


🧩 运行结果示例

模型准确率:0.9286

输出一张带决策边界的散点图:

  • 蓝色圆点:未录取样本

  • 红色三角:录取样本

  • 背景色块:模型决策区域


🛠️ 常见问题解决

问题
解决方案
文件找不到
将 logi-y.txt 与代码放在同一目录
中文乱码
添加 plt.rcParams 字体配置
模型不收敛
增加 max_iter=1000
准确率异常
检查特征与标签是否取反

🎯 总结

本文通过招聘成绩二分类任务,完整实现了逻辑回归从数据到可视化的全流程,代码简洁、可直接用于课程作业。 逻辑回归是线性分类基础,掌握后可快速迁移到 SVM、决策树、神经网络等模型。


🔖 标签

Python机器学习逻辑回归二分类Matplotlib数据可视化课程作业

最新文章

随机文章