今天学习的是数据准备的流程。
我们已经知道,数据准备占了AI项目超过一半甚至79%的时间。
那么数据准备,都做些什么,有哪些流程。
1.数据采集
- 观测数据
- 人工收集
- 调查问卷
- 线上数据库
2.数据清洗
- 有缺失的数据
- 有重复的数据
- 有内容错误的数据,例如逻辑错误、格式错误
- 有不需要的数据
3.数据标注
数据标注即通过分类、画框、标注、注释等,对图片、语音、文本等数据进行处理,标记
对象的特征,以作为机器学习标签的过程。
4.数据划分
- 训练集
- 测试集
- 一般8:2或者7:3,训练集的数据较大
5.数据验收
- 合法性
- 准确性
- 完整性
- 一致性
延伸学习:
1. 数据采集
- 确定数据源:根据业务需求,确定需要采集数据的来源,如数据库、API、日志文件、传感器等。
- 设计采集策略:制定数据采集的频率、方式(如实时采集、批量采集)以及数据存储格式。
- 实施采集:编写或使用现成的工具来从数据源中抓取数据。
示例:
- 电商网站通过日志系统收集用户的浏览和购买记录,为推荐系统提供数据。
- 智能家居设备通过传感器实时采集温度、湿度等数据,用于智能控制。
2. 数据清洗
- 去除重复数据:识别并删除重复的记录。
- 处理缺失值:使用均值、中位数、众数等统计方法填充缺失值,或根据算法预测缺失值。
- 纠正错误值:通过数据验证和逻辑规则识别并更正错误的数据。
- 格式化数据:将数据转换为统一的格式,如日期、时间戳等。
示例:
- 在医疗数据分析中,清洗掉由于设备故障产生的异常血压读数。
- 在金融领域,处理由于系统故障导致的交易数据中的缺失值。
3. 数据标注
- 定义标注规则:根据业务需求,制定数据标注的标准和规则。
- 实施标注:人工或使用自动化工具对数据进行标注。
- 标注质量检查:验证标注的准确性,确保数据质量。
示例:
- 在图像识别项目中,人工标注图片中的物体类别(如猫、狗、汽车等)。
- 在语音识别中,对音频数据进行文本标注,用于训练语音转文字模型。
4. 数据划分
- 随机划分:将数据随机划分为训练集、验证集和测试集。
- 分层抽样:确保每个子集中的数据分布与整体数据分布一致。
- 时间序列划分:对于时间序列数据,按照时间顺序进行划分。
示例:
- 在股票价格预测项目中,按照时间序列划分训练集和测试集,确保模型能够学习到时间序列中的模式。
- 在图像分类任务中,随机划分图像数据,但确保每个类别在训练集和测试集中都有代表。
5. 数据验收
- 数据质量检查:验证数据的完整性、准确性和一致性。
- 业务需求符合性检查:确保数据满足业务需求和项目目标。
- 数据安全性检查:确保数据在处理、存储和传输过程中符合安全标准。
示例:
- 在智能客服项目中,验收阶段发现部分用户对话数据存在隐私泄露风险,于是进行数据脱敏处理。
- 在推荐系统项目中,验收阶段发现数据集中缺少关键的用户行为数据,于是重新采集这部分数据。
6. 数据交付
- 数据打包:将数据整理成适当的格式和文件结构,便于模型训练和部署。
- 数据传输:安全地将数据传输给模型训练团队或存储到指定位置。
- 数据文档编写:提供数据字典、数据说明文档等,帮助使用者理解数据。
示例:
- 在自然语言处理项目中,将清洗和标注后的文本数据打包成CSV格式,并附带数据字典说明每个字段的含义,然后交付给模型训练团队。
- 在图像识别项目中,将图像数据和对应的标注文件整理成特定的文件夹结构,并通过加密方式传输给远程服务器上的模型训练环境。