Я счастлив, что мог быть чем-то полезен :-)

ою модель, имеющую 12 параметров и {0,1} меток, используя логистическую регрессию в sklearn. Мне нужно быть очень уверенным в отношении метки 0, я в порядке, если некоторые '0' будут неправильно классифицированы как 1. Цель этого, что я хотел бы исключить данные из обработки, если данные классифицируются как 0.

Как я могу настроить параметры?

 Mohammed Kashif21 сент. 2017 г., 08:10
Ваше заявление:I need to be very confident about label 0, I am ok if some '0' will be missclassified to 1. противоречит. Сначала вы говорите, что вам нужно быть уверенным в метке 0, а затем говорите, что это неправильно, чтобы неправильно ее оценить.
 Vitaliy21 сент. 2017 г., 19:14
извините за признание Другими словами, я хочу убедиться: если я получил 0 для тестовых данных, то вероятность очень высока, около 99%, но если я получил 1, я в порядке с более низкой вероятностью. имеет ли смысл?

Ответы на вопрос(1)

Решение Вопроса

которая определяется какTN/(TN+FP)где TN - истинное отрицание, а FP - ложное положительное. Вы можете прочитать больше об этом в этомСообщение блога и больше вподробно здесь, Для реализации этого вам необходимо использоватьmake_scorer вместе сметрика confusion_matrix в склеарн следующим образом:

from sklearn.metrics import confusion_matrix
from sklearn.metrics import make_scorer

def get_TN_rate(y_true,y_pred):
    tn, fp, fn, tp = confusion_matrix(y_true, y_pred).ravel()
    specificity = float(tn)/(float(tn)+float(fp))
    return specificity

tn_rate = make_scorer(get_TN_rate,greater_is_better=True)

Теперь вы можете использоватьtn_rate в качестве функции оценки для обучения вашего классификатора.

 Mohammed Kashif21 сент. 2017 г., 22:07
Я счастлив, что мог быть чем-то полезен :-)
 Vitaliy21 сент. 2017 г., 22:03
Я потерял дар речи, это именно то, что я искал! Большое спасибо!

Ваш ответ на вопрос