案例展示 FIT5202 - Data Processing for Big Data
编辑
47
2024-09-23
案例展示 FIT5202 - Data Processing for Big Data
作业简介
课程: FIT5202 - Data Processing for Big Data
作业编号: Assignment 2A
截止日期: 2024年9月20日晚上11:55 (第9周末)
分值: 占最终成绩的15%
背景
Monash Fashion Corporation (MFC) 是一家在线时尚零售商,专注于提供多种多样的时尚产品。然而,随着业务增长,欺诈活动也随之增加,尤其是“无卡支付欺诈 (CNP Fraud)”。因此,MFC希望开发一个实时的欺诈检测系统,通过大规模处理交易数据,识别可疑活动并快速响应。你需要开发一个使用 Apache Spark MLlib 和 Spark Streaming 的机器学习模型,来检测和预防欺诈交易。
本项目分为两个部分:
- Part A:探索历史数据并使用 Spark MLlib 构建机器学习模型来检测欺诈交易。
- Part B:使用流数据预测和检测欺诈交易,并对其进行可视化。
数据集
给定的数据集包括多个CSV文件:
category.csv
: 产品类别信息customer.csv
: 客户信息product.csv
: 产品信息transaction.csv
: 销售交易记录browsing_behaviour.csv
: 客户浏览行为customer_session.csv
: 浏览会话与客户信息的关系fraud_transaction.csv
: 被确认的欺诈交易
项目目标
- 用例1: 基于客户信息和浏览行为,预测某销售交易是否为欺诈交易(分类任务)。
- 用例2: 通过无监督学习(K-Means 聚类),发现潜在欺诈者的共性特征。
项目架构
该项目的第一部分涉及数据准备、数据探索、特征提取及机器学习模型的构建与保存。
在两个部分中,你需要使用 PySpark DataFrame/MLlib 进行数据预处理和机器学习管道的实现。
项目步骤
Part 1: 数据加载、转换与探索 (30%)
1.1 数据加载 (7%)
- 创建一个 SparkSession,并配置 Spark 应用以便于处理大规模数据。
- 根据给定的模式 (Schema) 加载各个 CSV 文件至 PySpark DataFrame,并打印数据框的模式。
1.2 数据转换与特征创建 (12%)
- 基于
browsing_behaviour.csv
文件中的行为事件,创建特征,例如L1、L2、L3事件的计数和比例。 - 对浏览会话数据进行时间分组,将一天划分为早上、下午、晚上和深夜四个时段。
- 合并客户信息和交易信息,创建新的特征列,如性别、年龄、地理位置、加入年份等。
- 将欺诈标签加入特征数据框。
1.3 数据探索 (11%)
- 展示数据的基础统计信息(例如,均值、标准差、最小值、最大值等)。
- 创建两个图表来展示发现的重要信息,其中一个图表应与欺诈行为相关。
Part 2: 特征提取与机器学习训练 (50%)
2.1 特征选择与讨论 (10%)
- 根据数据探索的结果,讨论哪些特征重要,哪些特征需要被移除或转换,选择要用于模型训练的特征。
2.2 创建 Spark ML 转换器和估计器 (10%)
- 创建适用于特征转换的 Transformer 和 Estimator,并分别为随机森林 (RF) 和梯度提升树 (GBT) 创建模型。
2.3 准备训练和测试数据 (5%)
- 将数据分为训练集和测试集,确保模型能有效进行训练和验证。
2.4 模型训练与评估 (25%)
- 使用训练集对模型进行训练,并使用测试集进行预测,计算模型的AUC、准确率、召回率和精度。
- 保存表现较好的模型,以备在 Part B 中使用。
Part 3: 客户聚类与知识共享 (10%)
- 使用 K-Means 聚类来发现潜在欺诈者的共性行为。
- 识别最常见的欺诈者行为特征,并提供一段300字的分析。
Part 4: 数据伦理、隐私与安全 (10%)
在大数据时代,数据伦理、隐私和安全问题变得尤为重要。你需要结合当代研究和实际案例,探讨这些问题并提出改进建议,字数限制为500字。
提交要求
你需要提交以下文件:
- Jupyter Notebook 文件,命名格式为
A2A_authcate.ipynb
。 - 从 Jupyter Notebook 导出的 PDF 文件,命名格式为
A2A_authcate.pdf
。
联系我们
WeChat:pythonyt001
Email: [email protected]
- 0
-
分享