Sobes.tech
Middle — Senior

Czym jest naiwny klasyfikator bayesowski?

sobes.tech AI

Odpowiedź od AI

Naive Bayes to prosty probabilistyczny klasyfikator oparty na zastosowaniu twierdzenia Bayesa z założeniem niezależności cech.

Pomysł:

  • Oblicza prawdopodobieństwo przynależności obiektu do klasy, uwzględniając wartości cech.
  • Zakłada, że wszystkie cechy są niezależne, co upraszcza obliczenia.

Przykład: klasyfikacja e-maili jako spam lub nie-spam na podstawie słów w tekście.

Zalety:

  • Szybki i łatwy do implementacji.
  • Dobrze działa na dużych zbiorach danych.

Ograniczenia:

  • Założenie o niezależności cech często nie jest spełnione, co może obniżać dokładność.

Przykład w Pythonie z użyciem sklearn:

from sklearn.naive_bayes import MultinomialNB
from sklearn.feature_extraction.text import CountVectorizer

texts = ["wiadomość spam", "ważne spotkanie", "kup teraz", "aktualizacja projektu"]
labels = [1, 0, 1, 0]  # 1 - spam, 0 - nie spam

vectorizer = CountVectorizer()
X = vectorizer.fit_transform(texts)

model = MultinomialNB()
model.fit(X, labels)

new_text = ["kup spotkanie"]
X_new = vectorizer.transform(new_text)
prediction = model.predict(X_new)
print(prediction)  # Wyświetli [1] - spam