ALS पैरामीटर और हाइपरपैरामीटर

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

Jamen Long

Data Scientist at Nike

उदाहरण ALS मॉडल कोड

als_model = ALS(userCol="userId", itemCol="movieId", ratingCol="rating", 
            rank=25, maxIter=100, regParam=.05, alpha=40,
            nonnegative=True,
            coldStartStrategy="drop",
            implicitPrefs=False)
PySpark के साथ Recommendation Engines बनाना

कॉलम के नाम

als_model = ALS(userCol="userId", itemCol="movieId", ratingCol="rating", 
            rank=25, maxIter=100, regParam=.05, alpha=40,
            nonnegative=True,
            coldStartStrategy="drop",
            implicitPrefs=False)

आर्ग्युमेंट्स

  • userCol: कॉलम का नाम जिसमें user id है
  • itemCol: कॉलम का नाम जिसमें item id है
  • ratingCol: कॉलम का नाम जिसमें ratings हैं
PySpark के साथ Recommendation Engines बनाना

दो खाली फैक्टर मैट्रिस के साथ खाली मूल रेटिंग्स मैट्रिक्स

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

पिछली जैसी छवि, जिसमें latent dimensions हाइलाइटेड हैं

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

Rank

als_model = ALS(userCol="userId", itemCol="movieId", ratingCol="rating", 
            rank=25, maxIter=100, regParam=.05, alpha=40,
            nonnegative=True,
            coldStartStrategy="drop",
            implicitPrefs=False)

हाइपरपैरामीटर

  • rank, $k$: latent features की संख्या
PySpark के साथ Recommendation Engines बनाना

MaxIter

als_model = ALS(userCol="userId", itemCol="movieId", ratingCol="rating", 
            rank=25, maxIter=100, regParam=.05, alpha=40,
            nonnegative=True,
            coldStartStrategy="drop",
            implicitPrefs=False)

हाइपरपैरामीटर

  • rank, $k$: latent features की संख्या
  • maxIter: iterations की संख्या
PySpark के साथ Recommendation Engines बनाना

RegParam

als_model = ALS(userCol="userId", itemCol="movieId", ratingCol="rating", 
            rank=25, maxIter=100, regParam=.05, alpha=40,
            nonnegative=True,
            coldStartStrategy="drop",
            implicitPrefs=False)

हाइपरपैरामीटर

  • rank, $k$: latent features की संख्या
  • maxIter: iterations की संख्या
  • regParam: Lambda
PySpark के साथ Recommendation Engines बनाना

Alpha

als_model = ALS(userCol="userId", itemCol="movieId", ratingCol="rating", 
            rank=25, maxIter=100, regParam=.05, alpha=40,
            nonnegative=True,
            coldStartStrategy="drop",
            implicitPrefs=False)

हाइपरपैरामीटर

  • rank, $k$: latent features की संख्या
  • maxIter: iterations की संख्या
  • regParam: Lambda
  • alpha: बाद में चर्चा करेंगे. केवल implicit ratings में उपयोग.
PySpark के साथ Recommendation Engines बनाना

Non-negative

als_model = ALS(userCol="userId", itemCol="movieId", ratingCol="rating", 
            rank=25, maxIter=100, regParam=.05, alpha=40,
            nonnegative=True,
            coldStartStrategy="drop",
            implicitPrefs=False)

अतिरिक्त आर्ग्युमेंट्स

  • nonnegative = True: केवल धनात्मक मान सुनिश्चित करता है
PySpark के साथ Recommendation Engines बनाना

Cold start strategy

als_model = ALS(userCol="userId", itemCol="movieId", ratingCol="rating", 
            rank=25, maxIter=100, regParam=.05, alpha=40,
            nonnegative=True,
            coldStartStrategy="drop",
            implicitPrefs=False)

अतिरिक्त आर्ग्युमेंट्स

  • nonnegative = True: केवल धनात्मक मान सुनिश्चित करता है
  • coldStartStrategy = "drop": test/train split से जुड़ी समस्याएँ संभालता है
PySpark के साथ Recommendation Engines बनाना

Implicit preferences

als_model = ALS(userCol="userId", itemCol="movieId", ratingCol="rating", 
            rank=25, maxIter=100, regParam=.05, alpha=40,
            nonnegative=True,
            coldStartStrategy="drop",
            implicitPrefs=False)

अतिरिक्त आर्ग्युमेंट्स

  • nonnegative = True: केवल धनात्मक मान सुनिश्चित करता है
  • coldStartStrategy = "drop": test/train split से जुड़ी समस्याएँ संभालता है
  • implicitPrefs = True: ratings के प्रकार पर True/False
PySpark के साथ Recommendation Engines बनाना

नमूना ALS मॉडल बिल्ड

als = ALS(userCol="userId", itemCol="movieId", ratingCol="rating", 
            rank=25, maxIter=100, regParam=.05, 
            nonnegative=True,
            coldStartStrategy="drop",
            implicitPrefs=False)
PySpark के साथ Recommendation Engines बनाना

Fit और transform मेथड्स

# प्रशिक्षण डेटासेट पर ALS फिट करें
model = als.fit(training_data)

# टेस्ट डेटासेट पर भविष्यवाणियाँ जनरेट करें
predictions = model.transform(test_data)
PySpark के साथ Recommendation Engines बनाना

अभ्यास करते हैं!

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

Preparing Video For Download...