本项目基于ModelWhale平台的数据集(包含数值与文本特征),采用多种机器学习算法对毕业生薪资进行预测。通过系统的数据预处理、特征工程和模型优化,实现了对薪资水平的有效预测。
- 根据预测任务针对性筛选相关特征与标签变量
- 采用多种策略处理数据中的缺失值
- 句子嵌入表示:使用轻量级嵌入模型将文本转换为向量表示
- One-Hot编码:对分类字段进行独立热编码处理
- 使用PCA主成分分析降低特征维度,避免维度灾难
- 提升计算效率,增强模型泛化能力
- 将区间格式数据(如"3-5年")转换为区间平均值
- 实现定性数据的定量化处理
- 分析数据分布,处理可能存在的样本不平衡问题
项目采用五种主流机器学习方法进行预测:
| 算法 | 简称 | 特点 |
|---|---|---|
| K-最近邻 | KNN | 基于实例的学习 |
| 决策树 | DT | 可解释性强 |
| 随机森林 | RF | 集成学习,抗过拟合 |
| 梯度提升树 | GBDT | 逐步优化,预测精度高 |
| 多层感知机 | MLP | 深度学习基础 |
- 采用网格搜索(Grid Search) 方法系统性地寻找最优超参数组合
- 确保模型性能达到最优状态
- 采用重复10次的10折交叉验证
- 有效减轻数据划分偶然性带来的影响
- 确保评估结果的稳定性和可靠性
使用三种回归评估标准全面衡量模型性能:
- MAE(平均绝对误差):衡量预测值与真实值之间的平均绝对差异
- RMSE(均方根误差):强调较大误差的惩罚
- R²(决定系数):解释模型对数据变异的解释程度
| Model | MAE | RMSE | R² | Ranking |
|---|---|---|---|---|
| 🥇 GBDT | 5393.54 | 7623.94 | 0.6341 | 1 |
| 🥈 MLP | 5723.27 | 8018.72 | 0.5952 | 2 |
| 🥉 RF | 6501.94 | 8768.36 | 0.5161 | 3 |
| 4️⃣ KNN | 5549.68 | 8500.56 | 0.5449 | 4 |
| 5️⃣ DT | 6715.07 | 9713.16 | 0.4056 | 5 |
- GBDT表现最佳:梯度提升树在三个指标上均取得最优结果
- 树模型整体优势:集成树模型(GBDT、RF)优于单一树模型(DT)
- 神经网络竞争力:MLP表现出色,仅次于GBDT
- 模型选择重要性:不同算法间性能差异显著,凸显模型选择的重要性
salary-prediction/
│
├── job.csv # 数据文件
├── SalaryPredict.ipynb # Jupyter笔记本(富含注释说明)
├── REPORT # 设计报告
└── README.md # 项目说明
- 尝试深度学习模型
📧 如有问题或建议,欢迎提交Issue或Pull Request!
用数据洞察未来,用算法预测价值 ✨