第 13 章练习与答案
🌈 关于《AI 零基础 36 讲》课后训练
📚与正式讲解配套学习
本篇是《AI 零基础 36 讲》的配套课后训练,与对应章节的正式讲解一起使用。整个系列面向初学者,从日常 AI
使用逐步进入编程、模型训练和大模型应用开发。✍️先独立作答,再核对答案
训练围绕本章知识安排概念判断、结果分析或动手任务,并提供参考答案与解释。建议先读完对应的正式文章,再独立作答;遇到困难时回看相关例子,最后核对答案。
💻代码题请亲手运行
观察程序输出,确认自己能解释结果、发现错误并完成修复。做完一道题,也要弄清答案为什么成立。
先自己做
- 四名学生、三门课的成绩数组,shape、ndim 和 size 分别是什么?
(3,)、(1, 3)和(3, 1)各有几个轴?- 对四行三列成绩,按学生与按课程求均分应各用哪个 axis?
(4, 3)和(4,)能直接广播相加吗?怎样把每名学生的调整量作用到所有课程?- 取小周和小陈的 Python、AI 基础成绩并算个人均分。
- 修改基本切片时为什么可能影响原数组?
对照答案
第 1 题分别是(4, 3)、2 和 12。
第 2 题分别有一个、两个、两个轴。一维数组没有单独指定行或列的朝向。
第 3 题个人均分用 axis=1,课程均分用 axis=0。
第 4 题不能直接广播,右侧的 3 与 4 不对应。把四项调整量 reshape 成(4, 1)。
第 5 题完整代码如下,数据为虚构教学成绩。
importnumpyasnp scores=np.array([[80,70,90],[60,85,75],[95,90,85],[50,60,70]])selected=scores[1:3,::2]print(selected)print(selected.shape)print(selected.mean(axis=1))输出如下。
[[60 75] [95 85]] (2, 2) [67.5 90. ]这里::2表示沿列方向每隔两项取一项,得到列 0 与列 2。
第 6 题基本切片通常共享原数据。需要独立修改时,先调用 copy。布尔索引等方式的复制行为要另查对应规则。