数据说明
字段 | 说明 |
---|---|
EmpID | 唯一的员工ID |
Age | 年龄 |
AgeGroup | 年龄组 |
Attrition | 是否离职 |
BusinessTravel | 出差:很少、频繁、不出差 |
DailyRate | 日薪 |
Department | 任职部门:研发部门、销售部门、人力资源部门 |
DistanceFromHome | 通勤距离 |
Education | 教育等级 |
EducationField | 专业领域:生命科学、医学、市场营销、技术、其他 |
EnvironmentSatisfaction | 工作环境满意度 |
Gender | 性别 |
HourlyRate | 时薪 |
JobInvolvement | 工作参与度 |
JobLevel | 工作级别 |
JobRole | 工作角色 |
JobSatisfaction | 工作满意度 |
MaritalStatus | 婚姻状况 |
MonthlyIncome | 月收入 |
SalarySlab | 工资单 |
MonthlyRate | 月薪 |
NumCompaniesWorked | 工作过的公司数量 |
PercentSalaryHike | 加薪百分比 |
PerformanceRating | 绩效评级 |
RelationshipSatisfaction | 关系满意度 |
StandardHours | 标准工时 |
StockOptionLevel | 股票期权级别 |
TotalWorkingYears | 总工作年数 |
TrainingTimesLastYear | 去年培训时间 |
WorkLifeBalance | 工作生活平衡评价 |
YearsAtCompany | 在公司工作年数 |
YearsInCurrentRole | 担任现职年数 |
YearsSinceLastPromotion | 上次晋升后的年数 |
YearsWithCurrManager | 与现任经理共事年数 |
import pandas as pd
data = 'HR_Analytics.csv'
data = pd.read_csv(file_path)
# 打印每一列的唯一值
for column in data.columns:
print(f"Unique values in {column}:")
print(data[column].unique())
通过这段代码可以了解每一列的唯一值。观察到某些列含有缺失值且缺失值的行数较少,可以直接删去。
data_cleaned = data.dropna()
本文将通过随机森林与逻辑回归预测员工晋升路径和潜在的流失风险。
一:预测员工晋升路径
- 数据理解:首先,需要查看CSV文件的内容,以了解数据的结构和可用特征。这将帮助确定哪些特征可能与员工晋升路径相关。
- 数据预处理:基于数据理解,可能需要进行数据清洗,处理缺失值,转换分类数据,以及进行特征选择。
- 模型选择:选择一个合适的机器学习模型来预测员工晋升路径。考虑到这是一个分类问题,逻辑回归、决策树或随机森林等模型可能适用。
- 模型训练与评估:使用历史数据训练模型,并使用适当的评估指标(如准确率、召回率、F1分数)