На графиках точности и полноты каждая точка представляет собой пару значений точности и полноты. В вашем случае, я думаю, вам нужно будет вычислить эти значения для каждого изображения, а затем усреднить их.
Представьте, что у вас всего 1000 изображений, и только 100 изображений относятся к лету. Если вы возьмете 500 ближайших изображений к некоторому «летнему» изображению, точность в лучшем случае (когда первые изображения всегда принадлежат классу) будет:
precision(summer) = 100 / (100 + 400) = (retrieved summer images) / (retrieved summer images + other retrieved images) = 0.2
И вспомните:
recall(summer) = 100 / (100 + 0) = (retrieved summer images) / (retrieved summer images + not retrieved summer images) = 1
Как вы можете видеть, у него высокая полнота, потому что были извлечены все летние изображения, но низкая точность, потому что есть только 100 изображений, а 400 других изображений не относятся к этому классу.
Теперь, если вы возьмете первые 100 изображений вместо 500, и полнота, и точность будут равны 1.
Если вы сделаете 50 первых изображений, то точность будет по-прежнему равна 1, но полнота упадет до 0,5.
Таким образом, изменяя количество изображений, вы можете получить баллы за кривую точности воспроизведения. Для вышеописанного примера такими точками будут (0,2, 1), (1, 1), (1, 0,5).
Вы можете вычислить эти значения для каждого из 1000 изображений, используя разные пороговые значения.
person
lawful_neutral
schedule
24.09.2018