完整模拟题1-题目

  • ~4.54K 字
  1. 1. 2025年度“楚怡杯”湖南省职业院校技能竞赛高职高专组电子信息类Python程序开发赛项【时量:240分钟】
  2. 2. 一、注意事项
  3. 3. 二、竞赛环境
  4. 4. 三、软件组件
  5. 5. 四、赛题
    1. 5.1. 模块一:网络爬虫(20分)
    2. 5.2. 任务一:获取星点视频网站数据
    3. 5.3. 模块二:数据清洗(30分)
    4. 5.4. 任务一:视频数据清洗
    5. 5.5. 模块三:数据分析及可视化(30分)
    6. 5.6. 任务一:视频分类综合热度分析
    7. 5.7. 任务二:视频互动特征分析
    8. 5.8. 模块四:机器学习(15分)
    9. 5.9. 任务一:视频播放量预测
    10. 5.10. 任务二:视频分类智能识别
    11. 5.11. 职业素养(5分)

2025年度“楚怡杯”湖南省职业院校技能竞赛高职高专组电子信息类Python程序开发赛项
【时量:240分钟】

一、注意事项

  1. 请根据大赛所提供的竞赛环境,检查所列的硬件设备、软件清单、材料清单是否齐全,计算机设备是否能正常启动。
  2. 竞赛结束前,在竞赛平台提供的虚拟机中,根据赛题将各项目代码进行完善整合,并运行;根据竞赛平台左侧的答题区进行答题,根据题目要求对运行代码及结果进行截图。
  3. 竞赛结束时,请将答题区的答题报告进行保存提交操作,答题报告在竞赛结束前可重复提交。

二、竞赛环境

  1. PC机:系统已安装Python 3.7.x相关环境。
  2. 根据任务书说明,从竞赛平台虚拟机桌面获取程序开发项目工程项目包。桌面的工程项目包可以直接使用虚拟机中的PyCharm导入、编译、运行和发布。
  3. 竞赛平台虚拟机内为断网环境,但已内置部署于本地的目标网站“星点视频”(https://py-p1.sb-cc.cc.cd),所有爬虫任务均针对该本地站点。

三、软件组件

  1. Python 编程语言及相关开发环境(Python、PyCharm)
  2. Web 框架(Django)
  3. Python 爬虫组件(Requests、lxml、BeautifulSoup、Scrapy、Selenium)
  4. Python 数据分析组件(NumPy、Pandas)
  5. Python 可视化组件(Matplotlib、Pyecharts、seaborn)
  6. Python 机器学习组件(Scikit-learn)

四、赛题

模块一:网络爬虫(20分)

任务一:获取星点视频网站数据

【任务说明】
数据是企业的重要资产。某视频分析团队需要获取“星点视频”平台的公开数据,用于后续分析。现有一个视频网站,网站上有大量用户对各类视频的播放、评论、点赞等数据,请根据具体要求,编写爬虫实现数据抓取。
【任务要求】

  1. 使用requests库向网站首页发送请求。
  2. 使用BeautifulSoup或Xpath从响应内容中解析数据。
  3. 从首页中获取视频分类名和各类别链接。
  4. 向各类别链接发送请求,从响应内容中获取视频具体的播放、评论、点赞等数据。
  5. 将抓取的数据存入CSV文件中。
  6. 绕过网站的反爬虫检测。

【操作说明】

  1. 从虚拟机桌面“赛题/01_网络爬虫/01_获取网站数据”文件夹中获取相关项目工程代码。
  2. 完成任务后,根据平台“答题区”对应内容要求,完成答题报告并点击“保存”按钮实时保存。

模块二:数据清洗(30分)

任务一:视频数据清洗

【任务说明】
数据清洗是数据分析过程中很重要的一个环节,没有高质量的数据清洗就没有高质量的数据分析。上一模块抓取的数据可能存在不规范、缺失或异常值,现有一份从爬虫结果导出的原始数据文件 raw_videos.csv,请根据任务要求完成数据清洗功能。
【任务要求】
请你使用NumPy和Pandas按如下要求对数据进行清洗:

  1. 使用Pandas读取CSV文件。
  2. 检查数据基本信息:形状、每列缺失值数量、数据类型等。
  3. duration 列由“MM:SS”字符串格式转换为总秒数(整数类型),新增一列 duration_seconds
  4. 删除任一字段缺失的行。
  5. playscommentslikesfavorites 四列转换为整数类型,无法转换的删除。
  6. 删除上述四列中任一项为负数或0的行。
  7. 处理 tags 列:去重重复标签。
  8. 删除完全重复的数据行。
  9. 删除 plays 值大于其99.9分位数的极端离群值。
  10. plays 降序排列,重置索引。
  11. 将清洗后的数据保存为 cleaned_videos.csv

【操作说明】

  1. 从虚拟机桌面“赛题/02_数据清洗/01_数据清洗”文件夹中获取相关项目工程代码。
  2. 完成任务后,根据平台“答题区”对应内容要求,完成答题报告并点击“保存”按钮实时保存。

模块三:数据分析及可视化(30分)

任务一:视频分类综合热度分析

【任务说明】
现需要搭建一个简洁的数据看板,展示各视频分类的综合热度表现。综合热度定义为:热度值 = plays * 0.5 + likes * 0.3 + comments * 0.15 + favorites * 0.05。请根据任务要求完成数据分析与可视化。
【任务要求】

  1. 创建Django项目 video_dashboard,应用名为 analysis
  2. 读取 cleaned_videos.csv 文件中的数据。
  3. 编写视图函数,计算每个视频分类的平均热度值、平均播放量、平均评论数,以及各分类视频数量。
  4. 使用PyEcharts绘制“堆叠柱状图”:
    • X轴为视频分类,Y轴为标准化后的数值(0-100量纲)。
    • 堆叠展示两个指标:该分类的平均播放量、平均热度值。
    • 柱状图颜色:平均播放量使用蓝色系渐变色(起始色 #3398DB,结束色 #7EB5E6);平均热度值使用橙色系#F5A623)。
    • 柱状图宽度设为 60%,柱间间距 30%
    • 添加数据标签(数值显示在柱内或柱顶)。
    • 图表标题为“视频分类热度与播放量堆叠对比”,标题字号16,加粗。
  5. 在同一页面中绘制一个“饼图”(玫瑰图样式),展示各分类视频数量占比:
    • 半径范围 ['20%', '60%']
    • 颜色使用预设配色方案'pastel''bright')。
    • 每个扇区显示分类名称和百分比(保留一位小数)。
    • 饼图中心添加标题“分类视频数量分布”。
  6. 通过Django模板将两个图表渲染到同一个前端页面,页面布局为左右两列(左侧堆叠柱状图,右侧玫瑰饼图)。
  7. 页面路由设置为 /dashboard/

【操作说明】

  1. 从虚拟机桌面“赛题/03_数据分析及可视化/01_视频分类热度分析”文件夹中获取相关项目工程代码。
  2. 完成任务后,根据平台“答题区”对应内容要求,完成答题报告并点击“保存”按钮实时保存。

任务二:视频互动特征分析

【任务说明】
现需要对清洗后的数据进行统计可视化,探索播放量与其他互动指标的关系,以及不同视频分类的互动分布情况,请根据任务要求完成数据分析。
【任务要求】

  1. 使用Pandas读取 cleaned_videos.csv
  2. 使用Seaborn绘制以下图表,并保存为PNG文件,分辨率300dpi:
    • 相关性热力图
      • 计算 playslikescommentsfavoritesduration_seconds 的相关性矩阵。
      • 使用红蓝渐变配色cmap='coolwarm'),中心为白色。
      • 每个单元格内显示相关系数数值,字体大小10,颜色黑色。
      • 标题为“互动指标相关性矩阵”,字体大小14。
    • 播放量与点赞数散点图
      • 横轴 plays,纵轴 likes
      • category 分类着色,使用调色板palette='Set2')。
      • 添加线性回归拟合线(regplot,置信区间为95%)。
      • 回归线样式:红色实线,线宽2;置信区间填充浅红色,透明度0.3。
      • 散点大小 s=30,边缘色灰色。
      • 标题为“播放量与点赞数关系”,横轴标签“播放量”,纵轴标签“点赞数”。
    • 各分类播放量箱线图
      • 横轴为 category,纵轴为对数变换后的播放量 np.log1p(plays)
      • 箱线图样式:箱体颜色lightblue中位数线为红色实线,异常值显示为菱形(marker='D',大小5)。
      • 添加网格线(grid=True,线型虚线)。
      • 标题为“各分类播放量分布(对数化)”,横轴标签“视频分类”,纵轴标签“对数播放量”。
  3. 所有图表须设置中文字体(如SimHei),标题、轴标签、图例正常显示。
  4. 编写简要分析报告(保存为 analysis_report.md),包含以下内容:
    • 从热力图中判断与播放量相关性最强的两个特征,并说明系数。
    • 从散点图中描述播放量与点赞数的大致关系(正相关/负相关/非线性)。
    • 指出箱线图中哪个分类的中位数最高、哪个分类的波动范围最大(四分位距最宽)。

