An open API service indexing awesome lists of open source software.

https://github.com/jianxi-erin/bigdata-machinelearning-lab

本项目是一个综合性的大数据与机器学习实验平台,包含两个主要任务,每个任务涵盖三个关键技术模块:大数据处理、数据分析和机器学习。项目基于真实的竞赛设计,提供完整的数据处理模拟和建模实践。
https://github.com/jianxi-erin/bigdata-machinelearning-lab

data-analysis data-visualization hadoop machine-learning python spark sql

Last synced: about 2 months ago
JSON representation

本项目是一个综合性的大数据与机器学习实验平台,包含两个主要任务,每个任务涵盖三个关键技术模块:大数据处理、数据分析和机器学习。项目基于真实的竞赛设计,提供完整的数据处理模拟和建模实践。

Awesome Lists containing this project

README

          

# 大数据与机器学习综合项目

## 🎯 项目概述

本项目是一个综合性的大数据与机器学习实验平台,包含两个主要任务,每个任务涵盖三个关键技术模块:大数据处理、数据分析和机器学习。项目基于真实的竞赛题目设计,提供完整的数据处理流水线和建模实践。

## 📁 项目结构

```
BigData-MachineLearning-Lab/
├── data/ # 数据存储目录
├── img/ # 图像资源
├── question/ # 任务书
│ ├── task1/ # 任务1:三个技术模块
│ │ ├── moduleA # 模块A:大数据运维与应用
│ │ ├── module_B # 模块B:电影数据分析
│ │ └── module_C # 模块C:信用卡欺诈检测
│ └── task2/ # 任务2:三个技术模块
│ ├── module_A # 模块A:游戏运营数据分析
│ ├── module_B # 模块B:奥林匹克数据分析
│ └── module_C # 模块C:橙汁销售数据预测
├── Answer1.ipynb # 任务一源码
├── Answer2.ipynb # 任务二源码
└── README.md # 项目说明文档
```

## 🏆 Task 1 详细说明

### 模块A:[大数据运维与应用 (30分)](./question/task1/moduleA任务书.docx)
**竞赛题目**:大数据运维与应用

**技术栈**:

- Hadoop生态系统 (HDFS, MapReduce, YARN)
- Sqoop数据迁移工具
- Hive数据仓库
- Flume日志收集
- Spark分布式计算

**核心任务**:
1. **Hadoop集群部署与配置**
- 配置hosts文件和三节点集群
- 修改HDFS数据备份数量
- 启动完整Hadoop服务

2. **HDFS文件操作**
- 目录创建和权限管理
- 文件上传和同步

3. **Sqoop数据迁移**
- MySQL与Hive数据双向同步
- 关系数据库与大数据平台集成

4. **Hive数据分析**
- 复杂数据类型处理(Map, Array, Struct)
- 外部表创建和查询优化
- 产品评分分析

5. **Flume实时监控**
- 文件监控和HDFS自动同步

6. **Spark分布式计算**
- 电影评分数据分析
- 时间段划分和统计计算

### 模块B:[数据分析 (30分)](./question/task1/moduleB任务书.docx)
**竞赛题目**:电影数据分析

**数据集**:
- data/tmdb_5000_credits.csv
- 'data/tmdb_5000_movies.csv

**数据处理流程**:
1. **数据清洗**
- 删除冗余字段
- 处理缺失值
- 特征工程(收益计算)

2. **字段解析**
- JSON格式解析(genres, keywords, production_companies等)
- 导演信息提取
- 时间字段格式化

**可视化分析**:
- 📊 关键词词云分析
- 📈 电影时长分布直方图
- 🌹 产地分布玫瑰图
- 🎯 导演票房排名条形图
- 🌪️ 原创vs改编电影旋风图
- 🥧 电影类型占比饼图
- 📊 类型趋势折线图
- 💰 收益能力混合图表
- 🎬 类型Top5象形条形图

### 模块C:[机器学习 (40分)](./question/task1/moduleC任务书.docx)
**竞赛题目**:信用卡欺诈检测
**数据集**:
- data/credit_card_fraud.csv
**数据特征**:
- V1-V28: PCA变换后的主成分(保密特征)
- Amount: 交易金额
- Class: 欺诈标签(0:正常, 1:欺诈)

**技术挑战**:
- ⚖️ 极端数据不平衡(欺诈案例占少数)
- 🔍 欺诈模式隐藏在海量正常交易中
- ⚡ 需要快速适应变化的欺诈模式

**建模方法**:
1. **数据预处理**
- 特征标准化
- 处理不平衡数据(SMOTE, 欠采样等)

2. **模型选择**
- 传统机器学习分类器
- 集成学习方法
- 深度学习模型

