Membangun model implisit
Sekarang setelah semua nilai hiperparameter Anda ditentukan, mari minta Spark membangun cukup banyak model untuk menguji setiap kombinasi. Untuk memfasilitasi hal ini, sebuah for loop disediakan di sini. Ikuti instruksi di bawah untuk membuat model ALS ini secara otomatis. Pada latihan berikutnya Anda akan menjalankan model-model ini pada himpunan data uji untuk melihat mana yang berkinerja terbaik.
Algoritme ALS sudah diimpor untuk Anda. Daftar yang Anda buat pada latihan sebelumnya (ranks, maxIters, regParams, alphas) telah dibuat untuk Anda.
Latihan ini merupakan bagian dari kursus
Membangun Recommendation Engine dengan PySpark
Instruksi latihan
- Sebuah daftar kosong bernama
model_listdisediakan di sini.forloop akan membuat sebuah model untuk setiap kombinasi hiperparameter yang diberikan dan menempatkannya ke dalammodel_list. - Lengkapi
forloop dengan mereferensikan isi masing-masing daftar, di manarmerepresentasikan elemen dari daftarranks,mimerepresentasikan elemen dari daftarmaxIters,rpmerepresentasikan elemen dari daftarregParams, danamerepresentasikan elemen dari daftaralphas. - Cetak
len(model_list)sertamodel_listuntuk memastikan setiap model telah dibuat. Panjangnya harus sama dengan hasil perkalian semua panjang masing-masing daftar hiperparameter di atas. Anda dapat menjalankan validasi tambahan yang disediakan untuk memastikan.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# 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))