Data Cleaning & Annotation Workflow

从Kaggle下载时间序列数据,清洗后上传至标注平台完成配置与分组。

已扫描
适合谁
数据科学家、机器学习工程师
不适合谁
无编程基础的用户、无需数据标注的普通办公人员
国内可用性
需网络配置。可能需要网络配置或第三方服务可访问。
安装难度
新手友好(★☆☆)。基于终端操作、依赖、API Key 和本地环境要求的初步判断。

安装与下载

openclaw skills install @deyashmukh/data-cleaning-annotation-workflow

Skill 说明

命令、参数、文件名以原文为准

模拟数据标注工作流

完整端到端的时间序列数据集准备与标注流程,适用于数据标注平台(data.smlcrm.com)。

本技能功能说明

该技能记录了从发现到“已清理”状态的完整时间序列数据集处理流程(能源、制造、气候领域):

  1. 查找数据集:在 Kaggle 上搜索能源/制造/气候类时间序列数据
  2. 下载数据:通过浏览器或 Kaggle CLI 获取 CSV 文件
  3. 清洗数据:运行 Python/pandas 脚本处理缺失值、重复项、格式问题
  4. 上传原始数据:上传原始 CSV 文件并附带元数据(名称、领域、来源 URL、描述)
  5. 配置列头:设置列类型(时间、目标、协变量、分组)及单位
  6. 分配分组:选择所有变量(目标 + 协变量),应用全部分组标签
  7. 上传清洗后数据:最终上传 → 状态变为 CLEAN

支持的领域

  • 能源:电力消耗、公用事业、可再生能源、电网数据
  • 制造:工业过程、钢铁生产、排放数据、设备数据
  • 气候:二氧化碳排放、环境监测、气象相关数据

快速开始

从 Kaggle 到标注数据集的完整流程:

1. 在 Kaggle 上查找数据集
2. 下载数据(浏览器或 kaggle CLI)
3. 使用 scripts/clean_dataset.py 清洗数据
4. 将原始数据上传至 data.smlcrm.com(附带元数据)
5. 点击“清洗”并上传清洗后的文件
6. 配置列元数据(类型、单位)
7. 为变量分配分组
8. 上传清洗后数据 → 状态变为 CLEAN

工作流步骤

步骤 1:查找并下载数据集

通过 Kaggle(浏览器方式):

  1. 访问 kaggle.com/datasets
  2. 搜索相关数据集(例如:“钢铁行业能源消耗”、“制造排放”、“气候 CO2”)
  3. 查看数据描述、文件列表和预览内容
  4. 点击“下载”按钮
  5. 解压下载的 ZIP 文件,获取 CSV 文件

替代方案:Kaggle CLI

# 如需安装:pip install kaggle
# 配置:kaggle competitions list

scripts/download_kaggle.sh <dataset-name> [output-dir]
# 示例:scripts/download_kaggle.sh csafrit2/steel-industry-energy-consumption

步骤 2:清洗数据集

上传前必须运行清洗脚本:

python3 scripts/clean_dataset.py <input.csv> [-o <output.csv>]

脚本执行内容:

  • 去除列名中的空白字符
  • 删除重复行
  • 用中位数填充数值型缺失值
  • 用众数或“未知”填充分类型缺失值
  • 将时间戳列转换为 datetime 格式
  • 输出列汇总信息,用于后续元数据配置

输出结果:

  • 生成可上传的清洗后 CSV 文件
  • 控制台打印列汇总信息(请保存用于元数据配置)

步骤 3:上传原始数据集至平台

  1. 打开 data.smlcrm.com/dashboard
  2. 点击 “上传数据集” 按钮
  3. 填写原始数据集的元数据:

- 名称:描述性数据集名称

- 领域:所属类别(能源、制造、气候等)

- 来源链接:Kaggle 或原始数据源地址

- 描述:对数据集的简要说明

  1. 上传 原始/未清洗 的 CSV 文件(非清洗版本)
  2. 点击 上传

结果: 数据集出现在列表中,状态为 RAW

