Как задать нужный treshold на этапе обучения модели?

Всем привет, У меня есть алгоритм:

clf = LGBMClassifier()
clf.fit(X_train, y_train)

Когда я использую этот алгоритм для предсказания вероятностей бинарной классификации clf.predict(X_test), алгоритм использует treshold=0.5 для определения класса классификации. Я могу менять treshold, при использовании predict_proba, но мне этот вариант не очень подходит.

Меня интересует, есть ли возможность устанавливать нужное мне значение treshold на этапе fit (обучения модели)? Т. е. например, я хочу, чтобы при treshold>=0.6, предсказывался класс 1, при treshold < 0.6 - класс 2. При чем, все эти классы уже получать после этапа fit


Ответы (1 шт):

Автор решения: ivan100096

Решил вопрос:

class_distrib = {0:treshold, 1:1-treshold}
clf = LGBMClassifier(class_weight = class_distrib)
clf.fit(X_train, y_train)

Спасибо за ответы

→ Ссылка