我是一位经验丰富的程序员,但对 Python 和数据科学不熟悉。我正在关注 Aurelien Gerone 的书,但我不明白一件事。
我创建 SGDClassifier 并计算它的precision_recall_curve()。然后我试图找到满足精度等于 90% 的最低阈值:
precisions, recalls, thresholds = precision_recall_curve(y_train, y_scores)
threshold_90_precision = thresholds[np.argmax(precisions >= 0.90)]
如果我需要找到最小阈值,为什么我要搜索 arg max ?如果我尝试使用 argmin,我会得到错误的值,精度等于 0.1。
据我了解:
- 精度 >= 0.90 创建一个精度分数仅高于或等于 0.90 的数组,
- argmax 返回一个索引,在该索引处我找到给定数组中的最大值(所以这应该尽可能远离 90%,但事实并非如此!),
- 然后我选择一个返回索引的阈值。
我错过了什么?