डेटा विज़ुअलाइज़ेशन में महारत हासिल करना: पायथन में Seaborn के साथ बॉक्सप्लॉट और वायलिन प्लॉट को समझना
डेटा विज़ुअलाइज़ेशन प्रभावी डेटा विश्लेषण का एक मूलस्तम्भ है, जो डेटा वैज्ञानिकों और विश्लेषकों को डेटासेट में पैटर्न, रुझान और अपवाद खोजने में सक्षम बनाता है। उपलब्ध विभिन्न विज़ुअलाइज़ेशन टूल्स में से, बॉक्सप्लॉट और वायलिन प्लॉट वितरणों को सारांशित करने और विभिन्न श्रेणियों में डेटा की तुलना करने के लिए अविश्वसनीय रूप से मूल्यवान हैं। इस व्यापक मार्गदर्शिका में, हम पायथन की Seaborn लाइब्रेरी का उपयोग करके इन दो शक्तिशाली विज़ुअलाइज़ेशन तकनीकों में गहराई से उतरेंगे, प्रायोगिक प्रदर्शन के लिए क्लासिक आईरिस डेटासेट का उपयोग करते हुए।
—
सामग्री तालिका
- डेटा विज़ुअलाइज़ेशन का परिचय
- आईरिस डेटासेट को समझना
- बॉक्सप्लॉट: एक व्यापक मार्गदर्शिका
- वायलिन प्लॉट्स: डेटा वितरण की अंतर्दृष्टि बढ़ाना
- व्यावहारिक कार्यान्वयन: Jupyter Notebook वॉकथ्रू
- डेटा विश्लेषण में उपयोग के मामले
- निष्कर्ष
- अतिरिक्त संसाधन
—
डेटा विज़ुअलाइज़ेशन का परिचय
डेटा विज़ुअलाइज़ेशन कच्चे डेटा को ग्राफिकल प्रतिनिधित्वों में बदलता है, जिससे जटिल डेटा अधिक सुलभ और समझने योग्य हो जाता है। प्रभावी विज़ुअलाइज़ेशन पैटर्न, सहसंबंध और विसंगतियों को प्रकट कर सकते हैं जो सारणीबद्ध डेटा में अनदेखे रह सकते हैं। विविध विज़ुअलाइज़ेशन तकनीकों में, बॉक्सप्लॉट और वायलिन प्लॉट्स उनकी वितरण की विशेषताओं को संक्षेप में सारांशित करने और विभिन्न श्रेणियों या समूहों में तुलना करने की क्षमता के लिए उभर कर आते हैं।
—
आईरिस डेटासेट को समझना
हमारी विज़ुअलाइज़ेशन तकनीकों में गहराई से जाने से पहले, यह आवश्यक है कि हम उस डेटासेट से परिचित हों जिसका हम उपयोग करने जा रहे हैं: आईरिस डेटासेट. यह डेटासेट मशीन लर्निंग और सांख्यिकी के क्षेत्र में एक स्टेपल है, जो वर्गीकरण कार्यों के लिए एक क्लासिक उदाहरण प्रदान करता है।
आईरिस डेटासेट का अवलोकन
- विशेषताएँ:
- स्पैल की लंबाई: सेंटीमेटर्स में स्पैल की लंबाई।
- स्पैल की चौड़ाई: सेंटीमेटर्स में स्पैल की चौड़ाई।
- पेटल की लंबाई: सेंटीमेटर्स में पेटल की लंबाई।
- पेटल की चौड़ाई: सेंटीमेटर्स में पेटल की चौड़ाई।
- कक्षा: आईरिस फूल की प्रजाति (Iris-setosa, Iris-versicolor, Iris-virginica)।
- उद्देश्य: यह डेटासेट मुख्य रूप से वर्गीकरण एल्गोरिदम का परीक्षण करने के लिए उपयोग किया जाता है, जिसका लक्ष्य फूल के मापों के आधार पर प्रजाति की भविष्यवाणी करना है।
—
बॉक्सप्लॉट: एक व्यापक मार्गदर्शिका
बॉक्सप्लॉट क्या है?
एक बॉक्सप्लॉट, जिसे व्हिस्कर प्लॉट के रूप में भी जाना जाता है, डेटा के वितरण को दिखाने का एक मानकीकृत तरीका है जो पांच-संख्या सारांश पर आधारित है:
- न्यूनतम: सबसे छोटा डेटा बिंदु।
- पहला क्वारटाइल (Q1): डेटासेट के निचले आधे का मीडियन।
- मीडियन (Q2): डेटासेट का मध्य मूल्य।
- तीसरा क्वारटाइल (Q3): डेटासेट के ऊपरी आधे का मीडियन।
- अधिकतम: सबसे बड़ा डेटा बिंदु।
इसके अतिरिक्त, बॉक्सप्लॉट अक्सर अपवित्रताओं को हाइलाइट करते हैं, डेटा बिंदु जो डेटा के समग्र पैटर्न से काफी बाहर गिरते हैं।
Seaborn के साथ बॉक्सप्लॉट बनाना
Seaborn, Matplotlib पर आधारित एक पायथन डेटा विज़ुअलाइज़ेशन लाइब्रेरी, बॉक्सप्लॉट बनाने के लिए एक सीधा इंटरफ़ेस प्रदान करती है। यहां आइरिस डेटासेट का उपयोग करके एक चरण-दर-चरण मार्गदर्शिका है।
चरण 1: आवश्यक लाइब्रेरी आयात करें
1 2 3 4 5 |
import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns sns.set() |
चरण 2: आईरिस डेटासेट लोड करें
1 2 3 |
names = ['sepal_length','sepal_width','petal_length','petal_width','class'] iris = pd.read_csv('iris.data', names=names) iris.head() |
आउटपुट:
1 2 3 4 5 6 |
sepal_length sepal_width petal_length petal_width class 0 5.1 3.5 1.4 0.2 Iris-setosa 1 4.9 3.0 1.4 0.2 Iris-setosa 2 4.7 3.2 1.3 0.2 Iris-setosa 3 4.6 3.1 1.5 0.2 Iris-setosa 4 5.0 3.6 1.4 0.2 Iris-setosa |
चरण 3: बॉक्सप्लॉट उत्पन्न करें
1 2 |
sns.boxplot(data=iris, x='petal_length', y='class') plt.show() |
आउटपुट:

