बेयज़ियन स्पैम फ़िल्टर
पिछले अभ्यास पर बहुत अच्छा काम! अब आइए मशहूर Bayes' Theorem को समझें और इसे एक सरल लेकिन महत्वपूर्ण काम—स्पैम डिटेक्शन—में उपयोग करें.
इनबॉक्स देखते समय, आपने नोटिस किया कि जिन ईमेल्स पर आप समय नहीं बिताना चाहते, उनमें अक्सर उत्सर्जक वाक्य होते हैं, जैसे "BUY NOW!!!". आपको लगने लगा कि तीन विस्मयादिबोधक चिह्न एक साथ आना स्पैम का अच्छा संकेतक हो सकता है! इसलिए आपने emails नाम का एक DataFrame तैयार किया है, जिसमें दो वैरिएबल हैं: spam (ईमेल स्पैम था या नहीं) और contains_3_exlc (क्या उसमें "!!!" स्ट्रिंग है). डेटा का head इस तरह दिखता है:
spam contains_3_excl
0 False False
1 False False
2 True False
3 False False
4 False False
आपका काम है: यदि किसी ईमेल में तीन विस्मयादिबोधक चिह्न हैं, तो उसके स्पैम होने की प्रायिकता निकालना. इसे चरण-दर-चरण करते हैं! संदर्भ के लिए Bayes का सूत्र यह है:
$$P(A|B) = \frac{P(B|A) * P(A)}{P(B)}$$
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Bayesian डेटा विश्लेषण
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Calculate and print the unconditional probability of spam
p_spam = ____[____].____
print(____)