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