题目重点:分清真实正负分母,处理等号和零分母,不用Accuracy替代指定条件。
题意与假设
这道练习题保留了面经中值得训练的核心约束,并将需要澄清的条件单独列出。现场拿到变体时,先和面试官确认这些条件。
- 输入非负TP/FP/TN/FN计数,以真实正类计算Recall,以真实负类计算FPR;矩阵方向先核对。
- 真实正类或负类样本数0时该指标未定义,训练不把它自动视为通过。
解题路线
- Recall=TP/(TP+FN),FPR=FP/(FP+TN)。FP位于预测正而实际负,FN预测负而实际正,矩阵横竖轴不同会让视觉位置变,先用语义标记。
- 两个条件同时成立才入选,不是满足其中之一。Accuracy=(TP+TN)/总数可能因负类极多而很高,却不代表Recall高。
- 严格大于/小于排除等号:Recall恰0.9不通过,FPR恰0.1也不通过。整数计数可用10TP>9(TP+FN)和10FP<FP+TN比较,避免浮点边界。
- 若TP+FN或FP+TN为0,指标没有统计分母,不能随便设0/1。实际库的zero-division政策要说明,面试判选不应静默掩盖样本缺类。
- 业务阈值改变预测标签会沿ROC权衡两个指标;当前题仅选择给定矩阵,不自动证明新阈值可同时达标。样本量有限时点估计还有统计不确定性。
- 测试边界整数、类极不平衡、零分母和完全正确/完全错;独立用有理数比较所有短计数核对严格条件。
手动走一遍
TP=91,FN=9、FP=9,TN=91满足0.91>0.9且0.09<0.1。TP=90,FN=10不满足严格Recall;FP=10,TN=90不满足严格FPR。
规模与取舍
每矩阵常量算术,M个O(M),计数任意大时乘法/比较位数另计。仅保入选编号可输出O(M)。
易错点与追问
容易失分的边界
- FPR分母用全部样本。
- >写成≥。
- 零分母当完美。
继续深挖
- 给定分数如何选阈值同时约束?
- 样本量怎样影响置信?
- Precision与FPR有何区别?
