शुरू करेंमुफ़्त में शुरू करें

सतत वैरिएबल्स को श्रेणीय में बदलना (2)

पिछले ट्रांसफॉर्मेशन का एक खास रूप यह है कि किसी सतत वैरिएबल को ऐसे बकेट्स में काटा जाए जिनकी सीमाएँ उसी वैरिएबल के क्वांटाइल्स से तय हों. इस ट्रांसफॉर्मेशन का आम उपयोग सर्वे प्रतिक्रियाओं या रिव्यू स्कोर का विश्लेषण करने में होता है. यदि आप लोगों से 1 से 5 स्टार में रेटिंग माँगते हैं, तो अक्सर माध्यिका प्रतिक्रिया 3 स्टार नहीं होती. ऐसे में, उनके स्कोर को क्वांटाइल के आधार पर बाँटना उपयोगी हो सकता है. उदाहरण के लिए, आप 0th, 20th, 40th, 60th, 80th, और 100th परसेंटाइल पर काटकर पाँच क्विंटाइल समूह बना सकते हैं.

Base R में इसका तरीका cut() + quantile() है. sparklyr में इसका समकक्ष ft_quantile_discretizer() ट्रांसफॉर्मेशन है. यह num_buckets आर्ग्युमेंट लेता है, जो बकेट्स की संख्या तय करता है. Base R और sparklyr दोनों के तरीके साथ दिखाए गए हैं. पहले की तरह, right = FALSE और include.lowest सेट किए गए हैं.

survey_response_group <- cut(
  survey_score,
  breaks = quantile(survey_score, c(0, 0.25, 0.5, 0.75, 1)),
  labels = c("hate it", "dislike it", "like it", "love it"),
  right  = FALSE,
  include.lowest = TRUE
)
survey_data %>%
  ft_quantile_discretizer("survey_score", "survey_response_group", num_buckets = 4)

ft_bucketizer() की तरह ही, बनने वाले बिन्स संख्याएँ होती हैं, जो शून्य से गिनना शुरू करती हैं. यदि आप इनके साथ R में काम करना चाहें, तो इन्हें स्पष्ट रूप से factor में बदलें.

यह अभ्यास पाठ्यक्रम का हिस्सा है

R में sparklyr के साथ Spark परिचय

पाठ्यक्रम देखें

अभ्यास निर्देश

आपके लिए spark_conn नाम से Spark कनेक्शन बना दिया गया है. Spark में संग्रहीत ट्रैक मेटाडेटा से जुड़ी एक tibble पहले से track_metadata_tbl के रूप में परिभाषित है. duration_labels समय-लंबाई का वर्णन करने वाला एक कैरेक्टर वेक्टर है.

  • track_metadata_tbl से familiarity_by_duration नाम का एक वैरिएबल बनाएँ.
    • duration और artist_familiarity फ़ील्ड्स चुनें.
    • ft_quantile_discretizer() का उपयोग करके duration के 5 क्वांटाइल बिन्स से बना नया फ़ील्ड duration_bin बनाएँ.
    • परिणाम को collect करें.
    • duration_bin फ़ील्ड को duration_labels लेबल्स के साथ फ़ैक्टर में बदलें.
  • duration_bin के अनुसार artist_familiarity का ggplot() बॉक्स प्लॉट बनाइए.
    • ggplot() का पहला आर्ग्युमेंट डेटा होता है: familiarity_by_duration.
    • ggplot() का दूसरा आर्ग्युमेंट एस्थेटिक है, जिसमें aes() के अंदर duration_bin और artist_familiarity पास करें.
    • बार्स ड्रॉ करने के लिए geom_boxplot() जोड़ें.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

# track_metadata_tbl, duration_labels have been pre-defined
track_metadata_tbl
duration_labels

familiarity_by_duration <- track_metadata_tbl %>%
  # Select duration and artist_familiarity
  ___ %>%
  # Bucketize duration
  ___ %>%
  # Collect the result
  ___ %>%
  # Convert duration bin to factor
  ___

# Draw a boxplot of artist_familiarity by duration_bin
ggplot(___, aes(___, ___)) +
  ___()  
कोड संपादित करें और चलाएँ