Похоже, вы только наметили три точки.Идея кривой ROC состоит в том, чтобы показать, как изменяется соотношение FP / TP при настройке порога принятия решения, чтобы установить производительность в каждой точке.Без информации о том, как вы подготовили этот график или какие параметры у вас есть, трудно сказать что-либо еще.
Типичным примером будет настройка уровня агрессивности - если у вас есть сканер спама, который будет классифицироваться как спам наконкретный балл, как изменение порога баллов меняет показатель TP / FP?Таким образом, ось X также покажет настройку порога (но, возможно, растянута таким образом), а кривая в каждой точке покажет, сколько образцов в вашей чистой коллекции будет FP на этом пороге, и сколько в вашей коллекции спамабудет правильно заблокирован.
(«Растяжение» означает, что настройка порога может не отображаться линейно на частоту FP. Если между порогами 0,950 и 0,975 ничего не происходит, этот интервал на оси x не наносится навсе. Точки на оси x являются пороговыми значениями, в которых изменяется скорость TP / FP: некоторые могут быть очень близки друг к другу в терминах порогового значения, а другие смежные точки могут соответствовать большому скачку порогового значения.)
Хорошая кривая ROC имеет большую площадь под ней.Идеальный ROC идет от 0 до 1,00 и остается там, но тогда вам не нужен сюжет, чтобы все равно решить, как развернуть решение.Но в действительности они будут иметь различную форму, от неопределенно асимптотической в направлении верхнего левого угла (очень хорошо) до прямой диагонали (довольно паршивой) и даже асимптотической в направлении нижнего правого (крайне плохой; случайные вердикты будут лучше).Интересными моментами являются «колено», в котором рост скорости TP замедляется и скорость FP начинает расти быстрее (именно здесь вы должны прекратить увеличивать порог), и любые нарушения, особенно любые, которые нарушают монотонность.
(ВВ вашем примере из сети есть точка около TP 0,6, где увеличение порога приведет только к увеличению FP. Почему это так? Есть ли перекос в сэмплах или проблема в реализации? Можно ли это исправить?)