인프런 커뮤니티 질문&답변

안세원님의 프로필 이미지
안세원

작성한 질문수

Python을 이용한 개인화 추천시스템 | 추천알고리즘 | 추천인공지능

Matrix Factorization(MF) 방식의 원리

추천시스템의 이진데이터 적용

해결된 질문

작성

·

275

1

안녕하세요. 데이터분석 공부하는 학생입니다.

올려주신 강의 모두 잘 들었습니다.

다만 제가 지금 적용하고자 하는 데이터가 이진데이터인데요.

강의의 코드가 이진데이터에는 맞지 않아 문의드립니다.

이진데이터를 추천시스템에 활용하는 다른 예도 찾아 보았는데요: https://towardsdatascience.com/recommender-systems-item-customer-collaborative-filtering-ff0c8f41ae8a

어차피 여기서도 코사인유사도를 활용하고 있어

거친코딩님의 강의의 예를 활용하고 싶은데 잘 안되네요.

혹시 한 번 봐주실 수 있을까요?

적용 코드: https://drive.google.com/file/d/11qlP4zOAFewSiHxo_T7fp_Ql-WgSpHS3/view?usp=sharing

 

답변 1

1

거친코딩님의 프로필 이미지
거친코딩
지식공유자

안녕하세요.

거친코딩입니다.

 

전달 주신 코드를 확인해보긴 했지만, 실제 데이터를 가지고 있지 않아서 구체적으로 뜯어보지는 못했습니다.

하지만, 일단 에러를 확인해본 결과 키 에러가 난 것 같은데,

아마 인덱스의 키 타입과 컬럼의 키 타입이 맞지 않아서 발생되는 것이 아닐까 추측해봅니다.

 

학습자님께서 보내주신 binary한 상황을 동일하게 저희 강의 데이터에 적용해서 해보았을 때는

정상적으로 구동이 됩니다.

(1~5점의 평점을 모두 1로 치환하여 계산하였습니다.)

 

그리고 추가적으로 첨언을 드리자면,

강의에서는 평점(1~5)의 데이터를 가지고 cosine 유사도를 활용해서 추천 로직에 적용했습니다.

학습자님께서 질문해주신 binary한 데이터는 cosine유사도와는 조금 맞지 않고,

성능향상을 위해서 자카드 유사도를 사용해서 구현해보시는 것을 추천드립니다.

감사합니다.

 

거친코딩 드림.

안세원님의 프로필 이미지
안세원

작성한 질문수

질문하기