हीटमैप एक लोकप्रिय डेटा विज़ुअलाइज़ेशन तकनीक है जो रंगों का उपयोग करके डेटा की परिमाण के विभिन्न स्तरों का प्रतिनिधित्व करती है, जिससे आप अपने डेटासेट में पैटर्न और विसंगतियों को जल्दी पहचान सकते हैं।
Seaborn लाइब्रेरी का उपयोग करते हुए प्लॉटिंग और विज़ुअलाइज़ेशन को कस्टमाइज़ करते समय त्वरित संदर्भ के लिए हमारा Seaborn चीट शीट हाथ में रखें।
इस ट्यूटोरियल में, हम जानेंगे कि Seaborn हीटमैप क्या हैं, उनका उपयोग कब करना चाहिए, और अपनी ज़रूरतों के अनुरूप उन्हें कैसे बनाना और कस्टमाइज़ करना है।
हीटमैप को समझना
हीटमैप क्या होते हैं?
हीटमैप डेटा को एक ग्रिड में व्यवस्थित करते हैं, जहाँ अलग-अलग रंग या शेड्स डेटा की परिमाण के विभिन्न स्तरों को दर्शाते हैं।
हीटमैप की दृश्य प्रकृति से क्लस्टर, रुझान, और विसंगतियों जैसे पैटर्न तुरंत पहचाने जा सकते हैं। यह हीटमैप को अन्वेषणात्मक डेटा विश्लेषण के लिए एक प्रभावी उपकरण बनाता है।
यहाँ Seaborn हीटमैप का एक उदाहरण है:
आपको हीटमैप कब इस्तेमाल करना चाहिए?
हीटमैप का उपयोग करना आपकी आवश्यकताओं और आपके डेटासेट की प्रकृति पर निर्भर करता है। सामान्यतः, हीटमैप उन डेटासेट्स के लिए सबसे उपयुक्त होते हैं जहाँ आप मानों को रंगों के रूप में दर्शा सकें—आमतौर पर सतत या अविच्छिन्न संख्यात्मक डेटा। हालाँकि, आप उन्हें उस श्रेणीबद्ध डेटा के लिए भी उपयोग कर सकते हैं जिसे परिमाणित या संक्षेपित किया गया हो (जैसे, गणना, औसत)।
यदि डेटासेट में अत्यधिक आउट्लायर्स हैं या वह बहुत विरल है, तो पूर्व-प्रसंस्करण या सामान्यीकरण के बिना हीटमैप उतने प्रभावी नहीं हो सकते। टेक्स्ट, छवियाँ और अन्य असंरचित डेटा भी हीटमैप के लिए सीधे उपयुक्त नहीं हैं, जब तक कि आप पहले डेटा को एक संरचित, संख्यात्मक स्वरूप में परिवर्तित न करें।
हीटमैप कई वेरिएबल्स के बीच सहसंबंध मैट्रिक्स को विज़ुअलाइज़ करने में उत्कृष्ट हैं, जिससे उच्च या नकारात्मक सहसंबंध वाले वेरिएबल्स को एक नज़र में पहचानना आसान हो जाता है।
हीटमैप दो आयामों—जैसे विभिन्न समय अवधियों या श्रेणियों—में डेटा की दृश्य तुलना करने के लिए भी उपयोगी होते हैं। भौगोलिक डेटा विश्लेषण में, हीटमैप किसी स्थानिक लेआउट में घटनाओं की सघनता या तीव्रता का प्रतिनिधित्व कर सकते हैं, जैसे किसी शहर में जनसंख्या घनत्व या अपराध हॉटस्पॉट।
Seaborn हीटमैप के साथ शुरुआत
अपना परिवेश सेट करना
इस ट्यूटोरियल के लिए, हम DataCamp के AI-सक्षम डेटा नोटबुक DataLab पर उपलब्ध loans संबंधी जानकारी वाले डेटासेट का उपयोग करेंगे। इस ट्यूटोरियल का कोड संबंधित DataLab वर्कबुक में भी उपलब्ध है।
DataLab में सभी प्रमुख लाइब्रेरी पहले से ही सुविधाजनक रूप से इंस्टॉल और इंपोर्ट के लिए तैयार होती हैं। अधिक जानने के लिए, हमारे लेख डेटा साइंस के लिए शीर्ष Python लाइब्रेरी देखें।
हम इस ट्यूटोरियल में इन लाइब्रेरियों का उपयोग करेंगे:
# Import librariesimport numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as snsसंचालित द्वारा
यदि आप Python से परिचित नहीं हैं और इस ट्यूटोरियल के लिए जल्दी सीखना चाहते हैं, तो हमारा Introduction to Python कोर्स देखें।
वैकल्पिक रूप से, यदि आप उन लाइब्रेरियों के बारे में और जानना चाहते हैं जिनका हम इस ट्यूटोरियल में उपयोग करेंगे, तो आप ये कोर्स देख सकते हैं:
सुनिश्चित करें कि आपका डेटा मैट्रिक्स प्रारूप में हो, जहाँ पंक्तियाँ और स्तंभ अलग-अलग आयामों (जैसे समय अवधि, वेरिएबल, श्रेणियाँ) का प्रतिनिधित्व करें। मैट्रिक्स की प्रत्येक सेल में वह मान होना चाहिए जिसे आप विज़ुअलाइज़ करना चाहते हैं।
डेटा की सफाई
हीटमैप का उपयोग करने से पहले, आपको दो मुख्य डेटा-सफाई कार्य करने चाहिए: मिसिंग वैल्यूज़ को संभालना और आउट्लायर्स को हटाना।
मिसिंग वैल्यूज़ के साथ काम करते समय, आप उन्हें किसी सांख्यिकीय माप (मीन, मीडियन) से भर सकते हैं, इंटरपोलेट कर सकते हैं, या यदि वे महत्वपूर्ण नहीं हैं तो हटा सकते हैं। जहाँ तक आउट्लायर्स का सवाल है, अपने विश्लेषण के अनुसार, आप उन्हें हटा सकते हैं या उनके मान समायोजित कर सकते हैं।
हमारे लोन डेटासेट में मिसिंग वैल्यूज़ नहीं थीं, लेकिन हमने कई आउट्लायर्स की पहचान की, जिन्हें हमने हटाने का निर्णय लिया। यह हमने कैसे किया, इसका पूरा कोड देखने के लिए DataLab पर नोटबुक देखें।
डेटा सामान्यीकरण या स्केलिंग
यदि आपका डेटासेट मानों की व्यापक रेंज को कवर करता है, तो स्केलिंग या सामान्यीकरण पर विचार करें। इससे हीटमैप के रंग आपेक्षिक अंतरों का अधिक सटीक प्रतिनिधित्व कर पाएंगे। सामान्य विधियों में मिन-मैक्स स्केलिंग और Z-स्कोर सामान्यीकरण शामिल हैं।
ऐसे सतत डेटा के लिए जिसे श्रेणियों में बाँटना हो, अर्थपूर्ण हीटमैप विज़ुअलाइज़ेशन के लिए उसे बिन या श्रेणियों में डिस्क्रीटाइज़ करने पर विचार करें।
सिंटैक्स और पैरामीटर्स
seaborn.heatmap() का उपयोग करने के लिए, आम तौर पर आपको डेटा का एक मैट्रिक्स पास करना होता है। फिर, आप अपनी आवश्यकताओं के अनुसार हीटमैप को कस्टमाइज़ करने के लिए पैरामीटर्स समायोजित कर सकते हैं।
data: विज़ुअलाइज़ करने के लिए डेटासेट, जो मैट्रिक्स रूप में होना चाहिए।
cmap: हीटमैप के लिए कोलormap निर्दिष्ट करता है। Seaborn विभिन्न रंग पैलेट्स को सपोर्ट करता है, जिनमें क्रमिक (sequential), विचलित (diverging), और गुणात्मक (qualitative) स्कीम शामिल हैं।
annot: यदि True सेट किया गया है, तो प्रत्येक सेल में मान को हीटमैप पर एनोटेट किया जाएगा।
fmt: जब annot True हो, तो fmt डेटा के एनोटेशन हेतु स्ट्रिंग फ़ॉर्मैटिंग कोड निर्धारित करता है। उदाहरण के लिए, पूर्णांकों के लिए 'd' और दो दशमलव के साथ फ्लोट के लिए '.2f'।
linewidths: उन रेखाओं की चौड़ाई सेट करता है जो प्रत्येक सेल को विभाजित करेंगी। बड़ा मान सेल्स के बीच अलगाव बढ़ाता है।
linecolor: यदि linewidths 0 से अधिक है, तो सेल्स को विभाजित करने वाली रेखाओं का रंग निर्दिष्ट करता है।
cbar: यह बूलियन मान इंगित करता है कि कलर बार खींचना है या नहीं। कलर बार डेटा मानों को रंगों से मैप करने के लिए संदर्भ प्रदान करता है।
vmin और vmax: ये पैरामीटर्स उस डेटा रेंज को परिभाषित करते हैं जिसे कोलormap कवर करेगा।
center: विचलित रंग योजनाओं का उपयोग करते समय कोलormap को केंद्रित करने के लिए मान सेट करता है।
square: यदि True सेट किया गया है, तो हीटमैप की सेल्स को वर्गाकार बनाता है।
xticklabels और yticklabels: x और y अक्षों पर प्रदर्शित लेबल नियंत्रित करते हैं।
अपना पहला Seaborn हीटमैप बनाना
हम अपने डेटा में प्रत्येक संख्यात्मक वेरिएबल के बीच सहसंबंध गुणांक दिखाने वाला एक हीटमैप बनाएंगे। अभी के लिए हम हीटमैप को सरल रखेंगे और अगला खंड में इसे और कस्टमाइज़ करेंगे।
# Calculate the correlation matrix
correlation_matrix = filtered_df.corr()# Create the heatmap
plt.figure(figsize =(10,8))
sns.heatmap(correlation_matrix, cmap ='coolwarm')
plt.show()संचालित द्वारा
अपने Seaborn हीटमैप को कस्टमाइज़ करना
रंगों का कस्टमाइज़ेशन
अपने हीटमैप के रंगों को कस्टमाइज़ करने से उसे पढ़ना आसान हो जाता है और रिपोर्ट व प्रस्तुतियों में अधिक आकर्षक दृश्य मिलते हैं।
Seaborn और Matplotlib कई बिल्ट-इन कोलormap प्रदान करते हैं। अपने डेटा की संरचना और पैटर्न को प्रभावी ढंग से उजागर करने के लिए कोलormap ('Blues', 'coolwarm', 'viridis' आदि) के साथ प्रयोग करें। निम्न से उच्च तक स्वाभाविक क्रम वाले डेटा के लिए क्रमिक कोलormap का उपयोग करें, अर्थपूर्ण मध्यबिंदु वाले डेटा के लिए विचलित कोलormap, और श्रेणीबद्ध डेटा के लिए गुणात्मक कोलormap।
हालाँकि, आप Seaborn के डिफ़ॉल्ट कोलormap और विकल्पों तक सीमित नहीं हैं। आप Matplotlib का उपयोग करके कस्टम कोलormap बना सकते हैं और पारदर्शिता जैसे अतिरिक्त कस्टमाइज़ेशन विकल्प निर्दिष्ट कर सकते हैं।
vmin और vmax सेट करने से आप उस डेटा रेंज को नियंत्रित कर सकते हैं जिसे कोलormap कवर करेगा। यह कंट्रास्ट बढ़ा सकता है और रुचि के विशिष्ट रेंज पर फोकस कर सकता है।
विचलित कोलormap के लिए, center पैरामीटर का उपयोग करके मध्यबिंदु मान निर्दिष्ट करें। यह सुनिश्चित करता है कि रंगों का कंट्रास्ट किसी महत्वपूर्ण मान के आसपास एंकर रहे।
हम अपने हीटमैप की रंग पैलेट को समायोजित करेंगे और न्यूनतम, अधिकतम और केंद्र मान निर्दिष्ट करके रंगों को एंकर भी करेंगे।
# Customize heatmap colors
plt.figure(figsize =(10,8))
sns.heatmap(correlation_matrix, cmap ='viridis', vmin =-1, vmax =1, center =0)
plt.show()संचालित द्वारा
डेटा एनोटेशन
डेटा एनोटेशन में प्रत्येक सेल के भीतर ऐसे लेबल जोड़ना शामिल है जो संख्यात्मक मान या कोई टेक्स्ट दिखा सकते हैं। एनोटेशन से हीटमैप को बिना लैजेंड से मान समझे, जल्दी पढ़ना और व्याख्या करना आसान हो जाता है।
एनोटेशन सक्षम करने के लिए, annot पैरामीटर को True पर सेट करें। इससे हीटमैप की प्रत्येक सेल में डेटा मान प्रदर्शित होंगे।
fmt पैरामीटर आपको एनोटेशन के टेक्स्ट को फ़ॉर्मैट करने देता है। उदाहरण के लिए, पूर्णांक फ़ॉर्मैटिंग के लिए 'd' और दो दशमलव स्थानों के साथ फ्लोट के लिए '.2f' का उपयोग करें।
हालाँकि Seaborn की heatmap फ़ंक्शन annot पैरामीटर के माध्यम से फ़ॉन्ट आकार जैसी टेक्स्ट प्रॉपर्टीज़ का सीधे कस्टमाइज़ेशन नहीं देती, आप Matplotlib की rcParams का उपयोग करके इन्हें वैश्विक रूप से समायोजित कर सकते हैं।
# Create an annotated heatmap
plt.figure(figsize =(10,8))
plt.rcParams.update({'font.size':12})
sns.heatmap(correlation_matrix, cmap ='viridis', vmin =-1, vmax =1, center =0, annot=True, fmt=".2f", square=True, linewidths=.5)
plt.show()संचालित द्वारा
annot पैरामीटर आपके डेटा के समान आकार की एक array-जैसी संरचना भी स्वीकार कर सकता है। यह एक अच्छा तरीका है जिससे आप उन एनोटेशंस को जोड़ सकते हैं जिनमें वह अलग जानकारी हो जो सेल के रंगों द्वारा प्रदर्शित की जा रही है। आप इसे इस तरह लागू कर सकते हैं:
# Example of alternative annotations
annot_array = np.round(data*100, decimals=2)
sns.heatmap(data, annot=annot_array, fmt='s')संचालित द्वारा
डेटा मास्किंग
डेटा मास्किंग एक तकनीक है जिसका उपयोग विशिष्ट शर्तों के आधार पर कुछ डेटा बिंदुओं को चुनिंदा रूप से हाइलाइट या छिपाने के लिए किया जाता है। यह डेटासेट के भीतर रुचि के विशिष्ट क्षेत्रों या पैटर्न पर ध्यान केंद्रित करने में मदद कर सकता है।
सबसे पहले, आपको अपने डेटा मैट्रिक्स के समान आकार वाला एक बूलियन मास्क बनाना होगा। जिन डेटा बिंदुओं को आप छिपाना (या दिखाना) चाहते हैं, उनके लिए मास्क True (या False) होना चाहिए। चूँकि सहसंबंध मैट्रिक्स सममित होता है, हम अपने हीटमैप के केवल ऊपरी हिस्से को कवर करने वाला त्रिभुज मास्क बनाने के लिए numpy के triu फ़ंक्शन का उपयोग कर सकते हैं।
# Create a mask using numpy's triu function
mask = np.triu(np.ones_like(correlation_matrix, dtype=bool))संचालित द्वारा
seaborn.heatmap() फ़ंक्शन के mask पैरामीटर का उपयोग करके अपना मास्क लागू करें। मास्क में True से मेल खाते डेटा बिंदु छिपा दिए जाएँगे।
# Create a masked heatmap
plt.figure(figsize =(10,8))
plt.rcParams.update({'font.size':12})
sns.heatmap(correlation_matrix, cmap ='viridis', vmin =-1, vmax =1, center =0, annot=True, fmt=".2f", square=True, linewidths=.5, mask = mask)
plt.show()संचालित द्वारा
श्रेष्ठ प्रक्रियाएँ और आम गलतियाँ
इन श्रेष्ठ प्रक्रियाओं का पालन करने से आप अपनी रिपोर्ट और प्रस्तुतियों के लिए आकर्षक विज़ुअलाइज़ेशन बनाने हेतु Seaborn हीटमैप्स का प्रभावी उपयोग कर पाएँगे।
Seaborn हीटमैप्स का उपयोग करते समय ये पाँच श्रेष्ठ प्रक्रियाएँ ध्यान में रखें:
1. सही रंग पैलेट चुनें
आप जो रंग पैलेट चुनते हैं, वह सीधे इस पर असर डालता है कि आपका डेटा कैसे समझा जाएगा। अलग-अलग रंग योजनाएँ आपके डेटा में पैटर्न को उजागर या छिपा सकती हैं।
ऐसे डेटा के लिए जो निम्न से उच्च की ओर बढ़ता है, क्रमिक रंग पैलेट्स का उपयोग करें, और अर्थपूर्ण मध्यबिंदु वाले डेटा के लिए विचलित रंग पैलेट्स। Seaborn cmap पैरामीटर के साथ विभिन्न विकल्प प्रदान करता है, जिससे आप अपने डेटासेट के अनुसार रंग योजना चुन सकते हैं। हमारा ट्यूटोरियल Seaborn Color Palette: Quick Guide to Picking Colors पढ़ें ताकि विभिन्न रंग पैलेट विकल्पों और अलग-अलग प्रकार के ग्राफ़्स में उनके उपयोग के बारे में जान सकें।
2. मिसिंग डेटा को सोच-समझकर संभालें
मिसिंग डेटा आपके हीटमैप में रिक्तियाँ ला सकता है, जो दर्शक को भटका सकता है। प्लॉटिंग से पहले, मिसिंग डेटा को संभालने की रणनीति तय करें। उनकी महत्ता के आधार पर, आप मिसिंग मानों का प्रतिपूरण कर सकते हैं या उन्हें पूरी तरह हटा सकते हैं। वैकल्पिक रूप से, मिसिंग डेटा को एक अलग रंग या पैटर्न से दिखाना उसके अस्तित्व को बिना भ्रमित किए हाइलाइट कर सकता है।
3. अपने डेटा को ठीक से स्केल करें
बड़े वैरिएंस या आउट्लायर्स वाला डेटा विज़ुअलाइज़ेशन को विकृत कर सकता है, जिससे यह तय करना मुश्किल हो जाता है कि डेटा में कोई पैटर्न है या नहीं। अपने डेटासेट में अंतरों को सटीक रूप से दर्शाने के लिए डेटा को सामान्यीकृत या स्केल करें। आपके डेटा की प्रकृति के आधार पर मिन-मैक्स स्केलिंग, Z-स्कोर सामान्यीकरण, या लॉग ट्रांसफ़ॉर्मेशन जैसी तकनीकें लाभकारी हो सकती हैं।
4. एनोटेशंस का संयम से उपयोग करें
हालाँकि एनोटेशंस सटीक मान दिखाकर उपयोगी विवरण जोड़ सकते हैं, लेकिन बहुत अधिक एनोटेशन जोड़ने से, विशेषकर बड़े डेटासेट्स में, हीटमैप पढ़ना कठिन हो सकता है।
एनोटेशन को प्रमुख डेटा बिंदुओं तक सीमित रखें या उन्हें छोटे हीटमैप्स में उपयोग करें।
5. हीटमैप के आयाम समायोजित करें
डिफ़ॉल्ट आस्पेक्ट रेशियो और आकार आपके डेटासेट के लिए उपयुक्त नहीं हो सकते, जिससे सेल्स दब सकते हैं या ऐसा भीड़भाड़ वाला प्रदर्शन हो सकता है जो पैटर्न को धुंधला कर दे।
अपने हीटमैप के आकार और आस्पेक्ट रेशियो को कस्टमाइज़ करें ताकि प्रत्येक सेल स्पष्ट रूप से दिखाई दे और समग्र पैटर्न आसानी से समझ में आए।
निष्कर्ष
Seaborn का हीटमैप फ़ंक्शन डेटा पैटर्न के आकर्षक विज़ुअलाइज़ेशन की सुविधा देता है और विशेष रूप से संख्यात्मक वेरिएबल्स के बीच सहसंबंधों को विज़ुअलाइज़ करने में उपयोगी है।
हालाँकि, श्रेष्ठ प्रक्रियाओं का पालन करना महत्त्वपूर्ण है—जैसे सही रंग पैलेट चुनना, मिसिंग डेटा को सोच-समझकर संभालना, डेटा को ठीक से स्केल करना, एनोटेशंस का संयम से उपयोग करना, और हीटमैप के आयाम समायोजित करना।
डेटा विज़ुअलाइज़ेशन के लिए हीटमैप इतने प्रभावी क्यों हैं?⌄
हीटमैप रंगों का उपयोग करते हैं ताकि जटिल डेटा पैटर्न तुरंत पहचाने जा सकें। वे सहसंबंध, रुझान, और क्लस्टर्स की पहचान करने में विशेष रूप से प्रभावी हैं, जिससे वे अन्वेषणात्मक डेटा विश्लेषण और प्रस्तुतियों के लिए लोकप्रिय विकल्प बनते हैं।
Seaborn में हीटमैप बनाने से पहले मुझे क्या तैयार करना चाहिए?⌄
सुनिश्चित करें कि आपका डेटासेट मैट्रिक्स प्रारूप में हो, जहाँ पंक्तियाँ और स्तंभ वे आयाम दर्शाएँ जिन्हें आप विश्लेषण करना चाहते हैं। हीटमैप की सटीकता और स्पष्टता बढ़ाने के लिए आवश्यक पूर्व-प्रसंस्करण करें, जैसे मिसिंग मानों की सफाई, आउट्लायर्स को संभालना, और डेटा को स्केल या सामान्यीकृत करना।
हीटमैप एक लोकप्रिय डेटा विज़ुअलाइज़ेशन तकनीक है जो रंगों का उपयोग करके डेटा की परिमाण के विभिन्न स्तरों का प्रतिनिधित्व करती है, जिससे आप अपने डेटासेट में पैटर्न और विसंगतियों को जल्दी पहचान सकते हैं।
Seaborn लाइब्रेरी आपको अपने डेटा की अत्यधिक अनुकूलित विज़ुअलाइज़ेशन आसानी से बनाने देती है, जैसे लाइन प्लॉट, हिस्टोग्राम, और हीटमैप। आप हमारे ट्यूटोरियल में यह भी देख सकते हैं कि डेटा प्लॉट के अलग-अलग प्रकार और उन्हें Python में कैसे बनाया जाए।
Seaborn लाइब्रेरी का उपयोग करते हुए प्लॉटिंग और विज़ुअलाइज़ेशन को कस्टमाइज़ करते समय त्वरित संदर्भ के लिए हमारा Seaborn चीट शीट हाथ में रखें।
इस ट्यूटोरियल में, हम जानेंगे कि Seaborn हीटमैप क्या हैं, उनका उपयोग कब करना चाहिए, और अपनी ज़रूरतों के अनुरूप उन्हें कैसे बनाना और कस्टमाइज़ करना है।
हीटमैप को समझना
हीटमैप क्या होते हैं?
हीटमैप डेटा को एक ग्रिड में व्यवस्थित करते हैं, जहाँ अलग-अलग रंग या शेड्स डेटा की परिमाण के विभिन्न स्तरों को दर्शाते हैं।
हीटमैप की दृश्य प्रकृति से क्लस्टर, रुझान, और विसंगतियों जैसे पैटर्न तुरंत पहचाने जा सकते हैं। यह हीटमैप को अन्वेषणात्मक डेटा विश्लेषण के लिए एक प्रभावी उपकरण बनाता है।
यहाँ Seaborn हीटमैप का एक उदाहरण है:
आपको हीटमैप कब इस्तेमाल करना चाहिए?
हीटमैप का उपयोग करना आपकी आवश्यकताओं और आपके डेटासेट की प्रकृति पर निर्भर करता है। सामान्यतः, हीटमैप उन डेटासेट्स के लिए सबसे उपयुक्त होते हैं जहाँ आप मानों को रंगों के रूप में दर्शा सकें—आमतौर पर सतत या अविच्छिन्न संख्यात्मक डेटा। हालाँकि, आप उन्हें उस श्रेणीबद्ध डेटा के लिए भी उपयोग कर सकते हैं जिसे परिमाणित या संक्षेपित किया गया हो (जैसे, गणना, औसत)।
यदि डेटासेट में अत्यधिक आउट्लायर्स हैं या वह बहुत विरल है, तो पूर्व-प्रसंस्करण या सामान्यीकरण के बिना हीटमैप उतने प्रभावी नहीं हो सकते। टेक्स्ट, छवियाँ और अन्य असंरचित डेटा भी हीटमैप के लिए सीधे उपयुक्त नहीं हैं, जब तक कि आप पहले डेटा को एक संरचित, संख्यात्मक स्वरूप में परिवर्तित न करें।
हीटमैप कई वेरिएबल्स के बीच सहसंबंध मैट्रिक्स को विज़ुअलाइज़ करने में उत्कृष्ट हैं, जिससे उच्च या नकारात्मक सहसंबंध वाले वेरिएबल्स को एक नज़र में पहचानना आसान हो जाता है।
हीटमैप दो आयामों—जैसे विभिन्न समय अवधियों या श्रेणियों—में डेटा की दृश्य तुलना करने के लिए भी उपयोगी होते हैं। भौगोलिक डेटा विश्लेषण में, हीटमैप किसी स्थानिक लेआउट में घटनाओं की सघनता या तीव्रता का प्रतिनिधित्व कर सकते हैं, जैसे किसी शहर में जनसंख्या घनत्व या अपराध हॉटस्पॉट।
Seaborn हीटमैप के साथ शुरुआत
अपना परिवेश सेट करना
इस ट्यूटोरियल के लिए, हम DataCamp के AI-सक्षम डेटा नोटबुक DataLab पर उपलब्ध loans संबंधी जानकारी वाले डेटासेट का उपयोग करेंगे। इस ट्यूटोरियल का कोड संबंधित DataLab वर्कबुक में भी उपलब्ध है।
DataLab में सभी प्रमुख लाइब्रेरी पहले से ही सुविधाजनक रूप से इंस्टॉल और इंपोर्ट के लिए तैयार होती हैं। अधिक जानने के लिए, हमारे लेख डेटा साइंस के लिए शीर्ष Python लाइब्रेरी देखें।
हम इस ट्यूटोरियल में इन लाइब्रेरियों का उपयोग करेंगे:
यदि आप Python से परिचित नहीं हैं और इस ट्यूटोरियल के लिए जल्दी सीखना चाहते हैं, तो हमारा Introduction to Python कोर्स देखें।
वैकल्पिक रूप से, यदि आप उन लाइब्रेरियों के बारे में और जानना चाहते हैं जिनका हम इस ट्यूटोरियल में उपयोग करेंगे, तो आप ये कोर्स देख सकते हैं:
अपने डेटा की तैयारी
सुनिश्चित करें कि आपका डेटा मैट्रिक्स प्रारूप में हो, जहाँ पंक्तियाँ और स्तंभ अलग-अलग आयामों (जैसे समय अवधि, वेरिएबल, श्रेणियाँ) का प्रतिनिधित्व करें। मैट्रिक्स की प्रत्येक सेल में वह मान होना चाहिए जिसे आप विज़ुअलाइज़ करना चाहते हैं।
डेटा की सफाई
हीटमैप का उपयोग करने से पहले, आपको दो मुख्य डेटा-सफाई कार्य करने चाहिए: मिसिंग वैल्यूज़ को संभालना और आउट्लायर्स को हटाना।
मिसिंग वैल्यूज़ के साथ काम करते समय, आप उन्हें किसी सांख्यिकीय माप (मीन, मीडियन) से भर सकते हैं, इंटरपोलेट कर सकते हैं, या यदि वे महत्वपूर्ण नहीं हैं तो हटा सकते हैं। जहाँ तक आउट्लायर्स का सवाल है, अपने विश्लेषण के अनुसार, आप उन्हें हटा सकते हैं या उनके मान समायोजित कर सकते हैं।
हमारे लोन डेटासेट में मिसिंग वैल्यूज़ नहीं थीं, लेकिन हमने कई आउट्लायर्स की पहचान की, जिन्हें हमने हटाने का निर्णय लिया। यह हमने कैसे किया, इसका पूरा कोड देखने के लिए DataLab पर नोटबुक देखें।
डेटा सामान्यीकरण या स्केलिंग
यदि आपका डेटासेट मानों की व्यापक रेंज को कवर करता है, तो स्केलिंग या सामान्यीकरण पर विचार करें। इससे हीटमैप के रंग आपेक्षिक अंतरों का अधिक सटीक प्रतिनिधित्व कर पाएंगे। सामान्य विधियों में मिन-मैक्स स्केलिंग और Z-स्कोर सामान्यीकरण शामिल हैं।
ऐसे सतत डेटा के लिए जिसे श्रेणियों में बाँटना हो, अर्थपूर्ण हीटमैप विज़ुअलाइज़ेशन के लिए उसे बिन या श्रेणियों में डिस्क्रीटाइज़ करने पर विचार करें।
सिंटैक्स और पैरामीटर्स
seaborn.heatmap()का उपयोग करने के लिए, आम तौर पर आपको डेटा का एक मैट्रिक्स पास करना होता है। फिर, आप अपनी आवश्यकताओं के अनुसार हीटमैप को कस्टमाइज़ करने के लिए पैरामीटर्स समायोजित कर सकते हैं।data: विज़ुअलाइज़ करने के लिए डेटासेट, जो मैट्रिक्स रूप में होना चाहिए।cmap: हीटमैप के लिए कोलormap निर्दिष्ट करता है। Seaborn विभिन्न रंग पैलेट्स को सपोर्ट करता है, जिनमें क्रमिक (sequential), विचलित (diverging), और गुणात्मक (qualitative) स्कीम शामिल हैं।annot: यदिTrueसेट किया गया है, तो प्रत्येक सेल में मान को हीटमैप पर एनोटेट किया जाएगा।fmt: जब annotTrueहो, तोfmtडेटा के एनोटेशन हेतु स्ट्रिंग फ़ॉर्मैटिंग कोड निर्धारित करता है। उदाहरण के लिए, पूर्णांकों के लिए 'd' और दो दशमलव के साथ फ्लोट के लिए '.2f'।linewidths: उन रेखाओं की चौड़ाई सेट करता है जो प्रत्येक सेल को विभाजित करेंगी। बड़ा मान सेल्स के बीच अलगाव बढ़ाता है।linecolor: यदिlinewidths0 से अधिक है, तो सेल्स को विभाजित करने वाली रेखाओं का रंग निर्दिष्ट करता है।cbar: यह बूलियन मान इंगित करता है कि कलर बार खींचना है या नहीं। कलर बार डेटा मानों को रंगों से मैप करने के लिए संदर्भ प्रदान करता है।vminऔरvmax: ये पैरामीटर्स उस डेटा रेंज को परिभाषित करते हैं जिसे कोलormap कवर करेगा।center: विचलित रंग योजनाओं का उपयोग करते समय कोलormap को केंद्रित करने के लिए मान सेट करता है।square: यदिTrueसेट किया गया है, तो हीटमैप की सेल्स को वर्गाकार बनाता है।xticklabelsऔरyticklabels: x और y अक्षों पर प्रदर्शित लेबल नियंत्रित करते हैं।अपना पहला Seaborn हीटमैप बनाना
हम अपने डेटा में प्रत्येक संख्यात्मक वेरिएबल के बीच सहसंबंध गुणांक दिखाने वाला एक हीटमैप बनाएंगे। अभी के लिए हम हीटमैप को सरल रखेंगे और अगला खंड में इसे और कस्टमाइज़ करेंगे।
अपने Seaborn हीटमैप को कस्टमाइज़ करना
रंगों का कस्टमाइज़ेशन
अपने हीटमैप के रंगों को कस्टमाइज़ करने से उसे पढ़ना आसान हो जाता है और रिपोर्ट व प्रस्तुतियों में अधिक आकर्षक दृश्य मिलते हैं।
Seaborn और Matplotlib कई बिल्ट-इन कोलormap प्रदान करते हैं। अपने डेटा की संरचना और पैटर्न को प्रभावी ढंग से उजागर करने के लिए कोलormap ('
Blues', 'coolwarm', 'viridis' आदि) के साथ प्रयोग करें। निम्न से उच्च तक स्वाभाविक क्रम वाले डेटा के लिए क्रमिक कोलormap का उपयोग करें, अर्थपूर्ण मध्यबिंदु वाले डेटा के लिए विचलित कोलormap, और श्रेणीबद्ध डेटा के लिए गुणात्मक कोलormap।हालाँकि, आप Seaborn के डिफ़ॉल्ट कोलormap और विकल्पों तक सीमित नहीं हैं। आप Matplotlib का उपयोग करके कस्टम कोलormap बना सकते हैं और पारदर्शिता जैसे अतिरिक्त कस्टमाइज़ेशन विकल्प निर्दिष्ट कर सकते हैं।
vminऔरvmaxसेट करने से आप उस डेटा रेंज को नियंत्रित कर सकते हैं जिसे कोलormap कवर करेगा। यह कंट्रास्ट बढ़ा सकता है और रुचि के विशिष्ट रेंज पर फोकस कर सकता है।विचलित कोलormap के लिए,
centerपैरामीटर का उपयोग करके मध्यबिंदु मान निर्दिष्ट करें। यह सुनिश्चित करता है कि रंगों का कंट्रास्ट किसी महत्वपूर्ण मान के आसपास एंकर रहे।हम अपने हीटमैप की रंग पैलेट को समायोजित करेंगे और न्यूनतम, अधिकतम और केंद्र मान निर्दिष्ट करके रंगों को एंकर भी करेंगे।
डेटा एनोटेशन
डेटा एनोटेशन में प्रत्येक सेल के भीतर ऐसे लेबल जोड़ना शामिल है जो संख्यात्मक मान या कोई टेक्स्ट दिखा सकते हैं। एनोटेशन से हीटमैप को बिना लैजेंड से मान समझे, जल्दी पढ़ना और व्याख्या करना आसान हो जाता है।
एनोटेशन सक्षम करने के लिए,
annotपैरामीटर कोTrueपर सेट करें। इससे हीटमैप की प्रत्येक सेल में डेटा मान प्रदर्शित होंगे।fmtपैरामीटर आपको एनोटेशन के टेक्स्ट को फ़ॉर्मैट करने देता है। उदाहरण के लिए, पूर्णांक फ़ॉर्मैटिंग के लिए 'd' और दो दशमलव स्थानों के साथ फ्लोट के लिए '.2f' का उपयोग करें।हालाँकि Seaborn की heatmap फ़ंक्शन
annotपैरामीटर के माध्यम से फ़ॉन्ट आकार जैसी टेक्स्ट प्रॉपर्टीज़ का सीधे कस्टमाइज़ेशन नहीं देती, आप Matplotlib कीrcParamsका उपयोग करके इन्हें वैश्विक रूप से समायोजित कर सकते हैं।annotपैरामीटर आपके डेटा के समान आकार की एक array-जैसी संरचना भी स्वीकार कर सकता है। यह एक अच्छा तरीका है जिससे आप उन एनोटेशंस को जोड़ सकते हैं जिनमें वह अलग जानकारी हो जो सेल के रंगों द्वारा प्रदर्शित की जा रही है। आप इसे इस तरह लागू कर सकते हैं:डेटा मास्किंग
डेटा मास्किंग एक तकनीक है जिसका उपयोग विशिष्ट शर्तों के आधार पर कुछ डेटा बिंदुओं को चुनिंदा रूप से हाइलाइट या छिपाने के लिए किया जाता है। यह डेटासेट के भीतर रुचि के विशिष्ट क्षेत्रों या पैटर्न पर ध्यान केंद्रित करने में मदद कर सकता है।
सबसे पहले, आपको अपने डेटा मैट्रिक्स के समान आकार वाला एक बूलियन मास्क बनाना होगा। जिन डेटा बिंदुओं को आप छिपाना (या दिखाना) चाहते हैं, उनके लिए मास्क
True(याFalse) होना चाहिए। चूँकि सहसंबंध मैट्रिक्स सममित होता है, हम अपने हीटमैप के केवल ऊपरी हिस्से को कवर करने वाला त्रिभुज मास्क बनाने के लिएnumpyकेtriuफ़ंक्शन का उपयोग कर सकते हैं।seaborn.heatmap()फ़ंक्शन केmaskपैरामीटर का उपयोग करके अपना मास्क लागू करें। मास्क मेंTrueसे मेल खाते डेटा बिंदु छिपा दिए जाएँगे।श्रेष्ठ प्रक्रियाएँ और आम गलतियाँ
इन श्रेष्ठ प्रक्रियाओं का पालन करने से आप अपनी रिपोर्ट और प्रस्तुतियों के लिए आकर्षक विज़ुअलाइज़ेशन बनाने हेतु Seaborn हीटमैप्स का प्रभावी उपयोग कर पाएँगे।
Seaborn हीटमैप्स का उपयोग करते समय ये पाँच श्रेष्ठ प्रक्रियाएँ ध्यान में रखें:
1. सही रंग पैलेट चुनें
आप जो रंग पैलेट चुनते हैं, वह सीधे इस पर असर डालता है कि आपका डेटा कैसे समझा जाएगा। अलग-अलग रंग योजनाएँ आपके डेटा में पैटर्न को उजागर या छिपा सकती हैं।
ऐसे डेटा के लिए जो निम्न से उच्च की ओर बढ़ता है, क्रमिक रंग पैलेट्स का उपयोग करें, और अर्थपूर्ण मध्यबिंदु वाले डेटा के लिए विचलित रंग पैलेट्स। Seaborn
cmapपैरामीटर के साथ विभिन्न विकल्प प्रदान करता है, जिससे आप अपने डेटासेट के अनुसार रंग योजना चुन सकते हैं। हमारा ट्यूटोरियल Seaborn Color Palette: Quick Guide to Picking Colors पढ़ें ताकि विभिन्न रंग पैलेट विकल्पों और अलग-अलग प्रकार के ग्राफ़्स में उनके उपयोग के बारे में जान सकें।2. मिसिंग डेटा को सोच-समझकर संभालें
मिसिंग डेटा आपके हीटमैप में रिक्तियाँ ला सकता है, जो दर्शक को भटका सकता है। प्लॉटिंग से पहले, मिसिंग डेटा को संभालने की रणनीति तय करें। उनकी महत्ता के आधार पर, आप मिसिंग मानों का प्रतिपूरण कर सकते हैं या उन्हें पूरी तरह हटा सकते हैं। वैकल्पिक रूप से, मिसिंग डेटा को एक अलग रंग या पैटर्न से दिखाना उसके अस्तित्व को बिना भ्रमित किए हाइलाइट कर सकता है।
3. अपने डेटा को ठीक से स्केल करें
बड़े वैरिएंस या आउट्लायर्स वाला डेटा विज़ुअलाइज़ेशन को विकृत कर सकता है, जिससे यह तय करना मुश्किल हो जाता है कि डेटा में कोई पैटर्न है या नहीं। अपने डेटासेट में अंतरों को सटीक रूप से दर्शाने के लिए डेटा को सामान्यीकृत या स्केल करें। आपके डेटा की प्रकृति के आधार पर मिन-मैक्स स्केलिंग, Z-स्कोर सामान्यीकरण, या लॉग ट्रांसफ़ॉर्मेशन जैसी तकनीकें लाभकारी हो सकती हैं।
4. एनोटेशंस का संयम से उपयोग करें
हालाँकि एनोटेशंस सटीक मान दिखाकर उपयोगी विवरण जोड़ सकते हैं, लेकिन बहुत अधिक एनोटेशन जोड़ने से, विशेषकर बड़े डेटासेट्स में, हीटमैप पढ़ना कठिन हो सकता है।
एनोटेशन को प्रमुख डेटा बिंदुओं तक सीमित रखें या उन्हें छोटे हीटमैप्स में उपयोग करें।
5. हीटमैप के आयाम समायोजित करें
डिफ़ॉल्ट आस्पेक्ट रेशियो और आकार आपके डेटासेट के लिए उपयुक्त नहीं हो सकते, जिससे सेल्स दब सकते हैं या ऐसा भीड़भाड़ वाला प्रदर्शन हो सकता है जो पैटर्न को धुंधला कर दे।
अपने हीटमैप के आकार और आस्पेक्ट रेशियो को कस्टमाइज़ करें ताकि प्रत्येक सेल स्पष्ट रूप से दिखाई दे और समग्र पैटर्न आसानी से समझ में आए।
निष्कर्ष
Seaborn का हीटमैप फ़ंक्शन डेटा पैटर्न के आकर्षक विज़ुअलाइज़ेशन की सुविधा देता है और विशेष रूप से संख्यात्मक वेरिएबल्स के बीच सहसंबंधों को विज़ुअलाइज़ करने में उपयोगी है।
हालाँकि, श्रेष्ठ प्रक्रियाओं का पालन करना महत्त्वपूर्ण है—जैसे सही रंग पैलेट चुनना, मिसिंग डेटा को सोच-समझकर संभालना, डेटा को ठीक से स्केल करना, एनोटेशंस का संयम से उपयोग करना, और हीटमैप के आयाम समायोजित करना।
Seaborn लाइब्रेरी में गहराई से जाना चाहते हैं? हमारा Introduction to Data Visualization with Seaborn कोर्स शुरुआती लोगों के लिए शानदार है, और यदि आप अधिक उन्नत उपयोगकर्ता हैं, तो आप हमारे Intermediate Data Visualization with Seaborn कोर्स से अपनी समझ को और गहरा कर सकते हैं।