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

Spark को बताएँ कि आपका ALS मॉडल कैसे ट्यून करना है

अब हमें एक ParamGrid बनाना है ताकि Spark को बताएँ कि किन हाइपरपैरामीटर्स को ट्यून करना है, उन्हें कैसे ट्यून करना है, और फिर एक evaluator बनाएँ ताकि Spark एल्गोरिदम के परफॉर्मेंस को माप सके।

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

PySpark के साथ Recommendation Engines बनाना

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

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

  • pyspark.ml.evaluation से RegressionEvaluator और pyspark.ml.tuning से ParamGridBuilder तथा CrossValidator इम्पोर्ट करें.
  • दिए गए ParamGridBuilder का उपयोग करके param_grid नाम का ParamGrid बनाएँ। हर हाइपरपैरामीटर पर .addGrid() मेथड कॉल करें, जहाँ मॉडल का नाम और हाइपरपैरामीटर का नाम दें (उदा.: .addGrid(als.rank, [])). यह rank, maxIter और regParam हाइपरपैरामीटर्स के लिए करें। साथ ही, Spark को आज़माने के लिए नीचे दिए गए हाइपरपैरामीटर मानों की सूचियाँ पास करें:
 rank: [10, 50, 100, 150]  
 maxIter: [5, 50, 100, 200]  
 regParam: [.01, .05, .1, .15]  
  • evaluator नाम का एक RegressionEvaluator बनाएँ। metricName को "rmse" पर सेट करें, labelCol को "rating" पर सेट करें, और Spark को बताएँ कि प्रेडिक्शंस बनाते समय predictionCol को "prediction" कहा जाए।
  • len(param_grid) चलाएँ ताकि पुष्टि हो कि param_grid बन गया है और सही संख्या में हाइपरपैरामीटर कॉम्बिनेशंस टेस्ट होंगे। यह ParamGridBuilder में दी गई rank मानों की संख्या * maxIter मानों की संख्या * regParam मानों की संख्या के बराबर होना चाहिए।

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

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

# Import the requisite items
from pyspark.ml.evaluation import ____
from pyspark.ml.____ import ____, ____

# Add hyperparameters and their respective values to param_grid
____ = ParamGridBuilder() \
            .addGrid(als.rank, [____, ____, ____, ____]) \
            .addGrid(als.____, [____, ____, ____, ____]) \
            .addGrid(als.____, [____, ____, ____, ____]) \
            .build()
           
# Define evaluator as RMSE and print length of evaluator
____ = RegressionEvaluator(metricName="____", labelCol="____", predictionCol="____") 
print ("Num models to be tested: ", len(param_grid))
कोड संपादित करें और चलाएँ