0 채워 넣기
많은 추천 엔진은 암시적 평점을 사용해요. 이런 경우, 사용자가 한 번도 구매하지 않은 항목에 대해서는 행동 횟수 데이터가 포함되지 않는 일이 많습니다. 이러한 상황에서는 해당 항목을 추가하고 0을 포함해 주어야 합니다. 데이터프레임 Z가 제공되어 있어요. 여기에는 특정 사용자가 특정 상품을 구매한 횟수인 num_purchases와 함께 userId, productId가 들어 있습니다.
이 연습은 강의의 일부입니다
PySpark로 추천 엔진 만들기
연습 안내
.show()메서드를 사용해 데이터프레임Z를 확인하세요..distinct()메서드를 사용해Z에서 서로 다른userId와productId를 추출하세요. 결과는 각각users,products로 저장하세요.users와products데이터프레임에 대해.crossJoin()을 수행하세요. 결과를cj라고 하세요.- 원본 평점 데이터프레임
Z에 대해["userId", "productId"]컬럼으로cj를"left"조인하세요. 결과에.fillna(0)를 호출하여 비어 있는 값을 0으로 채우세요. 최종 결과를Z_expanded라고 하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# View the data
Z.____()
# Extract distinct userIds and productIds
users = ____.select("____").____()
products = Z.____("productId").____()
# Cross join users and products
____ = users.____(products)
# Join cj and Z
____ = cj.join(Z, ["____", "____"], "left").____(0)
# View Z_expanded
____.show()