🟣 ML + AI  ·  Lesson 56

Naive Bayes Algorithm

Naive Bayes क्या है?

Naive Bayes ka matlab hai: Naive Bayes is a probability-based classification algorithm, often used in text classification. Simple words me, ye topic practical Python programs likhne me direct use hota hai.

Is topic ko sirf definition ke liye nahi, balki spam detection jaise real examples ke liye practice karein.

यह क्यों सीखना जरूरी है?

  • Ye spam detection me kaam aata hai.
  • Ye sentiment classification se bhi connected hai.
  • Isse aap code ka output aur errors better samajh paate hain.

Important Terms

TermMeaning
probabilityChance value between 0 and 1.
Bayes theoremProbability rule used to update belief using evidence.
classificationPredicting a category or class.
texttext is an important term in this topic.
spam detectionspam detection is an important term in this topic.

Syntax / Basic Pattern

Basic idea: pehle data तैयार करें, phir Python logic apply करें, aur finally result display करें.

Basic Pattern
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.naive_bayes import MultinomialNB
texts = ["win money", "hello friend", "free prize", "project meeting"]
y = ["spam", "ham", "spam", "ham"]
vectorizer = CountVectorizer()
X = vectorizer.fit_transform(texts)
model = MultinomialNB()
model.fit(X, y)

Complete Example Program

Python – naive-bayes.py
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.naive_bayes import MultinomialNB

texts = ["win money", "hello friend", "free prize", "project meeting"]
y = ["spam", "ham", "spam", "ham"]

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

model = MultinomialNB()
model.fit(X, y)
print(model.predict(vectorizer.transform(["free money"]))[0])

Expected Output

spam

Program Explanation

  • from sklearn.feature_extraction.text import CountVectorizer imports ready-made features from a module/library.
  • from sklearn.naive_bayes import MultinomialNB imports ready-made features from a module/library.
  • texts = ["win money", "hello friend", "free prize", "project meeting"] stores a value in texts.
  • y = ["spam", "ham", "spam", "ham"] stores a value in y.
  • vectorizer = CountVectorizer() stores a value in vectorizer.
  • X = vectorizer.fit_transform(texts) stores a value in X.
  • model = MultinomialNB() stores a value in model.

Practical Uses

  • Spam detection.
  • Sentiment classification.
  • Fast text classification.

Common Mistakes

  • Training and testing the model on the same data.
  • Using an algorithm without understanding the input features.
  • Reporting only accuracy without checking actual mistakes and limitations.

Practice Tasks

  1. Program ko naive-bayes.py file me type karke run karein.
  2. Values change karke output compare karein.
  3. spam detection par ek छोटा example banayen.
  4. Logic ko apne words me 5 lines me likhein.

सारांश

Naive Bayes ko tab complete maanenge jab aap iska meaning, example, output aur practical use clearly explain kar saken.

← Back to Python Tutorial
🔗

Share this topic with a friend

यह topic किसी दोस्त को भेजें

Found it useful? Send it to a classmate learning the same thing.

अच्छा लगा? जो दोस्त यही सीख रहा है, उसे भेज दीजिए।

💻 लाइव कोड एडिटर

इस पेज के प्रोग्राम यहीं तैयार हैं — चलाएँ, बदलें और सीखें। कुछ भी इंस्टॉल किए बिना।
OneCompiler द्वारा संचालित। कोड एडिटर में अपने आप आ जाता है — Run दबाकर आउटपुट देखें। अगर एडिटर न खुले तो नए टैब में खोलें.