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

ग्रिड बनाएँ

अब आपको हाइपरपैरामीटर्स के सर्वोत्तम मान खोजते समय सर्च करने के लिए मानों का एक ग्रिड बनाना है। सबमॉड्यूल pyspark.ml.tuning में ParamGridBuilder नाम की एक क्लास है जो यही काम करती है (शायद आप पैटर्न पहचान रहे होंगे; PySpark में लगभग हर चीज़ के लिए एक सबमॉड्यूल है!).

आपको क्रॉस-वैलिडेशन के लिए उपयोग होने वाला ग्रिड बनाने के लिए .addGrid() और .build() मेथड्स का इस्तेमाल करना होगा। .addGrid() मेथड एक मॉडल पैरामीटर लेता है (आपके बनाए मॉडल Estimator के एट्रीब्यूट, lr, जिसे आपने कुछ अभ्यास पहले बनाया था) और उन मानों की सूची लेता है जिन्हें आप आज़माना चाहते हैं। .build() मेथड कोई आर्ग्युमेंट नहीं लेता, यह बस वह ग्रिड लौटाता है जिसे आप आगे उपयोग करेंगे।

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

PySpark की नींव

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

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

  • सबमॉड्यूल pyspark.ml.tuning को उपनाम tune के साथ इम्पोर्ट करें।
  • क्लास कंस्ट्रक्टर ParamGridBuilder() को बिना किसी आर्ग्युमेंट के कॉल करें। इसे grid के रूप में सेव करें।
  • grid पर .addGrid() मेथड कॉल करें, जिसमें पहला आर्ग्युमेंट lr.regParam और दूसरा आर्ग्युमेंट np.arange(0, .1, .01) हो। दूसरी कॉल numpy मॉड्यूल (जिसे as np इम्पोर्ट किया गया है) का एक फंक्शन है जो 0 से .1 तक की संख्या सूची बनाता है, .01 के स्टेप के साथ। परिणाम से grid को ओवरराइट करें।
  • grid को फिर अपडेट करें: .addGrid() मेथड दूसरी बार कॉल करके lr.elasticNetParam के लिए ऐसा ग्रिड बनाएँ जिसमें केवल [0, 1] मान शामिल हों।
  • grid पर .build() मेथड कॉल करें और आउटपुट से उसे ओवरराइट करें।

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

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

# Import the tuning submodule
import ____ as ____

# Create the parameter grid
grid = tune.____

# Add the hyperparameter
grid = grid.addGrid(____, np.arange(0, .1, .01))
grid = grid.addGrid(____, ____)

# Build the grid
grid = grid.build()
कोड संपादित करें और चलाएँ