Training/testing पार्टिशन
अधिकांश समय, जब आप कोई प्रेडिक्टिव मॉडल चलाते हैं, तो आपको अपने डेटा के एक सबसेट ("training" सेट) पर मॉडल फिट करना होता है, फिर अपने बाकी डेटा ("testing" सेट) पर मॉडल की भविष्यवाणियों को परखना होता है.
sdf_random_split() आपके डेटा फ़्रेम को training और testing सेट्स में पार्टिशन करने का तरीका देता है. इसका उपयोग इस प्रकार है.
a_tibble %>%
sdf_random_split(training = 0.7, testing = 0.3)
उपयोग के बारे में दो बातें ध्यान देने योग्य हैं. पहली, यदि पार्टिशन वैल्यूज़ का योग 1 नहीं है, तो उन्हें स्केल करके 1 कर दिया जाता है. इसलिए यदि आप training = 0.35 और testing = 0.15 पास करते हैं, तो आपको माँगी गई मात्रा का दोगुना मिल जाएगा. दूसरी, आप किसी भी सेट नाम का उपयोग कर सकते हैं, और डेटा को दो से अधिक सेट्स में भी पार्टिशन कर सकते हैं. इसलिए निम्नलिखित भी वैध है.
a_tibble %>%
sdf_random_split(a = 0.1, b = 0.2, c = 0.3, d = 0.4)
रिटर्न वैल्यू tibbles की एक सूची होती है. आप प्रत्येक को सामान्य लिस्ट इंडेक्सिंग ऑपरेटर्स से एक्सेस कर सकते हैं.
partitioned$a
partitioned[["b"]]
यह अभ्यास पाठ्यक्रम का हिस्सा है
R में sparklyr के साथ Spark परिचय
अभ्यास निर्देश
spark_conn नाम से आपके लिए एक Spark कनेक्शन बनाया गया है. Spark में स्टोर किए गए track metadata से जुड़ा एक tibble track_metadata_tbl के रूप में पहले से परिभाषित है.
- track metadata को बाँटने के लिए
sdf_random_split()का उपयोग करें.- 70% को
trainingनाम के सेट में रखें. - 30% को
testingनाम के सेट में रखें.
- 70% को
- training tibble के
sdf_dim()ensions प्राप्त करें. - testing tibble के dimensions प्राप्त करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# track_metadata_tbl has been pre-defined
track_metadata_tbl
partitioned <- track_metadata_tbl %>%
# Partition into training and testing sets
___
# Get the dimensions of the training set
___
# Get the dimensions of the testing set
___