遇见数据集

johnahn/mdk-mining-controller-data

收藏
Hugging Face2026-04-21 更新2026-04-26 收录
官方服务:

资源简介:

--- license: mit pretty_name: MDK Mining Controller — Synthetic Telemetry & Features tags: - bitcoin-mining - predictive-maintenance - time-series - synthetic-data size_categories: - 1M<n<10M --- # MDK Mining Controller — Data Companion dataset for the [`mdk-mining-controller`](https://github.com/john-yo-ahn/mdk-mining-controller) prototype (3-week Tether MDK assignment). ## What's here | File | Size | What it is | |---|---|---| | `raw/mining_telemetry.parquet` | 150 MB | 5.2 M rows of 1-minute telemetry for 30 ASIC miners across 120 days. 21 columns: hashrate, power, voltage, frequency, temperature, ambient temp, operating mode, is_online, hardware_model_id, miner_id, timestamp, plus failure-scenario metadata. Output of `src/synthetic/generator.py`. | | `raw/mdk.duckdb` | 201 MB | Same telemetry as the parquet, loaded into a DuckDB database. Used by the batch pipeline for fast columnar queries. Idempotent re-derivation from the parquet takes ~30 s. | | `processed/features.v3.parquet` | 3.6 GB | 5.2 M rows × 175 features — the fully engineered feature matrix used to train the XGBoost + LSTM-AE models. Includes the TE KPI and its rolling / trend / correlation variants. Output of `src/pipeline/features.py:build_feature_matrix`. Rebuilding from raw costs ~25 min. | All files are **reproducible from the repo's synthetic generator** — nothing here is real mining data. The dataset exists to let reviewers skip the 40-minute rebuild step. ## Usage Clone the code repo first: ```bash git clone https://github.com/john-yo-ahn/mdk-mining-controller cd mdk-mining-controller uv sync ``` Then download this dataset into the expected layout: ```bash uv run python -c " from huggingface_hub import snapshot_download snapshot_download( 'johnahn/mdk-mining-controller-data', repo_type='dataset', local_dir='data', ) " ``` Now the repo has the full `data/raw/` + `data/processed/` tree. Run: ```bash uv run mdk check # 13/13 pipeline invariants, ~11 min uv run mdk validate # 4 end-to-end tests, ~9 min uv run mdk # live Textual dashboard, loads real models ``` ## Provenance & seeding All artifacts were generated deterministically with `seed=42` across the generator, split, and model training. Reruns produce byte-identical metrics to the sidecar metadata in the code repo under `data/models/*.metadata.json`. The `mdk check` harness explicitly verifies this on every invocation. ## Schema ### `raw/mining_telemetry.parquet` (21 columns) `miner_id`, `timestamp`, `hashrate_th`, `power_w`, `voltage_v`, `frequency_mhz`, `temperature_c`, `ambient_temperature_c`, `operating_mode`, `is_online`, `hardware_model_id`, `hardware_model`, `hash_board_serial`, `scenario_name`, `scenario_onset_step`, `scenario_duration`, `is_pre_failure`, `fan_rpm`, `error_count`, `voltage_sag`, `hashrate_error`. ### `processed/features.v3.parquet` (175 columns) Derived from the raw 21 + intermediate 34 columns. Categories: - **Ratios** (~10): `efficiency_jth`, `temp_delta_c`, `power_per_ghz`, `voltage_deviation`, `hashrate_realization`, `te_base`, `te_adjusted`, `te_health`, … - **Rolling statistics** (~80): `{metric}_roll_{60|360|10080}m_{mean|std|min|max}` for all 10 base signals - **Trend features** (~20): linear-regression slopes and rate-of-change over 60/360-minute windows - **Cross-signal correlations** (~15): voltage-temperature, power-hashrate, TE-voltage, etc. rolling correlations - **Diurnal features** (~6): hour-of-day, day-of-week, sine/cosine encodings - **Cross-miner features** (~10): container-level means and deviations from container baseline - **Labels**: `is_pre_failure` (binary target), `failure_type` (multi-class for analysis) Full schema enumerable via `build_feature_matrix` in `src/pipeline/features.py` in the code repo. ## License MIT. Same as the code repo. ## Citation Not peer-reviewed work — a prototype built against Tether's MDK assignment spec. If you reference it, a link back to both repos is appreciated: - Code: https://github.com/john-yo-ahn/mdk-mining-controller - Data: https://huggingface.co/datasets/johnahn/mdk-mining-controller-data