बॉक्सप्लॉट की व्याख्या करना
बॉक्सप्लॉट के घटकों को समझना प्रभावी डेटा व्याख्या के लिए महत्वपूर्ण है:
- बॉक्स: इंटरक्वार्टाइल रेंज (IQR) का प्रतिनिधित्व करता है, जो Q1 से Q3 (25वां से 75वां प्रतिशतक) तक फैला होता है, डेटा के मध्य 50% को समाहित करता है।
- मीडियन लाइन: बॉक्स के अंदर एक रेखा जो डेटा के मीडियन (Q2) को इंगित करती है।
- व्हिस्कर: बॉक्स से बढ़ते हुए रेखाएं जो न्यूनतम और अधिकतम मानों तक जाती हैं, जो क्रमशः निचले और ऊपरी क्वारटाइल से 1.5 * IQR के भीतर होते हैं।
- अपवित्रताएँ: व्हिस्कर के बाहर के डेटा बिंदु, जिन्हें अक्सर व्यक्तिगत बिंदुओं या डॉट्स के रूप में दर्शाया जाता है।
आईरिस डेटासेट के बॉक्सप्लॉट में:
- कक्षाएँ: प्लॉट तीन आईरिस प्रजातियों: सेटोसा, वर्सिकोलर, और वर्जिनिका में पेटल की लंबाई की तुलना करता है।
- वितरण:
- Iris-setosa न्यूनतम विभाजन दिखाता है जिसमें न्यूनतम विविधता है।
- Iris-versicolor और Iris-virginica के बीच ओवरलैपिंग रेंज दिखाई देती हैं, जो केवल पेटल की लंबाई के आधार पर वर्गीकरण में संभावित चुनौतियों को इंगित करती हैं।
- अपवित्रताएँ: पहचाने गए बिंदु जो बाकी डेटा से काफी भिन्न होते हैं, जिन्हें आगे की जांच या संभालने की आवश्यकता हो सकती है।
बॉक्सप्लॉट में अपवित्रताओं को संभालना
अपवित्रताएँ मशीन लर्निंग मॉडल के प्रदर्शन को काफी प्रभावित कर सकती हैं। यहां उनका सामना करने का तरीका है:
- पहचान: बॉक्सप्लॉट विज़ुअल रूप से अपवित्रताओं को हाइलाइट करते हैं, जिससे विसंगतियों को देखना आसान हो जाता है।
- विश्लेषण: निर्धारित करें कि अपवित्रताएँ वास्तविक डेटा बिंदु हैं या त्रुटियाँ।
- संभालना:
- हटाना: यदि वे त्रुटिपूर्ण या अप्रासंगिक माने जाते हैं तो अपवित्रताओं को निकालें।
- रूपांतरण: अपवित्रताओं के प्रभाव को कम करने के लिए रूपांतरण लागू करें।
- रखे रखना: यदि वे डेटा वितरण के बारे में मूल्यवान जानकारी रखते हैं तो अपवित्रताओं को रखें।
उदाहरण निर्णय नियम:
- व्हिस्कर के पास अपवित्रताओं के समूह: उन्हें बनाए रखने पर विचार करें क्योंकि वे प्राकृतिक विविधताओं का प्रतिनिधित्व कर सकते हैं।
- अलगावपूर्ण अपवित्रताएँ: यदि वे विश्लेषण को विकृत करने की संभावना रखते हैं तो हटाने पर विचार करें।
—
वायलिन प्लॉट्स: डेटा वितरण की अंतर्दृष्टि बढ़ाना
वायलिन प्लॉट क्या है?
एक वायलिन प्लॉट, बॉक्सप्लॉट के गुणों को कर्नेल सघनता प्लॉट के साथ मिलाता है, जिससे डेटा वितरण का अधिक विस्तृत दृश्य प्रदान होता है। यह विभिन्न मूल्यों पर डेटा की संभाव्यता सघनता को प्रदर्शित करता है, जिससे वितरण के आकार की गहरी समझ मिलती है।
Seaborn के साथ वायलिन प्लॉट बनाना
उसी आईरिस डेटासेट का उपयोग करके, आइए एक वायलिन प्लॉट बनाएं।
चरण 1: वायलिन प्लॉट उत्पन्न करें
1 2 3 4 |
sns.violinplot(data=iris, x='petal_length', y='class') fig = plt.gcf() fig.set_size_inches(10, 10) plt.show() |
आउटपुट:

