第 19 章练习与参考答案
先完成题目,再查看答案。
🌈 关于《AI 零基础 36 讲》课后训练
📚与正式讲解配套学习
本篇是《AI 零基础 36 讲》的配套课后训练,与对应章节的正式讲解一起使用。整个系列面向初学者,从日常 AI
使用逐步进入编程、模型训练和大模型应用开发。✍️先独立作答,再核对答案
训练围绕本章知识安排概念判断、结果分析或动手任务,并提供参考答案与解释。建议先读完对应的正式文章,再独立作答;遇到困难时回看相关例子,最后核对答案。
💻代码题请亲手运行
观察程序输出,确认自己能解释结果、发现错误并完成修复。做完一道题,也要弄清答案为什么成立。
练习
- 标签 0、1、2 能否按大小解释?从原数据核对每类总数和测试数。
- 类别顺序为
[2, 0, 1],概率为[0.7, 0.2, 0.1],输出标签是什么? - 混淆矩阵中真实 virginica、预测 versicolor 的格子为 1,怎样用一句话解释?
- 两特征图能否完整解释四特征主模型?指出图上背景与点的颜色各表示什么。
- 独立查询
iris-138,比较它与iris-134的概率差及是否答对。 - 为单条入口输入三个数字、四个含零的数字、五个含标签的数字。说明应拒绝的原因,改成四个正数后再运行。
参考答案
第一题中的数字是类别编码,没有数量大小含义。原表每类 50 条,测试每类 10 条,本章数量平衡。
第二题输出标签 2。最高概率在位置 0,位置需要用来索引类别数组。
第三题可解释为一朵真实 virginica 被模型分成了 versicolor。这一类十条真实测试记录里有九条正确,正确比例为 90%。
第四题背景是独立两特征模型的预测区域,点的颜色是真实标签。四特征模型还依赖萼片长宽,不能用独立二维模型的背景完整代替它。
第五题可从表格直接核对。
importpandasaspd frame=pd.read_csv("results/test_predictions.csv")selected=frame[frame.sample_id.isin(["iris-138","iris-134"])]print(selected[["sample_id","target","prediction","probability_gap","correct"]].to_string(index=False))iris-138真实和预测均为 2,最高两项概率差约 0.1974,预测正确。iris-134真实为 2、预测为 1,概率差约 0.0303。差距小的记录可优先复核;当前正确的记录也可能有较小差距。两个例子不足以确定一个可靠的拒答阈值。
第六题三个数字缺字段,含零违反本章测量要求,五个数字混入了多余字段。修复后应同时输出名称和概率。
fromexamples.classification_coreimportexperiment,predict_one_with_proba model,_,_,_,_=experiment()forvaluesin[[5.1,3.5,1.4],[5.1,3.5,1.4,0],[5.1,3.5,1.4,0.2,0]]:try:predict_one_with_proba(model,values)exceptValueErroraserror:print(type(error).__name__,str(error))print(predict_one_with_proba(model,[5.1,3.5,1.4,0.2]))三组错误都被拒绝,修复输入返回 setosa。