ग्रिड बनाएँ
अब आपको हाइपरपैरामीटर्स के सर्वोत्तम मान खोजते समय सर्च करने के लिए मानों का एक ग्रिड बनाना है। सबमॉड्यूल 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()