步骤 4:上传清洗文件并配置元数据

  1. 在列表中找到对应的 RAW 数据集
  2. 点击 “清洗” 按钮
  3. 上传 清洗后的 CSV 文件(来自步骤 2)
  4. 为每列配置元数据:
设置说明
名称列名(可编辑)
单位测量单位(kWh、°C、%、比例、tCO2 等)
类型时间 / 目标 / 协变量 / 分组

列类型说明:

  • 时间:时间戳/日期时间列(通常必需)
  • 目标:需要预测的变量(至少一个)
  • 协变量:输入特征/自变量
  • 分组:分类分段变量(如 WeekStatus、Day_of_week、Load_Type 等)

批量配置:

  • 使用复选框选择多列
  • 通过“应用”下拉菜单为选中列统一设置类型
  • 单独或批量设置单位

常见单位模式:

  • 能源:kWh、MWh、MW
  • 功率:kVarh、kW
  • 排放量:tCO2、kgCO2
  • 比例:比例、%
  • 时间:秒、分钟、小时

步骤 5:为变量分配分组

目的: 分组变量定义数据在分析中的划分方式。

操作流程:

  1. 全选所有变量,勾选其复选框:

- 目标变量

- 所有协变量

  1. 为所选变量应用全部分组标签

- 点击第一个分组标签(如 WeekStatus)→ 所有选中变量均添加此分组

- 点击第二个分组标签(如 Day_of_week)→ 所有选中变量均添加此分组

- 点击第三个分组标签(如 Load_Type)→ 所有选中变量均添加此分组

- 依此类推,完成所有可用分组标签的添加

  1. 结果: 所有变量均被赋予全部分组(例如:“WeekStatus × Day_of_week × Load_Type”)

重要提示: 必须同时为 目标变量所有协变量 分配分组。

步骤 6:最终上传

  1. 点击 “上传清洗后数据集” 按钮
  2. 等待系统处理
  3. 数据集状态由 RAW 变为 CLEAN
  4. 核实数据点数量是否正确

示例:钢铁行业能源消耗数据集

来源: https://www.kaggle.com/datasets/csafrit2/steel-industry-energy-consumption

元数据:

  • 名称: 钢铁行业能源消耗(韩国)
  • 领域: 能源
  • 数据点数: 350,400

列配置:

列名类型单位
Timestamps时间-
Usage_kWh目标kWh
Lagging_Current_Reactive.Power_kVarh协变量kVarh
Leading_Current_Reactive_Power_kVarh协变量kVarh
CO2(tCO2)协变量tCO2
Lagging_Current_Power_Factor协变量比例
Leading_Current_Power_Factor协变量比例
NSM协变量
WeekStatus分组-
Day_of_week分组-
Load_Type分组-

分组分配:

  1. 选择:Usage_kWh、Lagging_Current_Reactive.Power_kVarh、Leading_Current_Reactive_Power_kVarh、CO2(tCO2)、Lagging_Current_Power_Factor、Leading_Current_Power_Factor、NSM
  2. 点击:WeekStatus → 所有已选字段均获取 WeekStatus
  3. 点击:Day_of_week → 所有已选字段均获取 Day_of_week
  4. 点击:Load_Type → 所有已选字段均获取 Load_Type
  5. 最终结果:所有变量显示为 "WeekStatus × Day_of_week × Load_Type"

参考资料

有关平台配置的详细指导,请参阅 [references/platform_guide.md](references/platform_guide.md)。

故障排除

“下一步”按钮不可用:

  • 确保至少设置一个时间列
  • 确保至少设置一个目标列
  • 确认所有列均已分配类型

分组未显示:

  • 列必须先标记为“分组”类型
  • 设置分组类型后,再进入下一步

上传失败:

  • 重新运行清洗脚本
  • 检查 CSV 格式(使用逗号分隔)
  • 确认无空列名

脚本说明

脚本用途
scripts/clean_dataset.py清洗并准备 CSV 文件以供上传
scripts/download_kaggle.sh通过 Kaggle CLI 下载数据集

平台地址

数据标注平台:https://data.smlcrm.com

D
@deyashmukh

已收录 1 个 Skill

相关推荐