안녕하세요 ~
오늘은 브라이틱스에서
ALS Recommendation 사용하기전에 필요한 전처리 과정과
ALS Recommendation 함수 사용방법 보여드릴게요
제가 사용할 데이터는 장바구니 데이터고
전처리에서 사용한 함수는 Unpivot, Statistsic Summary 입니다
우선 제가 가지고 있는 데이터는 일반적인 장바구니 구매 데이터로
row 6과 7처럼 같은 유저가 같은 department 에서 물건을 사도
두개의 transaction 으로 기록돼요.
하지만 저는 이 데이터를 ALS Recommendation 함수를 사용할 때 필요한
평점 데이터로 변환하려고 해요.
제가 원하는 평점 데이터는
한명의 유저가 같은 department에 있는 아이템을 세번 구매했다면,
3번의 구매로 따로 기록하는게 아니라 count를 해서
row 9 처럼 한개의 row에 기록하려고 해요.
이렇게 하면 많이 구매한 이력이 있을수록 더 높은 평점을 받게되는
Count 같은 평점 칼럼을 만들 수 있어요.
Step 1) Unpivot 함수로 데이터 형태 변환
Unpivot 은 특정 컬럼을 기준으로 여러 컬럼을 행 형태로 변환할 때 사용해요
설정값은:
values: 행 형태로 변경하고자 하는 컬럼
identifier: 기준이 되는 컬럼
Step 2) Statistic Summary로 groupby 사용하기
평점 칼럼을 만드려면
같은 user_id가 같은 department에서 구매한게 몇개인지 count 해야되기 때문에
Statistic Summary 함수에서
input columns: 내가 관심있는 변수
Target statistics: 내가 보고싶은것
으로 설정해주면 됩니다
저는
target statistic: num of value
groupby: user_id, value
로 했어요
이렇게 statistic summary 를 쓰고난 후에 바로 전 사진이랑 비교해보면
statistic summary 쓰기전: user_id 2가 frozen 을 구매한 이력을 11개의 row
statistic summary 쓴 후: user_id 2가 frozen 을 구매한 이력을 한개의 row (평점 칼럼에 11개로 표시)
ALS Recommendation 함수