Ответ 1
Кривая ROC
Откроется ROC-кривая, которую вы предоставили для классификатора knn11
- она находится ниже диагонали, указывая, что ваш классификатор правильно назначает метки классов менее 50% времени. Скорее всего, произошло то, что вы предоставили неверные метки классов или неправильные вероятности. Если в обучении вы использовали метки классов 0 и 1 - те же метки классов должны быть переданы на кривую ROC в том же порядке (без 0 и одного листания).
Другая менее вероятная возможность заключается в том, что у вас очень странный набор данных.
Вероятности для других классификаторов
Кривая ROC была разработана для вызова событий из радара. Технически это тесно связано с предсказанием события - вероятность того, что вы правильно угадаете четность плоскости, приближающейся к радару. Поэтому он использует одну вероятность. Это может сбивать с толку, когда кто-то делает классификацию на двух классах, где вероятность "попадания" не очевидна, например, в вашем случае, когда у вас есть случаи и элементы управления.
Однако любые две классификации классов можно охарактеризовать как "хиты" и "промахи" - вам просто нужно выбрать класс, который вы назовете "событием". В вашем случае диабет можно назвать событием.
Итак, из этой таблицы:
tested_negative tested_positive [1,] 5.787252e-03 0.9942127 [2,] 8.433584e-01 0.1566416 [3,] 7.880800e-09 1.0000000 [4,] 7.568920e-01 0.2431080 [5,] 4.663958e-01 0.5336042
Вам нужно будет выбрать только одну вероятность - событие события - возможно, "checked_positive". Еще один "проверенный_отрицательный" - это всего лишь 1-tested_positive
, потому что, когда у классификатора вещи, которые у конкретного человека имеют диабет с вероятностью 79%, он в то же время "думает" о том, что у этого человека нет диабета 21%. Но вам нужно только одно число, чтобы выразить эту идею, поэтому knn возвращает только один, тогда как другой классификатор может вернуть два.
Я не знаю, какую библиотеку вы использовали для деревьев решений, поэтому не может помочь с выходом этого классификатора.