html
Python के साथ डेटा वितरण और प्रायिकता फ़ंक्शन्स पर व्यापक ट्यूटोरियल
इस ट्यूटोरियल में, हम डेटा वितरणों से जुड़ी मूलभूत अवधारणाओं का पता लगाएंगे — यूनिफ़ॉर्म, नॉर्मल (गौसियन), और एक्सपोनेंशियल वितरण, उनके प्रायिकता घनत्व फ़ंक्शन (PDF) और प्रायिकता द्रव्यमान फ़ंक्शन (PMF) से संबंध के साथ। इनको Python में numpy
, matplotlib
, scipy
, और seaborn
का उपयोग कर लागू किया जाएगा। हम व्यावहारिक डेटा विश्लेषण के लिए पुस्तक रेटिंग डेटा सेट पर भी चर्चा करेंगे।
सामग्री की सूची
- डेटा वितरणों का परिचय
- यूनिफ़ॉर्म वितरण का कार्यान्वयन
- नॉर्मल वितरण: बेल कर्व
- एक्सपोनेंशियल वितरण
- प्रायिकता घनत्व फ़ंक्शन (PDF) को समझना
- प्रायिकता द्रव्यमान फ़ंक्शन (PMF) को समझना
- प्रयोग: पुस्तक रेटिंग डेटा का अन्वेषण
- सारांश और अंतर्दृष्टि
1. डेटा वितरणों का परिचय
डेटा वितरण यह बताते हैं कि किसी डेटा सेट में मान कैसे फैले या केंद्रित हैं। वितरणों को समझना सांख्यिकी और मशीन लर्निंग में अनिश्चितताओं का मॉडल बनाने, भविष्यवाणियां करने, और सार्थक निष्कर्ष निकालने के लिए महत्वपूर्ण है।
- यूनिफ़ॉर्म वितरण: दिए गए सीमा में सभी परिणामों की समान संभावना लगभग होती है।
- नॉर्मल वितरण: डेटा औसत (mean) के इर्द-गिर्द सममिति के साथ केंद्रित होता है, जो बेल-आकार का वक्र बनाता है।
- एक्सपोनेंशियल वितरण: डेटा एक तरफ़ झुका होता है, और किसी विशिष्ट मान से दूर जाने पर प्रायिकता तेजी से घटती है, अक्सर प्रतीक्षा समय मॉडल करने के लिए उपयोग किया जाता है।
2. यूनिफ़ॉर्म वितरण
अवधारणा:
- परिभाषित सीमा के भीतर हर मान समान संभावना वाला होता है।
- उन सिमुलेशनों में उपयोग किया जाता है जहाँ निष्पक्षता या समान संभावना मानी जाती है।
- उदाहरण: एक निष्पक्ष छह-पक्षीय पासा का फेंकना — प्रत्येक संख्या 1 से 6 तक समान अवसर रखती है।
कोड कार्यान्वयन:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
import numpy as np import matplotlib.pyplot as plt # 0 से 10 के बीच यूनिफॉर्म वितरण से 100,000 नमूने उत्पन्न करें values = np.random.uniform(0, 10, 100000) # हिस्टोग्राम के रूप में विज़ुअलाइज़ करें plt.hist(values, bins=50, edgecolor='black') plt.title('यूनिफ़ॉर्म वितरण') plt.xlabel('मान') plt.ylabel('आवृत्ति') plt.show() |
व्याख्या:
np.random.uniform(0, 10, 100000)
[0, 10]
अंतराल में समान रूप से फैले नमूने बनाता है।- हिस्टोग्राम सीमांत में लगभग बराबर ऊंचाई वाली बार दिखाता है, जो समान संभावना को दर्शाता है।
विज़ुअलाइज़ेशन विवरण:
आप एक आयताकार आकार का हिस्टोग्राम देखेंगे जहाँ आवृत्ति लगभग सभी बीन (0 से 10 तक) के लिए समान होती है, जो डेटा बिंदुओं के किसी भी केंद्रित संग्रह को नहीं दिखाता।
3. नॉर्मल वितरण (गौसियन वितरण)
अवधारणा:
- डेटा बिंदु औसत (
μ
) के आसपास समेटे जाते हैं। - औसत (
μ
) और मानक विचलन (σ
) द्वारा परिभाषित। - प्राकृतिक स्थिति में आमतौर पर पाया जाता है — कद, परीक्षा अंक, मापन त्रुटियाँ।
- बेल-कर्व का आकार।
कोड कार्यान्वयन:
1 2 3 4 5 6 7 8 |
values = np.random.normal(0, 1.5, 100000) plt.hist(values, bins=50, edgecolor='black') plt.title('नॉर्मल वितरण (μ=0, σ=1.5)') plt.xlabel('मान') plt.ylabel('आवृत्ति') plt.show() |
व्याख्या:
- यह नॉर्मल वितरण जिसका औसत 0 और मानक विचलन 1.5 है, उत्पन्न किया गया है।
- हिस्टोग्राम शिखर 0 पर होता है और सममिति से घटता है।
विज़ुअलाइज़ेशन विवरण:
हिस्टोग्राम बेल कर्व का रूप लेता है, जिसमें अधिकांश मान 0 के आसपास केंद्रित हैं और चरम मानों पर कम संख्या है।
4. एक्सपोनेंशियल वितरण
अवधारणा:
- ポइस्सोन प्रक्रिया में घटनाओं के बीच समय के मॉडलिंग के लिए उपयोग किया जाता है।
- डेटा ज्यादातर कम मान (अक्सर शून्य के पास) के आसपास केंद्रित होता है।
- मान बढ़ने पर प्रायिकता तेजी से घटती है।
- दाईं ओर झुका हुआ वितरण।
कोड कार्यान्वयन:
1 2 3 4 5 6 7 8 9 10 11 12 |
from scipy.stats import expon import matplotlib.pyplot as plt x = np.linspace(0, 10, 100) # 0 से 10 तक सतत सीमा pdf_values = expon.pdf(x) # प्रायिकता घनत्व फ़ंक्शन के मान plt.plot(x, pdf_values, color='red') plt.title('एक्सपोनेंशियल वितरण PDF') plt.xlabel('मान') plt.ylabel('प्रायिकता घनत्व') plt.show() |
व्याख्या:
expon.pdf(x)
बिंदुओंx
पर प्रायिकता घनत्व फ़ंक्शन की गणना करता है।- शून्य पर मान सबसे उच्च होता है, और बाद में तेजी से घटता है।
विज़ुअलाइज़ेशन विवरण:
ग्राफ़ शुरू होता है शून्य पर अधिकत्तम मान 1 से, और जल्दी से घटकर ज़ीरो के पास पहुँच जाता है जब x
10 की ओर बढ़ता है।
5. प्रायिकता घनत्व फ़ंक्शन (PDF)
अवधारणा:
- यह सतत वितरणों पर लागू होता है।
- किसी भी सटीक मान के लिए प्रायिकता लगभग शून्य होती है।
- प्रायिकता मान्य होती है जब इसे किसी सीमा / मानों के समूह पर देखा जाता है।
- PDF वक्र के नीचे क्षेत्रफल उस सीमा पर प्रायिकता देता है।
कोड कार्यान्वयन:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
import seaborn as sb import numpy as np import matplotlib.pyplot as plt sb.set() # बेहतर दिखावट के लिए Seaborn स्टाइलिंग values = np.random.normal(0, 1, 200) sb.histplot(values, kde=True, bins=30) plt.title('PDF वक्र के साथ नॉर्मल वितरण') plt.xlabel('मान') plt.ylabel('घनत्व') plt.show() |
व्याख्या:
sb.histplot()
मेंkde=True
से हिस्टोग्राम पर स्मूथ PDF वक्र ओवरले हो जाता है।- Seaborn का उपयोग खूबसूरत प्लॉट बनाने में मदद करता है।
विश्लेषणात्मक अंतर्दृष्टि:
- PDF वक्र यह दर्शाता है कि विभिन्न मानों के रेंज कितनी संभावनाएँ रखते हैं।
- औसत के आसपास के रेंज में "घनत्व" उच्च होता है — वहां मान आने की संभावना अधिक होती है।
6. प्रायिकता द्रव्यमान फ़ंक्शन (PMF)
अवधारणा:
- यह विसंगत वितरणों पर लागू होता है।
- सटीक परिणामों की प्रायिकता बताता है।
- सभी प्रायिकताओं का योग 1 (या 100%) होता है।
व्यावहारिक उदाहरण:
मान लें, विभिन्न ब्रांड्स के बिक्री की प्रायिकताएँ (डिस्क्रीट श्रेणियाँ)।
कोड कार्यान्वयन:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
import numpy as np import matplotlib.pyplot as plt x1 = np.array([1, 2, 3, 4, 5]) x_name = ['A ब्रांड', 'B ब्रांड', 'C ब्रांड', 'D ब्रांड', 'E ब्रांड'] y1 = [55, 85, 96, 88, 99] # प्रायिकता प्रतिशत में # PMF के लिए बार चार्ट plt.bar(x1, y1, color='blue') plt.title('ब्रांड्स के लिए बिक्री प्रायिकता (PMF)') plt.xlabel('ब्रांड्स') plt.ylabel('प्रायिकता (%)') plt.xticks(x1, x_name) plt.show() |
व्याख्या:
- डिस्क्रीट श्रेणियाँ (ब्रांड्स) x-अक्ष पर हैं।
- प्रत्येक बार की ऊंचाई उस ब्रांड की बिक्री की प्रायिकता दर्शाती है।
- PDF से अलग, प्रायिकताएँ सटीक श्रेणियों को दी जाती हैं, न कि सतत रेंज को।
विश्लेषणात्मक अंतर्दृष्टि:
- PMF निर्णय लेने वालों को उच्च सफलता दर वाले ब्रांड पहचानने में मदद करता है।
- संसाधनों या मार्केटिंग प्रयासों का आवंटन करने में उपयोगी।
7. प्रयोग: पुस्तक रेटिंग डेटा सेट का अन्वेषण
डेटा सेट विवरण:
BX_Books.csv
: पुस्तकों की मेटा जानकारी, जैसे शीर्षक, लेखक, प्रकाशक, वर्ष, और कवर इमेज URLs।BX_Book_Ratings.csv
: उपयोगकर्ता आईडी के साथ पुस्तक ISBNs और उनकी रेटिंग्स (0-10 स्केल या संभवतः 0-5 स्केल)।BX_Users.csv
: उपयोगकर्ता डेमोग्राफिक डेटा (लोडिंग के दौरान त्रुटि रिपोर्ट; संभवतः एन्कोडिंग समस्या)।
डेटा संरचना उदाहरण:
ISBN | पुस्तक शीर्षक | पुस्तक लेखक | प्रकाशन वर्ष | प्रकाशक |
---|---|---|---|---|
0195153448 | Classical Mythology | Mark P. O. Morford | 2002 | Oxford University Press |
0002005018 | Clara Callan | Richard Bruce Wright | 2001 | HarperFlamingo Canada |
यूज़र-आईडी | ISBN | पुस्तक रेटिंग |
---|---|---|
276725 | 034545104X | 0 |
276726 | 0155061224 | 5 |
संभावित विश्लेषण:
- रेटिंग वितरण: पुस्तक रेटिंग कैसे वितरित हैं? क्या यह समान है, सामान्य है, या झुका हुआ?
- औसत रेटिंग के अनुसार शीर्ष लेखक/प्रकाशक: कौन सबसे अधिक रेटिंग प्राप्त करता है?
- उपयोगकर्ता व्यवहार: क्या उपयोगकर्ता आम तौर पर उदार हैं या आलोचनात्मक?
रेटिंग वितरण के लिए सैंपल कोड:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
import pandas as pd import matplotlib.pyplot as plt # रेटिंग फ़ाइल लोड करें (सही डेलिमीटर और एन्कोडिंग सुनिश्चित करें) ratings = pd.read_csv('BX-Book-Ratings.csv', sep=';', encoding='latin-1') # यदि आवश्यक हो तो रेटिंग को न्यूमेरिक में कन्वर्ट करें ratings['Book-Rating'] = pd.to_numeric(ratings['Book-Rating'], errors='coerce') plt.hist(ratings['Book-Rating'], bins=11, edgecolor='black') plt.title('पुस्तक रेटिंग का वितरण') plt.xlabel('रेटिंग') plt.ylabel('आवृत्ति') plt.show() |
आपको जो अंतर्दृष्टि मिल सकती है:
- यह हिस्टोग्राम बताएगा कि रेटिंग समान रूप से वितरित है (यूनिफ़ॉर्म) या किसी स्कोर के आसपास केंद्रित है (नॉर्मल)।
- अगर रेटिंग उच्च छोर की ओर झुकी है, तो उपयोगकर्ता आमतौर पर सकारात्मक हो सकते हैं या स्केल में पक्षपात हो सकता है।
8. सारांश और विश्लेषणात्मक निष्कर्ष
वितरण प्रकार | डेटा प्रकार | प्रायिकता अवधारणा | मुख्य विशेषताएँ | उदाहरण उपयोग |
---|---|---|---|---|
यूनिफ़ॉर्म वितरण | सतत | सीमान्त में समान संभावना | फ्लैट हिस्टोग्राम, कोई केंद्रण नहीं | रैंडम नंबर जनरेशन |
नॉर्मल वितरण | सतत | PDF: सीमाओं पर प्रायिकता | बेल कर्व, औसत के चारों ओर सममिति | कद, टेस्ट स्कोर |
एक्सपोनेंशियल वितरण | सतत | PDF के साथ तेजी से गिरावट | झुका हुआ डेटा; शून्य के पास उच्च | घटनाओं के बीच प्रतीक्षा समय |
प्रायिकता घनत्व फ़ंक्शन (PDF) | सतत | अंतरालों पर प्रायिकता | वक्र के नीचे क्षेत्र = प्रायिकता | सतत वेरिएबल्स |
प्रायिकता द्रव्यमान फ़ंक्शन (PMF) | डिस्क्रीट | बिंदुओं पर प्रायिकता | योग 1; विशिष्ट मान | गेम परिणाम, श्रेणियाँ |
मुख्य तथ्य:
- सतत vs विसंगत: सतत डेटा के लिए PDF और विसंगत डेटा के लिए PMF का उपयोग करें।
- विज़ुअलाइज़ेशन: वितरणों को समझने के लिए हिस्टोग्राम उपयोगी हैं, और PDF/PMF चित्रण थ्योरीटिकल दृष्टिकोण देते हैं।
- वास्तविक दुनिया के डेटा: पुस्तक रेटिंग या कोई भी श्रेणीबद्ध डेटा अक्सर PMF विचारों की मांग करता है।
समापन नोट्स
इस ट्यूटोरियल में सांख्यिकीय वितरण और उनके Python में सिंथेटिक एवं वास्तविक डेटा उदाहरणों के साथ विज़ुअलाइज़ेशन पर चर्चा की गई। ये बुनियादी अवधारणाएं डेटा व्यवहार को समझने में सक्षम बनाती हैं, जो डेटा साइंस और मशीन लर्निंग अनुप्रयोगों के लिए आवश्यक हैं।
कोड स्निपेट्स को संशोधित करके आप अन्य पैरामीटर या डेटा सेट भी अन्वेषण कर सकते हैं तथा अपनी समझ बढ़ा सकते हैं!
विश्लेषण की शुभकामनाएँ! 🎉