वायलिन प्लॉट की व्याख्या करना
वायलिन प्लॉट कई अंतर्दृष्टियाँ प्रदान करते हैं:
- सघनता अनुमान: विभिन्न मूल्यों पर वायलिन की चौड़ाई डेटा सघनता का प्रतिनिधित्व करती है, अधिक अवलोकनों वाले क्षेत्रों को हाइलाइट करती है।
- बॉक्सप्लॉट तत्व: कई वायलिन प्लॉट पारंपरिक बॉक्सप्लॉट तत्वों (मीडियन, क्वारटाइल) को सघनता प्लॉट के भीतर शामिल करते हैं।
- सममिति: आकार यह इंगित करता है कि क्या डेटा वितरण सममित है या विकृत।
- कई मोड: वायलिन प्लॉट में शीर्ष मल्टीमोडल वितरणों को इंगित कर सकते हैं।
आईरिस डेटासेट के वायलिन प्लॉट में:
- प्रजाति की तुलना: प्लॉट प्रजातियों में पेटल लंबाई के वितरण का स्पष्ट दृश्य प्रदान करता है।
- सघनता के शिखर: सघनता में चोटी सामान्य पेटल लंबाई मानों को संकेत दे सकती हैं।
- विकृति: असममित आकार कक्षाओं के भीतर विकृत वितरण को इंगित करते हैं।
बॉक्सप्लॉट और वायलिन प्लॉट की तुलना करना
हालांकि दोनों प्लॉट्स मूल्यवान हैं, वे थोड़े अलग उद्देश्यों की सेवा करते हैं:
- बॉक्सप्लॉट:
- क्वारटाइल और मीडियन का उपयोग करके एक संक्षिप्त सारांश प्रदान करते हैं।
- अपवित्रताओं को प्रभावी ढंग से हाइलाइट करते हैं।
- श्रेणियों के बीच त्वरित तुलना के लिए सर्वश्रेष्ठ।
- वायलिन प्लॉट्स:
- सघनता अनुमान के माध्यम से डेटा वितरण का विस्तृत दृश्य प्रदान करते हैं।
- मल्टीमोडल वितरण और विकृति को प्रकट करते हैं।
- जब विश्लेषण के लिए डेटा वितरण का आकार महत्वपूर्ण हो तब उपयोगी।
इनमें से चुनना:
- सरलता के लिए और जब अपवित्रता जानकारी प्रमुख हो, तब बॉक्सप्लॉट का उपयोग करें।
- जब डेटा वितरण के आकार को समझना विश्लेषण के लिए महत्वपूर्ण हो तब वायलिन प्लॉट्स चुनें।
—
व्यावहारिक कार्यान्वयन: Jupyter Notebook वॉकथ्रू
हाथों-हाथ अभ्यास के लिए, इन विज़ुअलाइज़ेशन को Jupyter Notebook में लागू करना प्रयोग और पुनरावृत्ती विश्लेषण को सुविधाजनक बनाता है। नीचे पहले से वर्णित चरणों का एक संक्षिप्त संस्करण है।
चरण 1: सेटअप और डेटा लोडिंग
1 2 3 4 5 6 7 8 9 10 |
import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns sns.set() # लॉड आईरिस डेटासेट names = ['sepal_length','sepal_width','petal_length','petal_width','class'] iris = pd.read_csv('iris.data', names=names) iris.head() |
चरण 2: बॉक्सप्लॉट उत्पन्न करें
1 2 |
sns.boxplot(data=iris, x='petal_length', y='class') plt.show() |
चरण 3: वायलिन प्लॉट उत्पन्न करें
1 2 3 4 |
sns.violinplot(data=iris, x='petal_length', y='class') fig = plt.gcf() fig.set_size_inches(10, 10) plt.show() |
नोट: स्पष्टता और पठनीयता सुनिश्चित करने के लिए fig.set_size_inches(width, height)
का उपयोग करके चित्र के आकार को आवश्यकतानुसार समायोजित करें।
—
डेटा विश्लेषण में उपयोग के मामले
यह समझना कि बॉक्सप्लॉट और वायलिन प्लॉट का कब और कैसे उपयोग करना है, डेटा विश्लेषण वर्कफ्लो को काफी बहेतर बना सकता है:
- फीचर तुलना: पैटर्न या विसंगतियों की पहचान करने के लिए विभिन्न श्रेणियों में संख्यात्मक विशेषताओं के वितरणों की तुलना करें।
- अपवित्रता पहचान: अपवित्रताओं को जल्दी से स्पॉट करें जो आगे की जांच या सफाई की आवश्यकता हो सकती है।
- मॉडल तैयारी: डेटा वितरण और वैरिएंस को समझकर फीचर चयन और इंजीनियरिंग को सूचित करें।
- एक्सप्लोरेटरी डेटा एनालिसिस (EDA): डेटा संरचना, केंद्रीय प्रवृत्तियों, और प्रमाणीकरण में प्रारंभिक अंतर्दृष्टि प्राप्त करें।
उदाहरण: ग्राहक विभाजन में, बॉक्सप्लॉट विभिन्न जनसांख्यिक समूहों में खर्च करने की आदतों की तुलना कर सकते हैं, जबकि वायलिन प्लॉट वितरण की बारीकियों को प्रकट कर सकते हैं, जैसे कि क्या कुछ समूहों में खर्च में अधिक विविधता है।
—
निष्कर्ष
बॉक्सप्लॉट और वायलिन प्लॉट डेटा विज़ुअलाइज़ेशन के अभिन्न उपकरण हैं, जो डेटा वितरण के विशिष्ट लेकिन पूरक दृश्यों की पेशकश करते हैं। Seaborn का उपयोग करके इन प्लॉट्स में महारत हासिल करके, डेटा विश्लेषक और वैज्ञानिक प्रभावी रूप से डेटा का सारांश बना सकते हैं, अपवित्रताओं का पता लगा सकते हैं, और अंतर्निहित पैटर्न में गहरी अंतर्दृष्टि प्राप्त कर सकते हैं। चाहे आप मशीन लर्निंग मॉडलों के लिए डेटा तैयार कर रहे हों या गहन एक्सप्लोरेटरी विश्लेषण कर रहे हों, ये विज़ुअलाइज़ेशन तकनीकें सूचित निर्णय लेने के लिए आवश्यक स्पष्टता और सटीकता प्रदान करती हैं।
—
अतिरिक्त संसाधन
- Seaborn दस्तावेज़ीकरण: https://seaborn.pydata.org/
- Matplotlib दस्तावेज़ीकरण: https://matplotlib.org/stable/contents.html
- Pandas दस्तावेज़ीकरण: https://pandas.pydata.org/docs/
- Kaggle का आईरिस डेटासेट: https://www.kaggle.com/uciml/iris
- Python Data Science Handbook by Jake VanderPlas
- Hands-On Data Visualization with Seaborn by Ritchie S. King
—
बॉक्सप्लॉट और वायलिन प्लॉट को अपने डेटा विश्लेषण वर्कफ्लो में शामिल करके, आप जटिल डेटासेट की व्याख्या करने की अपनी क्षमता को ऊंचा उठा सकते हैं, जिससे अधिक सटीक मॉडल और सूचित निष्कर्ष प्राप्त होते हैं। खुश विश्लेषण!