시작하기무료로 시작하기

0 채워 넣기

많은 추천 엔진은 암시적 평점을 사용해요. 이런 경우, 사용자가 한 번도 구매하지 않은 항목에 대해서는 행동 횟수 데이터가 포함되지 않는 일이 많습니다. 이러한 상황에서는 해당 항목을 추가하고 0을 포함해 주어야 합니다. 데이터프레임 Z가 제공되어 있어요. 여기에는 특정 사용자가 특정 상품을 구매한 횟수인 num_purchases와 함께 userId, productId가 들어 있습니다.

이 연습은 강의의 일부입니다

PySpark로 추천 엔진 만들기

강의 보기

연습 안내

  • .show() 메서드를 사용해 데이터프레임 Z를 확인하세요.
  • .distinct() 메서드를 사용해 Z에서 서로 다른 userIdproductId를 추출하세요. 결과는 각각 users, products로 저장하세요.
  • usersproducts 데이터프레임에 대해 .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()
코드 편집 및 실행