数据设计文档
基于多维特征挖掘的员工缺勤分析与预测系统
文档版本:V1.0
编写日期:2026年3月
编写人:张硕
1. 数据集概述
1.1 数据来源
| 项目 |
内容 |
| 数据集名称 |
Absenteeism at work |
| 数据来源 |
UCI Machine Learning Repository |
| 原始提供方 |
巴西某快递公司 (2007-2010年) |
| 数据提供者 |
Andrea Martiniano, Ricardo Pinto Ferreira, Renato Jose Sassi |
| 所属机构 |
Universidade Nove de Julho, Brazil |
1.2 数据规模
| 项目 |
数值 |
| 记录总数 |
740条 |
| 特征数量 |
21个字段 |
| 员工数量 |
36人 |
| 时间跨度 |
2007年7月 - 2010年7月 |
1.3 数据质量
| 检查项 |
结果 |
说明 |
| 缺失值 |
无 |
数据完整无缺失 |
| 重复记录 |
无 |
无重复数据 |
| 异常值 |
需检查 |
部分字段可能存在异常值 |
| 数据一致性 |
良好 |
字段格式一致 |
2. 字段说明
2.1 字段完整列表
| 序号 |
字段名 |
中文名称 |
数据类型 |
取值范围 |
说明 |
| 1 |
ID |
员工标识 |
int |
1-36 |
唯一标识员工 |
| 2 |
Reason for absence |
缺勤原因 |
int |
0-28 |
ICD代码或非疾病原因 |
| 3 |
Month of absence |
缺勤月份 |
int |
1-12 |
月份 |
| 4 |
Day of the week |
星期几 |
int |
2-6 |
2=周一, 6=周五 |
| 5 |
Seasons |
季节 |
int |
1-4 |
1=夏, 4=春 |
| 6 |
Transportation expense |
交通费用 |
int |
118-388 |
月交通费用(雷亚尔) |
| 7 |
Distance from Residence to Work |
通勤距离 |
int |
5-52 |
公里数 |
| 8 |
Service time |
工龄 |
int |
1-29 |
年数 |
| 9 |
Age |
年龄 |
int |
27-58 |
周岁 |
| 10 |
Work load Average/day |
日均工作负荷 |
float |
205-350 |
目标达成量/天 |
| 11 |
Hit target |
达标率 |
int |
81-100 |
百分比 |
| 12 |
Disciplinary failure |
违纪记录 |
int |
0-1 |
0=否, 1=是 |
| 13 |
Education |
学历 |
int |
1-4 |
1=高中, 4=博士 |
| 14 |
Son |
子女数量 |
int |
0-4 |
子女人数 |
| 15 |
Social drinker |
饮酒习惯 |
int |
0-1 |
0=否, 1=是 |
| 16 |
Social smoker |
吸烟习惯 |
int |
0-1 |
0=否, 1=是 |
| 17 |
Pet |
宠物数量 |
int |
0-8 |
宠物数量 |
| 18 |
Weight |
体重 |
int |
56-108 |
公斤 |
| 19 |
Height |
身高 |
int |
163-196 |
厘米 |
| 20 |
Body mass index |
BMI指数 |
float |
19-38 |
体重/身高² |
| 21 |
Absenteeism time in hours |
缺勤时长 |
int |
0-120 |
目标变量(小时) |
2.2 特征分类
2.2.1 类别型特征
| 字段名 |
类别数 |
类别说明 |
| Reason for absence |
29 |
0-28,ICD疾病代码或非疾病原因 |
| Month of absence |
12 |
1-12月 |
| Day of the week |
5 |
周一至周五 |
| Seasons |
4 |
夏秋冬春 |
| Disciplinary failure |
2 |
是/否 |
| Education |
4 |
高中/本科/研究生/博士 |
| Social drinker |
2 |
是/否 |
| Social smoker |
2 |
是/否 |
2.2.2 数值型特征
| 字段名 |
类型 |
范围 |
均值 |
标准差 |
| Transportation expense |
连续 |
118-388 |
221.3 |
69.1 |
| Distance from Residence to Work |
连续 |
5-52 |
29.6 |
14.8 |
| Service time |
连续 |
1-29 |
12.0 |
5.7 |
| Age |
连续 |
27-58 |
36.9 |
6.5 |
| Work load Average/day |
连续 |
205-350 |
270.7 |
37.1 |
| Hit target |
连续 |
81-100 |
94.6 |
4.0 |
| Son |
离散 |
0-4 |
1.0 |
1.1 |
| Pet |
离散 |
0-8 |
0.8 |
1.5 |
| Weight |
连续 |
56-108 |
79.0 |
12.4 |
| Height |
连续 |
163-196 |
172.9 |
6.0 |
| Body mass index |
连续 |
19-38 |
26.7 |
4.3 |
| Absenteeism time in hours |
连续 |
0-120 |
6.9 |
13.3 |
2.3 缺勤原因详细说明
2.3.1 ICD疾病分类(代码1-21)
| 代码 |
ICD分类 |
疾病类型 |
| 1 |
I |
传染病和寄生虫病 |
| 2 |
II |
肿瘤 |
| 3 |
III |
血液及造血器官疾病 |
| 4 |
IV |
内分泌、营养和代谢疾病 |
| 5 |
V |
精神和行为障碍 |
| 6 |
VI |
神经系统疾病 |
| 7 |
VII |
眼及其附属器疾病 |
| 8 |
VIII |
耳及乳突疾病 |
| 9 |
IX |
循环系统疾病 |
| 10 |
X |
呼吸系统疾病 |
| 11 |
XI |
消化系统疾病 |
| 12 |
XII |
皮肤和皮下组织疾病 |
| 13 |
XIII |
肌肉骨骼系统和结缔组织疾病 |
| 14 |
XIV |
泌尿生殖系统疾病 |
| 15 |
XV |
妊娠、分娩和产褥期 |
| 16 |
XVI |
围产期疾病 |
| 17 |
XVII |
先天性畸形 |
| 18 |
XVIII |
症状、体征异常发现 |
| 19 |
XIX |
损伤、中毒 |
| 20 |
XX |
外部原因导致的发病和死亡 |
| 21 |
XXI |
影响健康状态的因素 |
2.3.2 非疾病原因(代码22-28)
| 代码 |
名称 |
说明 |
| 22 |
医疗随访 |
患者定期随访复查 |
| 23 |
医疗咨询 |
门诊就医咨询 |
| 24 |
献血 |
无偿献血活动 |
| 25 |
实验室检查 |
医学检验检查 |
| 26 |
无故缺勤 |
未经批准的缺勤 |
| 27 |
理疗 |
物理治疗康复 |
| 28 |
牙科咨询 |
口腔科就诊 |
2.3.3 特殊值
2.4 季节编码说明
| 代码 |
季节 |
月份范围(巴西) |
| 1 |
夏季 |
12月-2月 |
| 2 |
秋季 |
3月-5月 |
| 3 |
冬季 |
6月-8月 |
| 4 |
春季 |
9月-11月 |
2.5 学历编码说明
| 代码 |
学历 |
说明 |
| 1 |
高中 |
高中及以下学历 |
| 2 |
本科 |
大学本科学历 |
| 3 |
研究生 |
硕士研究生 |
| 4 |
博士 |
博士研究生 |
3. 数据预处理
3.1 数据清洗
3.1.1 缺失值处理
数据集本身无缺失值,但在预处理过程中需确保:
3.1.2 异常值处理
| 字段 |
异常值判定标准 |
处理方式 |
| Absenteeism time in hours |
> 24小时(超过一天) |
保留,但做标记 |
| Work load Average/day |
< 100 或 > 500 |
检查后决定保留或剔除 |
| Age |
< 18 或 > 65 |
检查数据有效性 |
3.1.3 数据类型转换
| 字段 |
原始类型 |
转换后类型 |
说明 |
| ID |
int |
int |
保持不变 |
| Reason for absence |
int |
category |
转为类别型 |
| Month of absence |
int |
category |
转为类别型 |
| Day of the week |
int |
category |
转为类别型 |
| Seasons |
int |
category |
转为类别型 |
| Education |
int |
category |
转为类别型 |
| Disciplinary failure |
int |
category |
转为类别型 |
| Social drinker |
int |
category |
转为类别型 |
| Social smoker |
int |
category |
转为类别型 |
3.2 特征编码
3.2.1 独热编码 (One-Hot Encoding)
对以下类别型特征进行独热编码:
| 字段 |
编码后特征数 |
说明 |
| Reason for absence |
29 |
每个原因一个二进制特征 |
| Month of absence |
12 |
每个月份一个二进制特征 |
| Day of the week |
5 |
每个星期一个二进制特征 |
| Seasons |
4 |
每个季节一个二进制特征 |
| Education |
4 |
每个学历一个二进制特征 |
| Disciplinary failure |
2 |
是/否两个特征 |
| Social drinker |
2 |
是/否两个特征 |
| Social smoker |
2 |
是/否两个特征 |
编码示例:
3.2.2 标准化处理 (StandardScaler)
对以下数值型特征进行标准化处理(均值为0,标准差为1):
| 字段 |
标准化公式 |
| Transportation expense |
(x - μ) / σ |
| Distance from Residence to Work |
(x - μ) / σ |
| Service time |
(x - μ) / σ |
| Age |
(x - μ) / σ |
| Work load Average/day |
(x - μ) / σ |
| Hit target |
(x - μ) / σ |
| Son |
(x - μ) / σ |
| Pet |
(x - μ) / σ |
| Weight |
(x - μ) / σ |
| Height |
(x - μ) / σ |
| Body mass index |
(x - μ) / σ |
3.3 特征工程
3.3.1 派生特征
可考虑创建以下派生特征:
| 派生特征 |
计算方式 |
说明 |
| has_children |
Son > 0 |
是否有子女(二分类) |
| has_pet |
Pet > 0 |
是否有宠物(二分类) |
| age_group |
年龄分组 |
青年/中年/老年 |
| service_category |
工龄分组 |
新员工/老员工 |
| bmi_category |
BMI分组 |
正常/超重/肥胖 |
| workload_level |
负荷等级 |
低/中/高 |
3.3.2 特征选择
基于特征重要性分析,选择对预测最有价值的特征:
| 优先级 |
特征 |
选择依据 |
| 高 |
Reason for absence |
业务含义明确,影响直接 |
| 高 |
Transportation expense |
特征重要性高 |
| 高 |
Distance from Residence to Work |
特征重要性高 |
| 高 |
Service time |
特征重要性高 |
| 高 |
Age |
特征重要性高 |
| 中 |
Work load Average/day |
有一定影响 |
| 中 |
Body mass index |
有一定影响 |
| 中 |
Social drinker |
群体差异明显 |
| 低 |
Pet |
影响较小 |
| 低 |
Height |
信息可由BMI代替 |
3.4 数据划分
3.4.1 训练集/测试集划分
| 数据集 |
比例 |
记录数 |
用途 |
| 训练集 |
80% |
592条 |
模型训练 |
| 测试集 |
20% |
148条 |
模型评估 |
3.4.2 划分方式
- 使用分层抽样,确保各缺勤原因在训练集和测试集中比例一致
- 随机种子固定(random_state=42),保证结果可复现
4. 数据存储方案
4.1 目录结构
4.2 模型存储
4.3 数据文件格式
4.3.1 CSV文件格式
4.3.2 JSON文件格式
5. 数据字典
5.1 原始数据字典
| 字段名 |
数据类型 |
是否为空 |
默认值 |
说明 |
| ID |
INTEGER |
NOT NULL |
- |
员工唯一标识 |
| Reason for absence |
INTEGER |
NOT NULL |
- |
缺勤原因代码 |
| Month of absence |
INTEGER |
NOT NULL |
- |
月份(1-12) |
| Day of the week |
INTEGER |
NOT NULL |
- |
星期(2-6) |
| Seasons |
INTEGER |
NOT NULL |
- |
季节(1-4) |
| Transportation expense |
INTEGER |
NOT NULL |
- |
交通费用 |
| Distance from Residence to Work |
INTEGER |
NOT NULL |
- |
通勤距离(km) |
| Service time |
INTEGER |
NOT NULL |
- |
工龄(年) |
| Age |
INTEGER |
NOT NULL |
- |
年龄 |
| Work load Average/day |
REAL |
NOT NULL |
- |
日均工作负荷 |
| Hit target |
INTEGER |
NOT NULL |
- |
达标率(%) |
| Disciplinary failure |
INTEGER |
NOT NULL |
0 |
违纪记录(0/1) |
| Education |
INTEGER |
NOT NULL |
- |
学历(1-4) |
| Son |
INTEGER |
NOT NULL |
0 |
子女数量 |
| Social drinker |
INTEGER |
NOT NULL |
0 |
饮酒习惯(0/1) |
| Social smoker |
INTEGER |
NOT NULL |
0 |
吸烟习惯(0/1) |
| Pet |
INTEGER |
NOT NULL |
0 |
宠物数量 |
| Weight |
INTEGER |
NOT NULL |
- |
体重(kg) |
| Height |
INTEGER |
NOT NULL |
- |
身高(cm) |
| Body mass index |
REAL |
NOT NULL |
- |
BMI指数 |
| Absenteeism time in hours |
INTEGER |
NOT NULL |
- |
缺勤时长(目标变量) |
6. 附录
6.1 数据统计摘要
6.2 文档修改历史
| 版本 |
日期 |
修改人 |
修改内容 |
| V1.0 |
2026-03 |
张硕 |
初始版本 |
文档结束