Как мне получить оценку за построение кривой ROC для классификатора генетического алгоритма?

Я пытаюсь получить кривую ROC для двоичного (хорошего / плохого) классификатора, который я использовал для проекта. Этот классификатор использует генетический алгоритм для прогнозирования.

Например. тестовая хромосома, указанная в [1.0,0.5,0.4,0.7], считается хорошей, если она соответствует другой хромосоме, скажем [0.8,0.5,0.3,0.6]. Под соответствием я подразумеваю наличие евклидова расстояния (от другой хромосомы) ниже определенного значения. .

Я завершил классификацию 600 экземпляров, и у меня есть окончательная матрица путаницы (под этой матрицей я подразумеваю четырехзначную таблицу, по которой мы можем вычислить окончательный TPR и FPR), правильные классификационные метки для каждого экземпляра и также все прогнозы для каждого экземпляра.

Я прочитал эту документацию о кривой ROC, Рабочие характеристики приемника и Tools for Machine Оценка эффективности обучения: кривые ROC в Python. Как мне перейти к получению кривой ROC?

С моей последней таблицей с четырьмя значениями, я думаю, я могу построить только одну точку на кривой. В прикрепленных ссылках выше постоянно упоминается, что мне нужна оценка (то есть оценка вероятности), но я не знаю, как я могу получить ее для классификатора генетического алгоритма. Но как мне использовать знание предсказаний каждого экземпляра, чтобы создать своего рода непрерывную кривую ROC?

Отказ от ответственности: я новичок в построении графиков ROC, и я кодирую это на Python, поэтому я прикрепил документы ROC, связанные с Python.


person obiigbe91    schedule 20.04.2016    source источник
comment
Кривые ROC определены для бинарной классификации, где результат может принимать два значения. У вас есть проблема минимизации, это не задача для кривой ROC.   -  person Calimo    schedule 20.04.2016
comment
@Calimo, я не занимаюсь проблемой минимизации. Это бинарная классификация. То есть, если экземпляр соответствует элементу, скажем, а, то он положительный. В остальном это отрицательно. Разве это не бинарная классификация? Если я думаю, что вас неправильно истолковали, я говорил о том, если расстояние ниже того-то и такого-то ... это был просто критерий соответствия, чтобы определить, когда говорить отрицательно или положительно. Моя модель в значительной степени использует модифицированную форму GA для выполнения задачи (например, классификацию) и не использует GA для выполнения задачи минимизации или максимизации.   -  person obiigbe91    schedule 21.04.2016
comment
нет, это не определение бинарной классификации. Бинарная классификация - это когда вы относите наблюдение к той или иной из двух групп. Затем вы проверяете правильность назначения. Здесь у вас более двух хромосом, так что это не бинарная классификация.   -  person Calimo    schedule 21.04.2016
comment
хромосомы в моей технике похожи на указанные экземпляры. В конечном итоге я по-прежнему назначаю наблюдение той или иной из двух групп. Хотел бы вдаваться в подробности о том, что я имею в виду, но я думаю, что в моем вопросе и моих комментариях достаточно подробностей. Спасибо хоть.   -  person obiigbe91    schedule 22.04.2016


Ответы (1)


Неважно, как вы создали свой классификатор. В конце концов, ваша модель просто дает положительную метку, если и только если ||x - x_i|| < T, где T - некоторый предопределенный порог. Кривые ROC параметризованы именно этим типом вещей - скалярным значением, которое вы можете изменить, чтобы сделать вещи более склонными к классификации как положительные или отрицательные. Поэтому просто просмотрите несколько значений T, вычислите метрики для каждого значения, и это создаст вашу кривую ROC. Это все!

person lejlot    schedule 20.04.2016
comment
спасибо, я попробую, т.е. перебираю различные значения T и использую метрики для построения моей кривой ROC. - person obiigbe91; 21.04.2016