电商平台用户行为分析系统的数据采集与处理流程设计

内容分享6天前发布
0 0 0

一、真题

试题代码
试题名称
电商平台用户行为分析系统的数据采集与处理流程设计

场地设备要求
人工智能训练师主机:CPU(intel i5 及以上)、内存(不少于 16GB)、操作系统(windows10)、支持深度学习训练;

考核时间
30min

工作任务
某电商平台希望通过用户行为数据分析,了解用户购物习惯、购买倾向等,从而优化产品推荐系统,提高用户满意度和销售额。作为数据分析师,您需要设计一套全面的业务数据采集与处理流程,确保数据在进入用户行为分析系统之前经过严格的采集、清洗和预处理。

我们提供一个用户行为数据集(user_behavior_data.csv),包含以下字段:

UserID: 用户ID

UserName: 用户名

Age: 年龄

Gender: 性别(Male/Female)

Location: 位置

LastLogin: 上次登录时间

PurchaseAmount: 购买金额

PurchaseCategory: 购买类别(例如,电子产品、服装、食品等)

ReviewScore: 用户评价评分(1-5)

LoginFrequency: 登录频率(每日、每周、每月)

你作为人工智能训练师,根据提供的user_behavior_data.csv数据集和Python代码框架(1.1.4.ipynb),完成以下数据的采集与处理任务,确保数据的准确性和可靠性。请按照以下要求完成任务,确保结果准确并保存相应的截图。

(1)数据采集:

通过运行Python代码(1.1.4.ipynb),从本地文件user_behavior_data.csv中读取数据,并将数据加载到DataFrame中。打印前5条数据。

(2)数据清洗与预处理:

通过运行Python代码(1.1.4.ipynb)对数据进行清洗和预处理,具体要求如下:

处理缺失值:对缺失值进行填充或删除。

数据类型转换:确保每个字段的数据类型正确。

处理异常值:删除不合理的年龄、购买金额和评价评分。

数据标准化:对购买金额和评价评分进行标准化处理。

清洗后的数据保存为新文件cleaned_user_behavior_data.csv。

(3)数据统计:

通过运行Python代码(1.1.4.ipynb),完成以下数据统计任务:

统计每个购买类别的用户数。

统计不同性别的平均购买金额。

统计不同年龄段的用户数(18-25岁、26-35岁、36-45岁、46-55岁、56-65岁、65岁以上)。

将统计结果分别截图以JPG的格式保存,分别命名为“1.1.4-1”、“1.1.4-2”、“1.1.4-3”。

所有结果文件储存在桌面新建的考生文件夹中,文件夹命名为“准考证号+身份证号后六位”。

技能要求
(1)能结合人工智能技术要求和业务特征,设计整套业务数据采集流程

(2)能结合人工智能技术要求和业务特征,设计整套业务数据处理流程

质量指标
(1)完整性指标:数据集中无缺失值和重复记录。

(2)合理性指标:所有数据点符合业务规则,无异常值存在。

(3)清洗效果指标:清洗后的数据集完整、合理,且适于建模分析。

二、答案

import pandas
import numpy as np
import matplotlib.pyplot as plt

1. 数据采集

从本地文件中读取数据 2分

data = pandas.read_csv(‘user_behavior_data.csv’)
print(“数据采集完成,已加载到DataFrame中”)

打印数据的前5条记录 2分

print(data.head())
数据采集完成,已加载到DataFrame中
UserID UserName Age Gender Location LastLogin PurchaseAmount
0 1 User_1 62 Female Location_1 2023-06-10 118
1 2 User_2 65 Female Location_2 2023-08-14 466
2 3 User_3 18 Male Location_3 2023-02-17 869
3 4 User_4 21 Female Location_4 2023-03-14 486
4 5 User_5 21 Male Location_5 2023-07-26 753

PurchaseCategory ReviewScore LoginFrequency
0 Clothing 3 Monthly
1 Electronics 4 Weekly
2 Home & Garden 3 Weekly
3 Books 2 Weekly
4 Home & Garden 1 Monthly

2. 数据清洗与预处理

处理缺失值(删除) 2分

data = data.dropna()

数据类型转换

data[‘Age’] = data[‘Age’].astype(int) # Age数据类型转换为int 2分
data[‘PurchaseAmount’] = data[‘PurchaseAmount’].astype(float) # PurchaseAmount数据类型转换为float 2分
data[‘ReviewScore’] = data[‘ReviewScore’].astype(int) # ReviewScore数据类型转换为int 2分

处理异常值 2分

data = data[(data[‘Age’].between(18, 70)) &
(data[‘PurchaseAmount’] > 0) &
(data[‘ReviewScore’] .between(1, 5))]

数据标准化

data[‘PurchaseAmount’] = (data[‘PurchaseAmount’] – data[‘PurchaseAmount’].mean()) / data[‘PurchaseAmount’].std() # PurchaseAmount数据标准化 2分
data[‘ReviewScore’] = (data[‘ReviewScore’] – data[‘ReviewScore’].mean()) / data[‘ReviewScore’].std() # ReviewScore数据标准化 2分

保存清洗后的数据 1分

data.to_csv(‘cleaned_user_behavior_data.csv’, index=False)
print(“数据清洗完成,已保存为 ‘cleaned_user_behavior_data.csv’”)
数据清洗完成,已保存为 ‘cleaned_user_behavior_data.csv’

3. 数据统计

统计每个购买类别的用户数 2分

purchase_category_counts = data[‘PurchaseCategory’].value_counts()
print(“每个购买类别的用户数:
”, purchase_category_counts)

统计不同性别的平均购买金额 2分

gender_purchase_amount_mean = data.groupby(‘Gender’)[‘PurchaseAmount’].mean()
print(“不同性别的平均购买金额:
”, gender_purchase_amount_mean)

统计不同年龄段的用户数 2分

bins = [18, 26, 36, 46, 56, 66, np.inf]
labels = [‘18-25’, ‘26-35’, ‘36-45’, ‘46-55’, ‘56-65’, ‘65+’]
data[‘AgeGroup’] = pandas.cut(data[‘Age’], bins=bins,labels=labels,right=False)
age_group_counts = data[‘AgeGroup’].value_counts().sort_index()
print(“不同年龄段的用户数:
”, age_group_counts)

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
none
暂无评论...