암시적 모델 빌드하기
이제 모든 하이퍼파라미터 값을 지정했으니, 각 조합을 테스트할 수 있을 만큼 충분한 모델을 Spark에게 만들게 해 보겠습니다. 이를 돕기 위해 for 루프가 제공되어 있어요. 아래 지침을 따라 이 ALS 모델들을 자동으로 생성하세요. 다음 연습 문제에서 이 모델들을 테스트 데이터셋에 적용해 어떤 모델이 가장 성능이 좋은지 확인합니다.
ALS 알고리즘은 이미 임포트되어 있습니다. 이전 연습 문제에서 만든 리스트들(ranks, maxIters, regParams, alphas)도 준비되어 있어요.
이 연습은 강의의 일부입니다
PySpark로 추천 엔진 만들기
연습 안내
model_list라는 빈 리스트가 제공됩니다.for루프는 전달받은 하이퍼파라미터의 각 조합마다 모델을 생성해model_list에 넣습니다.for루프를 완성해 각 리스트의 내용을 참조하세요. 여기서r은ranks리스트의 요소,mi는maxIters리스트의 요소,rp는regParams리스트의 요소,a는alphas리스트의 요소를 의미합니다.- 각 모델이 생성되었는지 확인하기 위해
len(model_list)와model_list를 출력하세요. 길이는 위의 각 하이퍼파라미터 리스트 길이들의 곱과 같아야 합니다. 제공된 추가 검증을 실행해 확인해도 좋아요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# 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))