# ChinaVis 2024 **Repository Path**: xing-xiaoshuo/china-vis-2024 ## Basic Information - **Project Name**: ChinaVis 2024 - **Description**: ChinaVis 2024可视分析挑战赛项目,属于可视化课程项目。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-15 - **Last Updated**: 2026-01-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 教育数据可视化分析项目 基于 ChinaVis2024 时序多变量教育数据的完整数据处理与可视化分析系统。 --- ## 📁 项目结构 ``` 可视化项目/ ├── 工作目录/ # 核心工作代码 │ ├── codes/ # Python 脚本 │ │ ├── 数据处理/ │ │ │ ├── 数据处理完整实现.py # 主数据处理流程 │ │ │ ├── 数据处理补充模块.py # 补充分析模块 │ │ │ ├── 测试补充模块路径.py # 路径测试工具 │ │ │ └── 运行补充模块.bat # 一键运行脚本 │ │ └── 数据过滤/ │ │ ├── 学生信息数据过滤.py │ │ ├── 题目信息数据过滤.py │ │ └── 提交记录数据过滤.py │ ├── README.md # 工作目录说明 │ ├── requirements.txt # Python 依赖 │ └── Score过滤策略说明.md │ ├── data/ # 数据目录 │ ├── first_data/ # 原始数据(未上传) │ │ └── Ⅰ时序多变量教育数据可视分析挑战赛_数据/ │ │ ├── Data_StudentInfo.csv │ │ ├── Data_TitleInfo.csv │ │ └── SubmitRecord-Class*.csv │ │ │ └── processed/ # 处理后数据 │ ├── analysis/ # 分析结果(9个JSON) │ │ ├── knowledge_mastery_analysis.json │ │ ├── student_profiles_complete.json │ │ ├── question_quality_evaluation.json │ │ ├── time_period_features.json │ │ ├── time_period_summary.json │ │ ├── question_resource_distribution.json │ │ ├── question_difficulty_ranking.json │ │ ├── learning_mode_shifts.json │ │ └── transition_matrix.json │ │ │ ├── cluster/ # 聚类结果(4个文件) │ │ ├── clustering_results.json │ │ ├── cluster_labels.json │ │ ├── cluster_coordinates.json │ │ └── cluster_visualization.png │ │ │ ├── filtered/ # 过滤后数据(22个文件) │ │ ├── Data_StudentInfo_filtered.csv │ │ ├── Data_TitleInfo_filtered.csv │ │ ├── submit_records/ # 15个班级文件 │ │ └── *_filter_report.txt # 过滤报告 │ │ │ ├── integration/ # 整合数据(15个CSV) │ │ └── integrated_data*.csv │ │ │ ├── monthFeature/ # 月度特征(1个JSON) │ │ └── correct_rates.json │ │ │ ├── temporary/ # 临时中间文件(92个) │ │ ├── s-t-g-new/ # 学生-题目分组 │ │ ├── m-a-d/ # 月度活跃天数 │ │ ├── m-a-q-n/ # 月度答题数 │ │ ├── m-p-l/ # 月度编程语言 │ │ ├── m-q-s-c/ # 月度题目状态 │ │ ├── m-t-s/ # 月度时间统计 │ │ └── s-s-c/ # 学生提交次数 │ │ │ └── visualization_advanced/ # 可视化结果(9个图表) │ ├── .gitignore # Git 忽略配置 └── README.md # 本文件 ``` --- ## 🚀 快速开始 ### 1. 环境要求 - Python 3.8+ - 操作系统:Windows / Linux / macOS ### 2. 安装依赖 ```bash cd 工作目录 pip install -r requirements.txt ``` **核心依赖:** - pandas >= 1.3.0 - numpy >= 1.21.0 - scikit-learn >= 1.0.0 ### 3. 准备数据 将原始数据放置在以下目录: ``` data/first_data/Ⅰ时序多变量教育数据可视分析挑战赛_数据/ ├── Data_StudentInfo.csv ├── Data_TitleInfo.csv └── SubmitRecord-Class*.csv (15个文件) ``` ### 4. 运行数据处理 #### 方式1:完整流程(推荐) ```bash # 进入数据处理目录 cd 工作目录/codes/数据处理 # 运行主数据处理 python 数据处理完整实现.py # 运行补充分析模块 python 数据处理补充模块.py ``` 或使用一键脚本: ```bash cd 工作目录/codes/数据处理 运行补充模块.bat ``` #### 方式2:数据过滤(可选) ```bash cd 工作目录/codes/数据过滤 # 过滤学生信息 python 学生信息数据过滤.py # 过滤题目信息 python 题目信息数据过滤.py # 过滤提交记录 python 提交记录数据过滤.py ``` --- ## 📊 数据处理流程 ### 主流程(数据处理完整实现.py) 1. **数据加载与整合** - 合并学生、题目、提交记录 2. **特征提取** - 提取学习行为特征 3. **知识掌握度分析** - 计算知识点掌握程度 4. **学习模式聚类** - K-means 聚类分析 5. **学生画像生成** - 生成完整学生档案 6. **题目质量评估** - 评估题目难度和区分度 ### 补充模块(数据处理补充模块.py) 1. **时间模式细粒度分析** - 8时段学习分布 2. **题目资源分布统计** - 时间/内存消耗分析 3. **正确率统计** - 月度正确率计算 4. **学习模式转移分析** - 聚类转移矩阵 5. **特征相关性分析** - 特征与掌握度相关性 --- ## 📈 输出结果 ### 分析结果(data/processed/analysis/) | 文件 | 说明 | 数据量 | |------|------|--------| | knowledge_mastery_analysis.json | 知识掌握度 | 1365名学生 | | student_profiles_complete.json | 学生画像 | 1365名学生 | | question_quality_evaluation.json | 题目质量 | 38道题目 | | time_period_features.json | 时间模式 | 1365名学生×5个月 | | question_resource_distribution.json | 资源消耗 | 38道题目 | | correct_rates.json | 正确率 | 1365名学生×5个月 | | learning_mode_shifts.json | 模式转移 | 1365名学生 | ### 关键发现 - **学生总数**: 1,365 名 - **题目总数**: 38 道 - **总提交次数**: 232,588 次 - **时间跨度**: 2023-09 至 2024-01(5个月) - **聚类数量**: 3 个学习模式 - **平均正确率**: 47.53% - **学习高峰时段**: 晚上 18-24点(57.1%) --- ## 🎯 支持的可视化 ### 基础可视化 - 学习特征分布图 - 知识掌握度雷达图 - 聚类散点图 - 题目难度分布 ### 高级可视化 - 时间热力图(8时段×工作日/周末) - 学习模式转移桑基图 - 题目资源消耗散点图 - 正确率趋势折线图 - 特征相关性热力图 --- ## 📝 日志与报告 所有处理过程会生成详细日志: ``` 工作目录/ ├── data_processing.log # 主处理日志 └── supplement_modules.log # 补充模块日志 data/processed/filtered/ ├── student_info_filter_report.txt # 学生信息过滤报告 ├── title_info_filter_report.txt # 题目信息过滤报告 └── submit_record_filter_report.txt # 提交记录过滤报告 ``` --- ## ⚙️ 配置说明 ### 路径配置(自动检测) 脚本会自动检测项目路径,无需手动配置。如需调整: ```python # 数据处理完整实现.py DATA_BASE_PATH = "../../data/first_data/Ⅰ时序多变量教育数据可视分析挑战赛_数据/" OUTPUT_BASE = "../../data/processed/" ``` ### 时间范围 ```python MONTHS = ["2023-09", "2023-10", "2023-11", "2023-12", "2024-01"] ``` ### 聚类参数 ```python N_CLUSTERS = 3 # 聚类数量 RANDOM_STATE = 42 ``` --- ## 🔧 故障排除 ### 问题1:找不到数据文件 **解决方案**:确认数据文件路径正确 ```bash cd 工作目录/codes/数据处理 python 测试补充模块路径.py ``` ### 问题2:内存不足 **解决方案**:分批处理或增加虚拟内存 ### 问题3:编码错误 **解决方案**:确保文件编码为 UTF-8 --- ## 📦 数据统计 | 维度 | 数量 | 说明 | |------|------|------| | **原始数据** | ~150MB | CSV 文件 | | **处理后数据** | ~206MB | JSON + CSV | | **JSON 文件** | ~60个 | 分析结果 | | **CSV 文件** | ~30个 | 整合数据 | | **可视化图表** | ~10个 | PNG 图片 | --- ## 📄 许可说明 本项目基于 ChinaVis2024 数据挑战赛数据开发,仅供学习研究使用。 --- ## 🙏 致谢 - ChinaVis2024 数据挑战赛组委会 - 重庆大学参考作品(梁兴竞团队) --- **最后更新**: 2025-11-15