> 许可证:MIT许可证(MIT License) > 数据集展示名:MDK挖矿控制器——合成遥测数据与特征集 > 标签:比特币挖矿、预测性维护、时间序列、合成数据 > 数据规模分类:100万<数据量<1000万 # MDK挖矿控制器——数据集 本数据集为 [`mdk-mining-controller`](https://github.com/john-yo-ahn/mdk-mining-controller) 原型的配套数据集,源自为期3周的Tether MDK任务。 ## 数据集内容 | 文件路径 | 大小 | 内容说明 | |---|---|---| | `raw/mining_telemetry.parquet` | 150 MB | 包含520万行1分钟间隔的遥测数据,覆盖120天内的30台专用集成电路(Application-Specific Integrated Circuit, ASIC)挖矿机。共21个字段:哈希率、功率、电压、频率、温度、环境温度、运行模式、在线状态、硬件型号ID、挖矿机ID、时间戳,以及故障场景元数据。该文件由`src/synthetic/generator.py`生成。 | | `raw/mdk.duckdb` | 201 MB | 与Parquet列式存储格式文件包含完全一致的遥测数据,已加载至DuckDB数据库中,用于批处理管道以实现快速列式查询。从Parquet文件重新生成该数据库(幂等操作)耗时约30秒。 | | `processed/features.v3.parquet` | 3.6 GB | 包含520万行×175个特征,为用于训练极端梯度提升(Extreme Gradient Boosting, XGBoost)+ 长短期记忆自编码器(Long Short-Term Memory Autoencoder, LSTM-AE)模型的完整工程化特征矩阵,包含TE KPI及其滚动、趋势、相关变体特征。该文件由`src/pipeline/features.py:build_feature_matrix`生成。从原始数据重建该特征集耗时约25分钟。 | 所有文件均可通过代码仓库的合成数据生成器复现——本数据集未包含真实挖矿数据。其设计目的是让评审者跳过耗时40分钟的数据重建步骤。 ## 使用方法 首先克隆代码仓库: bash git clone https://github.com/john-yo-ahn/mdk-mining-controller cd mdk-mining-controller uv sync 随后运行以下命令下载本数据集至指定路径: bash uv run python -c " from huggingface_hub import snapshot_download snapshot_download( 'johnahn/mdk-mining-controller-data', repo_type='dataset', local_dir='data', ) " 此时仓库将包含完整的`data/raw/`与`data/processed/`目录树。执行以下命令: bash uv run mdk check # 验证13/13项管道不变量,耗时约11分钟 uv run mdk validate # 运行4项端到端测试,耗时约9分钟 uv run mdk # 启动实时文本仪表板,加载预训练模型 ## 溯源与种子设置 所有产出物均通过`seed=42`确定性生成,覆盖数据生成、数据集拆分与模型训练全流程。重新运行生成流程将得到与代码仓库`data/models/*.metadata.json`中附带元数据完全一致的指标值。`mdk check`工具在每次运行时都会显式验证这一特性。 ## 数据Schema ### `raw/mining_telemetry.parquet`(21个字段) `miner_id`(挖矿机ID)、`timestamp`(时间戳)、`hashrate_th`(哈希率,单位太哈希/秒)、`power_w`(功率,单位瓦特)、`voltage_v`(电压,单位伏特)、`frequency_mhz`(频率,单位兆赫兹)、`temperature_c`(温度,单位摄氏度)、`ambient_temperature_c`(环境温度,单位摄氏度)、`operating_mode`(运行模式)、`is_online`(在线状态)、`hardware_model_id`(硬件型号ID)、`hardware_model`(硬件型号)、`hash_board_serial`(算力板序列号)、`scenario_name`(场景名称)、`scenario_onset_step`(场景触发步长)、`scenario_duration`(场景持续时长)、`is_pre_failure`(故障前状态)、`fan_rpm`(风扇转速,单位转/分钟)、`error_count`(错误计数)、`voltage_sag`(电压跌落)、`hashrate_error`(哈希率误差)。 ### `processed/features.v3.parquet`(175个字段) 该特征集源自原始21个字段与中间34个字段,包含以下类别特征: - **比率特征**(约10项):`efficiency_jth`(能效比)、`temp_delta_c`(温度差,单位摄氏度)、`power_per_ghz`(每吉赫兹功率)、`voltage_deviation`(电压偏差)、`hashrate_realization`(哈希率实现率)、`te_base`(TE基准值)、`te_adjusted`(TE调整值)、`te_health`(TE健康度)等 - **滚动统计特征**(约80项):针对10个基础信号的`{metric}_roll_{60|360|10080}m_{mean|std|min|max}`格式特征,分别对应60、360、10080分钟窗口下的均值、标准差、最小值、最大值 - **趋势特征**(约20项):60/360分钟窗口下的线性回归斜率与变化率 - **跨信号相关性特征**(约15项):电压-温度、功率-哈希率、TE-电压等滚动相关性特征 - **昼夜特征**(约6项):当日时刻、当周天数、正弦/余弦编码特征 - **跨挖矿机特征**(约10项):集群级均值与集群基准偏差 - **标签列**:`is_pre_failure`(二分类目标变量)、`failure_type`(用于分析的多分类故障类型) 完整的Schema可通过代码仓库中`src/pipeline/features.py`的`build_feature_matrix`函数枚举获取。 ## 许可证 MIT许可证(MIT License),与代码仓库保持一致。 ## 引用说明 本工作并非经过同行评审的学术成果,仅为遵循Tether MDK任务规范开发的原型项目。若您引用本数据集,烦请附上两个仓库的链接: - 代码仓库:https://github.com/john-yo-ahn/mdk-mining-controller - 数据集仓库:https://huggingface.co/datasets/johnahn/mdk-mining-controller-data

提供机构:
johnahn
二维码
社区交流群
二维码
科研交流群
商业服务