कोर्स
डेटा विज़ुअलाइज़ेशन डेटा वैज्ञानिकों के लिए एक अनिवार्य कौशल है। यह आँकड़ों और डिज़ाइन को सार्थक और उपयुक्त तरीकों से जोड़ता है। एक तरफ, डेटा विज़ुअलाइज़ेशन ग्राफ़िकल डेटा विश्लेषण का एक रूप है, जो सटीक निरूपण और डेटा की व्याख्या पर ज़ोर देता है। दूसरी तरफ, डेटा विज़ुअलाइज़ेशन हमारे प्लॉट्स को आकर्षक बनाने और परिणामों को समझने तथा संप्रेषित करने में मदद करने के लिए अच्छे डिज़ाइन विकल्पों पर निर्भर करता है। इसके अलावा, इसमें रचनात्मकता का तत्व भी होता है, क्योंकि मूलतः डेटा विज़ुअलाइज़ेशन दृश्य संचार का एक रूप है।

अन्वेषणात्मक (exploratory) और व्याख्यात्मक (explanatory) विज़ुअलाइज़ेशन के बीच का अंतर समझना महत्वपूर्ण है। अन्वेषणात्मक विज़ुअलाइज़ेशन आसानी से बनाए जा सकते हैं, डेटा-गहन होते हैं, और छोटे विशेषज्ञ दर्शकों, जैसे आप और आपके सहकर्मी, के लिए होते हैं — इनका प्राथमिक उद्देश्य ग्राफ़िकल डेटा विश्लेषण है। व्याख्यात्मक विज़ुअलाइज़ेशन श्रम-साध्य, डेटा-विशिष्ट होते हैं, और व्यापक दर्शकों के लिए होते हैं, जैसे प्रकाशनों या प्रस्तुतियों में — वे संचार प्रक्रिया का हिस्सा होते हैं। एक डेटा वैज्ञानिक के रूप में, आपके लिए डेटा को जल्दी से खंगाल पाना आवश्यक है, लेकिन आपको अपने परिणामों को हितधारकों को समझाने का काम भी सौंपा जाएगा। अच्छा डिज़ाइन दर्शकों के बारे में सोचने से शुरू होता है — और कभी-कभी इसका अर्थ बस स्वयं से ही होता है।

स्कैटर प्लॉट
नीचे हमारे पास एक डेटासेट है जिसमें 62 स्तनधारियों के औसत मस्तिष्क और शरीर के वज़न शामिल हैं।
MASS::mammals
body brain
Arctic fox 3.385 44.50
Owl monkey 0.480 15.50
Mountain beaver 1.350 8.10
Cow 465.000 423.00
Grey wolf 36.330 119.50
Goat 27.660 115.00
Roe deer 14.830 98.20
...
Pig 192.000 180.00
Echidna 3.000 25.00
Brazilian tapir 160.000 169.00
Tenrec 0.900 2.60
Phalanger 1.620 11.40
Tree shrew 0.104 2.50
Red fox 4.235 50.40
यहाँ संबंध को समझने के लिए, सबसे स्पष्ट पहला कदम एक स्कैटर प्लॉट बनाना है, जैसा कि नीचे दिखाया गया है:
ggplot(mammals, aes(x = body, y = brain)) +
geom_point()

दो स्तनधारी, अफ्रीकी और एशियाई हाथी, दोनों के मस्तिष्क और शरीर का वज़न बहुत अधिक है, जिससे दोनों अक्षों पर एक सकारात्मक स्क्यू बनता है।
लिनियर मॉडल
अब, यदि हम एक लिनियर मॉडल लागू करें, तो यह खराब विकल्प होगा क्योंकि कुछ चरम मानों का बड़ा प्रभाव है।
ggplot(mammals, aes(x = body, y = brain)) +
geom_point(alpha = 0.6) +
stat_smooth(
method = "lm",
color = "red",
se = FALSE
)

