Örtük modeller oluştur
Artık tüm hiperparametre değerlerini belirlediğine göre, her kombinasyonu denemek için Spark'ın yeterli sayıda model kurmasını sağlayalım. Bunu kolaylaştırmak için burada bir for döngüsü verildi. Aşağıdaki talimatları izleyerek bu ALS modellerini otomatik olarak oluştur. Sonraki egzersizlerde bu modelleri test veri kümeleri üzerinde çalıştırıp hangisinin en iyi performansı verdiğini göreceksin.
ALS algoritması senin için zaten içe aktarıldı. Önceki egzersizde oluşturduğun listeler (ranks, maxIters, regParams, alphas) hazır durumda.
Bu egzersiz, kursun bir parçasıdır
PySpark ile Öneri Motorları Oluşturma
Egzersiz talimatları
model_listadlı boş bir liste burada sağlandı.fordöngüsü verilen her hiperparametre kombinasyonu için bir model oluşturacak ve bunumodel_listiçine koyacak.fordöngüsünü, her listenin içeriğine referans vererek tamamla; buradarrankslistesinin,mimaxIterslistesinin,rpregParamslistesinin veaalphaslistesinin elemanlarını temsil eder.- Her modelin oluşturulduğunu doğrulamak için
len(model_list)vemodel_listdeğerlerini yazdır. Uzunluk, yukarıdaki her bir hiperparametre listesinin uzunluklarının çarpımına eşit olmalı. Emin olmak için sağlanan ek doğrulamayı da çalıştırabilirsin.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# For loop will automatically create and store ALS models
for r in ____:
for mi in ____:
for rp in ____:
for a in ____:
model_list.append(ALS(userCol= "userId", itemCol= "songId", ratingCol= "num_plays", rank = r, maxIter = mi, regParam = rp, alpha = a, coldStartStrategy="drop", nonnegative = True, implicitPrefs = True))
# Print the model list, and the length of model_list
print (model_list, "Length of model_list: ", len(____))
# Validate
len(model_list) == (len(ranks)*len(maxIters)*len(regParams)*len(alphas))