Scikit Learn - классификация с наивным байесовским методом

Наивные методы Байеса представляют собой набор алгоритмов контролируемого обучения, основанных на применении теоремы Байеса с сильным предположением, что все предикторы независимы друг от друга, то есть присутствие признака в классе не зависит от наличия любой другой особенности в том же самом. класс. Это наивное предположение, поэтому эти методы называют наивными байесовскими методами.

Теорема Байеса утверждает следующее соотношение, чтобы найти апостериорную вероятность класса, то есть вероятность метки и некоторых наблюдаемых характеристик, $ P \ left (\ begin {array} {c} Y \ arrowvert features \ end {array} \ right ) $.

$$ P \ left (\ begin {array} {c} Y \ arrowvert features \ end {array} \ right) = \ left (\ frac {P \ lgroup Y \ rgroup P \ left (\ begin {array} {c } features \ arrowvert Y \ end {array} \ right)} {P \ left (\ begin {array} {c} features \ end {array} \ right)} \ right) $$

Здесь $ P \ left (\ begin {array} {c} Y \ arrowvert features \ end {array} \ right) $ - апостериорная вероятность класса.

$ P \ left (\ begin {array} {c} Y \ end {array} \ right) $ - априорная вероятность класса.

$ P \ left (\ begin {array} {c} features \ arrowvert Y \ end {array} \ right) $ - это вероятность, которая представляет собой вероятность данного класса предиктора.

$ P \ left (\ begin {array} {c} features \ end {array} \ right) $ - априорная вероятность предиктора.

Scikit-learn предоставляет различные модели наивных байесовских классификаторов, а именно гауссовский, полиномиальный, дополнительный и Бернулли. Все они различаются в основном предположением, которое они делают относительно распределения $ P \ left (\ begin {array} {c} features \ arrowvert Y \ end {array} \ right) $, т.е. вероятности предиктора данного класса.

Старший Нет Модель и описание
1 Гауссовский наивный байесовский

Гауссовский Наивный байесовский классификатор предполагает, что данные каждой метки взяты из простого гауссовского распределения.

2 Полиномиальный наивный байесовский

Предполагается, что признаки взяты из простого полиномиального распределения.

3 Бернулли Наив Байес

В этой модели предполагается, что функции двоичны (нули и единицы) по своей природе. Применение наивной байесовской классификации Бернулли - это классификация текста с моделью «мешка слов».

4 Дополнение наивного Байеса

Он был разработан для исправления серьезных допущений, сделанных полиномиальным байесовским классификатором. Такой классификатор NB подходит для несбалансированных наборов данных.

Построение наивного байесовского классификатора

Мы также можем применить наивный байесовский классификатор к набору данных Scikit-learn. В приведенном ниже примере мы применяем GaussianNB и подбираем набор данных груди_cancer Scikit-leran.

пример

Import Sklearn
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split
data = load_breast_cancer()
label_names = data['target_names']
labels = data['target']
feature_names = data['feature_names']
features = data['data']
   print(label_names)
   print(labels[0])
   print(feature_names[0])
   print(features[0])
train, test, train_labels, test_labels = train_test_split(
   features,labels,test_size = 0.40, random_state = 42
)
from sklearn.naive_bayes import GaussianNB
GNBclf = GaussianNB()
model = GNBclf.fit(train, train_labels)
preds = GNBclf.predict(test)
print(preds)

Вывод

[
   1 0 0 1 1 0 0 0 1 1 1 0 1 0 1 0 1 1 1 0 1 1 0 1 1 1 1
   1 1 0 1 1 1 1 1 1 0 1 0 1 1 0 1 1 1 1 1 1 1 1 0 0 1 1 
   1 1 1 0 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 1 1 1 1 1 1 0 
   1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 1 0 0 1 0 0 1 1 1 0 
   1 1 0 1 1 0 0 0 1 1 1 0 0 1 1 0 1 0 0 1 1 0 0 0 1 1 1 
   0 1 1 0 0 1 0 1 1 0 1 0 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 
   1 1 1 1 1 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 0 0 0 1 1 0 
   1 0 1 1 1 1 0 1 1 0 1 1 1 0 1 0 0 1 1 1 1 1 1 1 1 0 1 
   1 1 1 1 0 1 0 0 1 1 0 1
]

Приведенный выше результат состоит из серии нулей и единиц, которые в основном являются предсказанными значениями для классов опухолей, а именно злокачественных и доброкачественных.