Как можно вручную установить априорные вероятности для наивного байесовского clf в scikit-learn?

Как я могу назначить «пользовательские» априорные вероятности правилу Байеса в наивном байесовском классификаторе в scikit?

Для простоты возьмем, к примеру, набор данных Iris, где у нас есть 150 образцов и 3 разных класса по 50 образцов на класс. Я предполагаю, что по умолчанию будет назначена априорная вероятность p(c_i) = ~0,33 на основе входных данных (и в зависимости от того, как была передискретизирована обучающая выборка).
Но что, если у меня есть некоторые дополнительные знания и я знаю, что цветок класс 1 гораздо чаще встречается в «реальности», так что априорные значения для разных классов будут

p(c=1) = 0.8
p(c=2) = 0.1
p(c=3) = 0.1

Давайте предположим, что я выполнил всю предварительную обработку (подвиг. выбор, нормализация/стандартизация, затемнение и т. д.) и буду использовать наивный байесовский классификатор (гауссовский) следующим образом:

from sklearn.naive_bayes import GaussianNB

gnb_clf = GaussianNB()
gnb_clf.fit(X_train, y_train)
pred_test = gnb_clf.predict(X_test)

Как мне назначить свои «пользовательские априорные вероятности»?

Я вижу, что для GaussianNB есть параметр set_params (см. ="nofollow">документация), однако я не знаю, как ее использовать...


person Community    schedule 11.08.2014    source источник