3. **评估指标**
- F1分数(精确率和召回率的调和平均)
- 混淆矩阵分析
- ROC曲线评估

## 🎮 Task 2 详细说明

### 模块A:[大数据 (30分)](./question/task2/moduleA任务书.docx)
**竞赛题目**:电影数据
**竞赛题目**:游戏运营数据分析

**数据表**:game_data(游戏用户行为数据)

**核心指标分析**:
1. **用户基础分析**
- 注册用户量随时间分布
- 最大注册日统计

2. **营收指标**
- ARPU(每用户平均收入)= 总付费金额 / 活跃人数
- 活跃用户定义:日均在线时间 ≥ 30分钟

3. **转化分析**
- 付费转化率 = 付费用户 / 总用户数 × 100%
- 等级与付费转化率关系分析

**技术实施**:
- Hadoop集群配置(块大小优化)
- HDFS文件操作
- Sqoop数据迁移
- Hive数据分析查询
- Spark集群部署和Hive集成

### 模块B:[数据分析 (30分)](./question/task2/moduleB任务书.docx)
**竞赛题目**:奥林匹克数据分析

**数据集**:
- data/athlete_events.csv (271,116条记录,15个字段)
- data/noc_regions.csv (国家奥委会地区信息)

**分析内容**:
1. **国家参与分析**
- 每届奥运会都参加的国家
- 中国参与次数统计

2. **奖牌分析**
- 2008年中国获奖人数
- 金牌最多国家和选手

3. **选手分析**
- 参与次数最多的选手
- 年龄最大的运动员(排除艺术比赛)

**可视化展示**:
- 🏃 运动项目词云图
- 👥 参赛者性别比例环形图
- 📊 历年平均年龄变化折线图
- 🥇 金牌国家Top10条形图
- 🏆 个人奖牌榜柱状图
- 🏊 田泳项目占比折线图
- 🏟️ 主场优势折线矩阵图
- 🇨🇳 中国奥运成绩变迁史
- 🎯 中国强势项目蓝丁格尔图

### 模块C:[机器学习 (40分)](./question/task2/moduleC任务书.docx)
**竞赛题目**:橙汁销售数据预测

**数据集**:
- data/orange_juice.csv
**数据描述**:
- 训练集: 845个样本,17个特征 + 1个标签
- 测试集: 212个样本,17个特征
- 标签: Purchase (0:CH, 1:MM)

**特征工程**:
- 价格特征: PriceCH, PriceMM, SalePriceCH, SalePriceMM
- 折扣特征: DiscCH, DiscMM, PctDiscCH, PctDiscMM
- 促销特征: SpecialCH, SpecialMM
- 客户特征: LoyalCH (品牌忠诚度)
- 商店特征: StoreID, Store7, STORE
- 衍生特征: PriceDiff, ListPriceDiff

**建模方法**:
- 多种分类器选择(15+种模型)
- 参数调优和模型集成
- 准确率(accuracy_score)作为评估指标

**业务价值**:
- 优化商品配置和库存管理
- 提升销售额和市场占有率
- 实现数据驱动的零售决策

## 🛠️ 技术栈

### 大数据技术
- **分布式存储**: HDFS
- **资源管理**: YARN
- **数据迁移**: Sqoop
- **数据仓库**: Hive
- **实时收集**: Flume
- **分布式计算**: Spark

### 数据分析
- **编程语言**: Python, SQL
- **数据处理**: Pandas, NumPy
- **数据可视化**: Matplotlib, Seaborn, Pyecharts
- **JSON解析**: JSON库, 正则表达式

### 机器学习
- **传统ML**: Scikit-learn (15+分类器)
- **集成学习**: XGBoost, LightGBM
- **评估指标**: F1-score, Accuracy
- **数据平衡**: SMOTE, 欠采样

## 📊 预期成果

### 技术能力提升
- 掌握完整的大数据生态系统部署和运维
- 熟练进行复杂数据清洗和特征工程
- 具备多维度数据可视化能力
- 掌握不平衡数据集的机器学习建模

### 项目交付物
- 完整可运行的大数据集群
- 详细的数据分析报告和可视化图表
- 高性能的机器学习预测模型
- 完整的技术文档和代码注释

## 📝 项目特点

1. **真实性**: 基于实际竞赛题目,解决真实业务问题
2. **完整性**: 覆盖数据采集、处理、分析、建模全流程
3. **技术深度**: 涉及多种大数据和机器学习技术栈
4. **实践性**: 提供完整的环境配置和代码实现
5. **可扩展性**: 模块化设计,便于扩展和定制

**⭐ 如果这个项目对您有帮助,请给它一个Star!**