본문 바로가기

프로그래머스 데브 코스/TIL

[6기] 프로그래머스 인공지능 데브코스 118일차 TIL

1227

[17주차 - Day4] Recommendation system

추천 엔진 만들기 과제

# 아마존 뷰티 상품 평점 정보를 이용한 추천 엔진 만들기
import pandas as pd
import numpy as np

amazon_ratings = pd.read_csv("https://grepp-reco-test.s3.ap-northeast-2.amazonaws.com/ratings_Beauty.csv")

amazon_ratings = amazon_ratings.dropna()
amazon_ratings.head()

 

# 인기도 기반 추천 만들기
# 리뷰의 수가 가장 큰 상품 10개를 계산해본다

popular_products = pd.DataFrame(amazon_ratings.groupby('ProductId')['Rating'].count())
most_popular = popular_products.sort_values('Rating', ascending=False)
most_popular.head(10)

 

most_popular.head(10).plot(kind = "bar")

 

""" 과제 """
# 리뷰 수가 어느 정도 이상되는 상품을 대상으로 평균 평점이 4이상인 뷰티 상품을 리턴하게 해보자.

amazon_ratings_summary = amazon_ratings[['ProductId', 'Rating']].groupby(['ProductId']).agg(['count', 'median', 'mean'])
amazon_ratings_summary.columns = ['count', 'median', 'mean']
amazon_ratings_summary.sort_values('count', ascending=False).head(10)

 

amazon_ratings_summary[amazon_ratings_summary['count'] > 100][amazon_ratings_summary['mean'] > 4.0].sort_values('mean', ascending=False).head(10)