# generate_data **Repository Path**: yyl2291/generate_data ## Basic Information - **Project Name**: generate_data - **Description**: 本项目是风机听诊系统的模拟数据生成工具,可生成包含多种异常类型的风机运行数据,并自动生成对应的异常标签标注文件。适用于: - **Primary Language**: Python - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-08 - **Last Updated**: 2026-03-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 风机听诊系统 - 模拟数据生成器 [![Python](https://img.shields.io/badge/Python-3.7+-blue.svg)](https://www.python.org/) [![License](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE) ## 📋 项目简介 本项目是风机听诊系统的模拟数据生成工具,可生成包含多种异常类型的风机运行数据,并自动生成对应的异常标签标注文件。适用于: - ✅ 风机故障诊断算法研究 - ✅ 机器学习模型训练数据准备 - ✅ 风电场运维系统测试 - ✅ 学术研究与教学演示 ## ✨ 主要特性 - **多种异常类型**:支持温度突升、振动异常、功率大偏差、声学异常、复合异常 - **可配置参数**:通过 YAML 配置文件灵活调整生成参数 - **日志记录**:完整的运行日志记录,便于问题排查 - **质量验证**:提供数据验证工具脚本 - **单元测试**:包含完整的测试用例,确保代码质量 ## 🚀 快速开始 ### 方法一:一键启动(推荐) ```bash # Windows 用户直接双击或在命令行执行 run.bat ``` ### 方法二:手动执行 ```bash # 1. 安装依赖 pip install -r requirements.txt # 2. 运行数据生成 cd src python generate_data.py ``` ### 方法三:使用配置文件 ```bash # 修改 config.yaml 中的参数后运行 python src/generate_data.py ``` ## 📁 项目结构 ``` generate_data/ ├── src/ # 源代码目录 │ └── generate_data.py # 主程序 ├── data/ # 数据文件目录(输出) │ └── wind_turbine_data.csv # 风机运行数据 ├── output/ # 输出结果目录 │ └── anomaly_label.csv # 异常标签文件 ├── logs/ # 日志文件目录 │ └── data_generation.log # 运行日志 ├── tests/ # 单元测试目录 │ └── test_generate_data.py # 测试用例 ├── scripts/ # 辅助工具目录 │ └── validate_data.py # 数据验证工具 ├── config.yaml # 配置文件 ├── requirements.txt # 依赖清单 ├── run.bat # 快速启动脚本 ├── README.md # 本文件 └── .gitignore # Git 配置 ``` ## 📊 输出数据说明 ### 1. 风机运行数据 (wind_turbine_data.csv) | 字段名 | 说明 | 单位 | |--------|------|------| | timestamp | 时间戳 | - | | turbine_id | 机组编号 | - | | wind_speed | 风速 | m/s | | rated_power | 额定功率 | kW | | actual_power | 实际功率 | kW | | power_dev_pct | 功率偏差百分比 | % | | temperature | 温度 | ℃ | | vibration | 振动 | mm/s | | sound_level | 声级 | dB | | alert_level | 告警等级 | normal/warning/alarm | | alert_reason | 告警原因 | - | ### 2. 异常标签文件 (anomaly_label.csv) | 字段名 | 说明 | |--------|------| | timestamp | 时间戳 | | turbine_id | 机组编号 | | anomaly_type | 异常类型 | | alert_level | 告警等级 | | is_compound | 是否复合异常 (0/1) | ## ⚙️ 配置参数说明 编辑 `config.yaml` 文件可调整以下参数: ### 基础配置 - `turbine_num`: 机组数量(默认 5) - `days`: 时间跨度(默认 30 天) - `start_time`: 开始时间 ### 异常注入配置 - `base_ratio`: 总异常率(默认 15%) - `ratios.*`: 各异常类型占比 ### 阈值配置 - 各字段的预警和报警阈值范围 ### 日志配置 - `level`: 日志级别(DEBUG/INFO/WARNING/ERROR) - `console_output`: 是否同时输出到控制台 ## 🔧 工具脚本 ### 数据验证工具 ```bash # 验证生成数据的质量 python scripts/validate_data.py ``` ### 运行测试 ```bash # 运行单元测试 pytest # 查看测试覆盖率 pytest --cov=src --cov-report=html ``` ## 🛠️ 常见问题 ### Q1: 如何修改异常比例? 编辑 `config.yaml` 中的 `anomaly.base_ratio` 和 `anomaly.ratios` 参数。 ### Q2: 日志文件在哪里? 日志文件位于 `logs/data_generation.log`。 ### Q3: 如何自定义输出路径? 在 `config.yaml` 的 `output` 部分修改文件路径。 ### Q4: 数据无法生成怎么办? 1. 检查 Python 版本(需要 3.7+) 2. 查看日志文件 `logs/data_generation.log` 3. 确认依赖已安装:`pip install -r requirements.txt` ## 📝 更新日志 ### v2.0 - 2025-03-06 - ✅ 添加独立配置文件 config.yaml - ✅ 集成 logging 日志系统 - ✅ 创建 tests 单元测试目录 - ✅ 创建 scripts 工具脚本目录 - ✅ 使用绝对路径提高兼容性 - ✅ 完善文档体系 ### v1.0 - 初始版本 - ✅ 基础数据生成功能 - ✅ 支持 5 种异常类型 - ✅ 告警等级判断 ## 📄 许可证 本项目采用 MIT 许可证。详见 [LICENSE](LICENSE) 文件。 ## 👥 作者 风机听诊系统研发团队 ## 📧 联系方式 如有问题请提交 Issue 或发送邮件至 support@example.com --- **祝您使用愉快!** 🎉