Sobes.tech
Middle — Senior

Cos'è un classificatore bayesiano ingenuo?

sobes.tech AI

Risposta dell'AI

Il classificatore naive bayes è un classificatore probabilistico semplice basato sull’applicazione del teorema di Bayes, assumendo l’indipendenza tra le caratteristiche.

Idea:

  • Si calcola la probabilità che un oggetto appartenga a una classe, considerando i valori delle caratteristiche.
  • Si assume che tutte le caratteristiche siano indipendenti, il che semplifica i calcoli.

Esempio: classificazione delle email come spam o non spam in base alle parole nel testo.

Vantaggi:

  • Veloce e facile da implementare.
  • Funziona bene con grandi set di dati.

Limitazioni:

  • L’assunzione di indipendenza delle caratteristiche spesso non si verifica, il che può ridurre la precisione.

Esempio in Python usando sklearn:

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

texts = ["messaggio spam", "importante riunione", "acquista ora", "aggiornamento del progetto"]
labels = [1, 0, 1, 0]  # 1 - spam, 0 - non spam

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

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

new_text = ["acquista riunione"]
X_new = vectorizer.transform(new_text)
prediction = model.predict(X_new)
print(prediction)  # Mostrerà [1] - spam