दोनों चरों पर लॉग रूपांतरण लागू करने से बेहतर फिट मिलता है।
ggplot(mammals, aes(x = body, y = brain)) +
geom_point(alpha = 0.6) +
coord_fixed() +
scale_x_log10() +
scale_y_log10() +
stat_smooth(
method = "lm",
color = "#C42126",
se = FALSE,
size = 1
)

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

लेकिन यही मॉडल एक बिल्कुल अलग प्रकार के डेटा का भी वर्णन कर सकता है, जैसे परवलयिक संबंध, जो किसी अलग मॉडल की मांग करता है।

या ऐसा डेटा जिसमें किसी चरम मान का बड़ा प्रभाव हो। यह तब स्पष्ट हो जाता है जब उस बाह्य मान (outlier) को हटा दिया जाता है।

और कभी-कभी, मॉडल ऐसे संबंध का वर्णन कर सकता है जहाँ वास्तव में कोई संबंध है ही नहीं, क्योंकि कुछ चरम मान गलत हो सकते हैं।

यदि हम केवल संख्यात्मक आउटपुट पर निर्भर रहते और अपने डेटा का प्लॉट न बनाते, तो हम अलग-अलग और दिलचस्प अंतर्निहित रुझानों को चूक जाते।

हम देख सकते हैं कि डेटा विज़ुअलाइज़ेशन की जड़ें आँकड़ों और ग्राफ़िकल डेटा विश्लेषण में हैं, लेकिन यह एक रचनात्मक प्रक्रिया भी है जिसमें कुछ हद तक प्रयास और त्रुटि शामिल होती है।
इंटरैक्टिव उदाहरण
निम्न उदाहरण में, आप पहले library() का उपयोग करके ggplot2 पैकेज लोड करेंगे। फिर, आप str() का उपयोग करके mtcars डेटासेट की संरचना का पता लगाएंगे।
अंत में, आप ggplot को विज़ुअलाइज़ करेंगे और समझने की कोशिश करेंगे कि ggplot डेटा के साथ क्या करता है।
आप जिस mtcars डेटासेट का उपयोग करेंगे, उसमें 1973 के Motor Trend मैगज़ीन के 32 कारों की जानकारी है। यह डेटासेट छोटा, सहज और सतत व श्रेणीबद्ध चर की विविधता वाला है।
# Load the ggplot2 package
library(ggplot2)
# Explore the mtcars data frame with str()
str(mtcars)
# Execute the following command
p <- ggplot(mtcars, aes(cyl, mpg)) +
geom_point()
जब हम ऊपर दिया गया कोड चलाते हैं, तो यह निम्न परिणाम देता है:
data.frame': 32 obs. of 11 variables:
$ mpg : num 21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
$ cyl : num 6 6 4 6 8 6 8 4 4 6 ...
$ disp: num 160 160 108 258 360 ...
$ hp : num 110 110 93 110 175 105 245 62 95 123 ...
$ drat: num 3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
$ wt : num 2.62 2.88 2.32 3.21 3.44 ...
$ qsec: num 16.5 17 18.6 19.4 17 ...
$ vs : num 0 0 1 1 0 1 0 1 1 1 ...
$ am : num 1 1 1 0 0 0 0 0 0 0 ...
$ gear: num 4 4 4 3 3 3 3 4 4 4 ...
$ carb: num 4 4 1 1 2 1 4 2 2 4 ...

ggplot के साथ डेटा विज़ुअलाइज़ेशन के बारे में अधिक जानने के लिए, हमारे कोर्स Introduction to Data Visualization with ggplot2 का यह वीडियो देखें। साथ ही, हमारी ggplot2 चीट शीट को पास रखें ताकि यह एक उपयोगी संदर्भ बना रहे।
यह सामग्री DataCamp के Introduction to Data Visualization with ggplot2 कोर्स से ली गई है, लेखक: Rick Scavetta।