2026-06-23 00:26:19 +08:00
2026-06-23 00:26:10 +08:00
2026-06-23 00:26:15 +08:00
2026-06-23 00:26:06 +08:00

模拟考试(实操题)

考试时间90 分钟2 课时) 考试形式:开卷 总分70 分


⚠️ 重要说明

  • 本题所有代码、标注结果、图片都要上传到 本仓库
  • 文件夹必须按下面要求 的结构创建,否则不得分
  • 数据爬取代码 必须 在一次爬取中获取到所有需要数据(数据刷新会变)

第Ⅱ部分 实操题

一、数据爬取25 分)

本题中涉及的爬虫代码必须包含检测头,同时由于网页刷新后数据会变化,必须在一次爬取中获取到所有需要数据,否则不得分。

第 1 题10 分)

用 python 代码访问网址 https://exam.detr.top/exam-b/movies,抓取网页的数据编号和其中全部 10 部电影的信息,并分别保存为两个文件:

  • movies.json(存放数据编号和电影信息,电影中包含的键为 id, title, director, year, rating, duration, genre, actors_count
  • movies.html(保存原始网页源码)

第 2 题15 分)

根据 movies.json 中的数据:

  1. ① 找出评分最高和最低的电影,打印电影名 + 评分。
  2. ② 统计各类型的电影数量,用字典格式输出。
  3. ③ 统计各导演的电影数量,用字典格式输出。
  4. ④ 统计 2020 年(含)以后上映的电影数量。

二、数据标注20 分)

本章中所有标注结果都需要导出文件,并上传到本仓库的 q3 文件夹下。每个小题单独放一个子文件夹。未按要求上传文件不得分。

第 1 小题8 分)— 图像目标检测标注

在 Label Studio 中打开图片 data/images/标注练习1.jpg(图片中含 1 只猫、1 只狗、1 辆车,背景为街道),使用 Rectangle Labels 工具标出 3 个目标物。要求:

  1. 1边界框必须紧贴目标物轮廓
  2. 2标签必须为 catdogcar必须小写英文,不能写成"猫/狗/车"或"Cat/Dog/Car"
  3. 3导出为 YOLO 格式压缩包
  4. 4将压缩包命名为 q3_1_image_labels.zip 并上传到 q3/q3_1/ 文件夹
  5. 5压缩包解压后必须包含 classes.txtlabels/ 目录

第 2 小题7 分)— 文本情感分类标注

现有 5 条外卖评论文本 data/reviews.json,用 Label Studio 完成情感分类标注(标签:正面/负面),导出为 JSON 格式。要求:

  1. 1标注必须包含每条评论的 idtext 字段
  2. 2每个标注必须有一个 sentiment 字段,值为 "正面""负面"
  3. 35 条评论必须全部标注
  4. 4将导出文件命名为 q3_2_takeout_reviews.json 并上传到 q3/q3_2/ 文件夹

第 3 小题5 分)— 标注质量自评

q3 文件夹下新建 q3_3_质量自评.md 文件,写一份 200 字左右的标注质量自评报告,内容包括:

  1. 1标注前准备 —— 你制定了什么标注规范看了几张示例图片2 分)
  2. 2标注过程 —— 遇到什么困难如何解决中途不确定的标注如何处理2 分)
  3. 3标注后检查 —— 做了哪些检查是否导入了多份相同数据互相对比1 分)

三、数据可视化25 分)

本章所有图表都要用 matplotlib 绘制PNG 文件必须用 plt.savefig 保存。所有 Python 代码和 PNG 文件都需要上传到本仓库的 q4 文件夹下,每个小题单独一个子文件夹。

第 1 小题8 分)— 柱状图

movies.json(本卷第 II 部分保存的 movies.json)读取数据,用 matplotlib 绘制各类型的电影数量柱状图。要求:

  1. 1使用 plt.bar 函数绘制柱状图
  2. 2X 轴为类型名称
  3. 3Y 轴为电影数量
  4. 4标题设置为"类型电影数量分布"(用 plt.title
  5. 5保存为 q4_1_bar.png(用 plt.savefigdpi=150
  6. 6Python 代码保存为 q4_1.py

第 2 小题7 分)— 散点图

movies.json 读取数据,用 matplotlib 绘制评分 vs 时长散点图。要求:

  1. 1使用 plt.scatter 函数绘制散点图
  2. 2X 轴为时长分钟Y 轴为评分
  3. 3标题设置为"时长与评分关系散点图"(用 plt.title
  4. 4使用 plt.xlabelplt.ylabel 设置轴标签
  5. 5点的颜色设为红色alpha=0.6(半透明)
  6. 6保存为 q4_2_scatter.png(用 plt.savefigdpi=150
  7. 7Python 代码保存为 q4_2.py

第 3 小题10 分)— 直方图

movies.json 读取数据,绘制两张独立的直方图

  • A评分直方图5 分):使用 plt.hist 函数绘制 10 部电影评分字段的分布直方图,bins=5,颜色蓝色,标题"评分分布"(用 plt.titleX 轴标签"评分"(用 plt.xlabel),保存为 q4_3a_hist.pngdpi=150),代码保存为 q4_3a.py
  • B时长直方图5 分):使用 plt.hist 函数绘制 10 部电影时长字段的分布直方图,bins=5,颜色绿色,标题"时长分布"X 轴标签"时长(分钟)",保存为 q4_3b_hist.pngdpi=150),代码保存为 q4_3b.py

📁 仓库文件夹结构(必须按这个提交)

simulated-examination/
├── data/                          # 模拟考数据(已上传)
│   ├── images/
│   │   └── 标注练习1.jpg
│   └── reviews.json
├── q2_1_crawler/
│   ├── q2_1.py                    # 数据爬取第 1 题代码
│   ├── q2_2.py                    # 数据爬取第 2 题代码
│   ├── movies.json                # 爬取结果(由 q2_1.py 生成)
│   └── movies.html                # 原始网页(由 q2_1.py 生成)
├── q3/
│   ├── q3_1/
│   │   └── q3_1_image_labels.zip  # 图像标注 YOLO 导出
│   ├── q3_2/
│   │   └── q3_2_takeout_reviews.json  # 文本标注 JSON 导出
│   └── q3_3_质量自评.md
├── q4/
│   ├── q4_1/
│   │   ├── q4_1.py                # 柱状图代码
│   │   └── q4_1_bar.png           # 柱状图结果
│   ├── q4_2/
│   │   ├── q4_2.py                # 散点图代码
│   │   └── q4_2_scatter.png       # 散点图结果
│   ├── q4_3a/
│   │   ├── q4_3a.py               # 评分直方图代码
│   │   └── q4_3a_hist.png         # 评分直方图结果
│   ├── q4_3b/
│   │   ├── q4_3b.py               # 时长直方图代码
│   │   └── q4_3b_hist.png         # 时长直方图结果

提交方式

  1. 在本仓库下按上面的文件夹结构创建目录
  2. 依次完成 3 大题的所有小题
  3. 每完成一题就 git add + git commit + git push 到本仓库
  4. 考试结束时最后一次 commit 时间视为交卷时间
Description
模拟考试仓库 - B卷实操题
Readme 66 KiB