【操作说明】

  1. 从虚拟机桌面“赛题/03_数据分析及可视化/02_视频互动特征分析”文件夹中获取相关项目工程代码。
  2. 完成任务后,根据平台“答题区”对应内容要求,完成答题报告并点击“保存”按钮实时保存。

模块四:机器学习(15分)

任务一:视频播放量预测

【任务说明】
现有一批视频特征数据,基于该数据,选择合适的算法训练模型,并对视频的播放量进行预测。
【任务要求】

  1. 读取 cleaned_videos.csv
  2. 提取特征:likescommentsfavoritesduration_seconds,对 category 进行独热编码。
  3. 数据预处理:处理缺失值,标准化数值特征。
  4. 划分训练集和测试集。
  5. 选取至少两种回归算法(如线性回归、随机森林回归),使用交叉验证评估,选出较优模型。
  6. 保存最优模型。
  7. 对测试文件内部数据进行编码预测

【操作说明】

  1. 从虚拟机桌面“赛题/04_机器学习/01_视频播放量预测”文件夹中获取项目工程文档。
  2. 完成任务后,根据平台“答题区”对应内容要求,完成答题报告并点击“保存”按钮实时保存。

任务二:视频分类智能识别

【任务说明】
现有一批视频特征数据,包含播放量、评论数、点赞数、收藏数、时长等,以及对应的分类标签,现要基于该数据集构建机器学习模型,用于视频分类的自动识别。
【任务要求】

  1. 读取 cleaned_videos.csv,目标列为 category
  2. 对分类标签进行编码。
  3. 构造新特征(点赞率、评论率、收藏率),并标准化。
  4. 划分训练集和测试集。
  5. 选取至少两种分类算法(如逻辑回归、随机森林),评估并选择较优模型。
  6. 保存最优模型和标签编码器。
  7. 输出每个分类的精确率、召回率、F1值。
  8. 对测试文件内部数据进行编码预测

【操作说明】

  1. 从虚拟机桌面“赛题/04_机器学习/02_视频分类识别”文件夹中获取项目工程文档。
  2. 完成任务后,根据平台“答题区”对应内容要求,完成答题报告并点击“保存”按钮实时保存。

职业素养(5分)

【任务要求】
参赛选手操作规范、代码清晰易读、遵守考场纪律、收纳整理干净整洁、文明竞赛。

分享