테스트/훈련 데이터 분할 후 ALS 모델 만들기
이전 장에서 이미 ALS 모델을 만들어 보셨죠. 이번에도 다시 만들어 보되, 교차 검증을 완전히 구성하기 위해 몇 가지 단계를 더 진행하겠습니다.
먼저, 필요한 함수를 임포트하고 교차 검증을 준비하기 위해 훈련용과 테스트용 데이터 세트를 만들어요.
이 연습은 강의의 일부입니다
PySpark로 추천 엔진 만들기
연습 안내
ml.evaluation에서RegressionEvaluator,ml.recommendation에서ALS,ml.tuning에서ParamGridBuilder와CrossValidator를 임포트하세요.randomSplit메서드를 사용해ratings데이터에 대해 0.80/0.20 비율로 train/test 분할을 만드세요. 데이터 세트 이름은 각각train,test로 하고, 랜덤 시드는1234로 설정하세요.- ALS 모델을 구성하면서,
ratings데이터프레임에서userCol,itemCol,ratingCol에 해당하는 컬럼 이름을 Spark에 알려주세요.nonnegative인자는True,coldStartStrategy는"drop", 그리고implicitPrefs가 아님을 알리기 위해implicitPrefs인자는False로 설정하세요. 이 모델의 이름은als로 하세요. als에 대해type()함수를 호출해 모델이 생성되었는지 확인하세요. 출력에는 모델의 타입이 표시되어야 해요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Import the required functions
from pyspark.ml.evaluation import ____
from pyspark.ml.recommendation import ____
from pyspark.ml.tuning import ____, ____
# Create test and train set
(train, test) = ratings.___([0.____, 0.____], seed = ____)
# Create ALS model
als = ALS(userCol="____", itemCol="____", ratingCol="____", nonnegative = ____, implicitPrefs = ____)
# Confirm that a model called "als" was created
type(____)