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

Bucketing

अगर आप मकान मालिक हैं, तो यह बहुत मायने रखता है कि घर में 1, 2, 3 या 4 बेडरूम हैं। लेकिन बाथरूम की तरह, एक सीमा के बाद आपको सच में परवाह नहीं रहती कि घर में 7 हैं या 8। इस उदाहरण में हम देखेंगे कि अच्छे वैल्यू पॉइंट्स कहाँ हो सकते हैं ताकि हम उन्हें बकेट कर सकें।

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

PySpark के साथ Feature Engineering

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

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

  • Seaborn के distplot() का उपयोग करते हुए pandas डेटाफ़्रेम sample_df का डिस्ट्रीब्यूशन प्लॉट बनाइए.
  • चूँकि ऐसा लगता है कि 5 के बाद कम-आवृत्ति वाले मानों की एक लंबी टेल है, तो 1, 2, 3, 4, 5+ के लिए बकेट splits बनाइए.
  • बकेट सेट करने के लिए इन स्प्लिट्स के साथ Bucketizer() को इंस्टैंशिएट करके ट्रांसफॉर्मर buck बनाइए, फिर इनपुट कॉलम BEDROOMS और आउटपुट कॉलम bedrooms सेट कीजिए.
  • transform() का उपयोग करके df पर Bucketizer ट्रांसफॉर्मेशन लागू कीजिए और परिणाम को df_bucket में असाइन कीजिए। फिर show() से परिणाम जाँचिए.

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

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

from pyspark.ml.feature import Bucketizer

# Plot distribution of sample_df
sns.____(____, axlabel='BEDROOMS')
plt.show()

# Create the bucket splits and bucketizer
splits = [____, ____, ____, ____, ____, ____, float('Inf')]
buck = ____(splits=____, inputCol=____, outputCol=____)

# Apply the transformation to df: df_bucket
df_bucket = ____.____(____)

# Display results
df_bucket[['BEDROOMS', 'bedrooms']].____()
कोड संपादित करें और चलाएँ