0

나는이 문서의 단계를 수행하여 코끼리 조련사를 통해 스파크 항목 유사성을 사용하고 :스파크 항목 유사성 해석 (간 유사성과 유사)

https://mahout.apache.org/users/algorithms/intro-cooccurrence-spark.html

내 데이터를 정리 할 수 ​​있었다, 설치 로컬 전용 스파크/하프 노드와 그 모든 것.

이제 제 질문은 매트릭스의 해석에 더 의존합니다. 제한된 성공으로 Google 검색어를 사용해 보았습니다.

나는 멀티 모달 추천자를 만들고 있는데, 내 데이터 세트 중 하나는 Mahout 예제와 매우 비슷합니다.

입력 예 : Customer ActionName Product 11064612 view 241505 11086047 purchase 110915 11121878 view CERT_DL 11149030 purchase CERT_FS 11104130 view 111401 mahout의 출력은 2 세트의 행렬입니다. 유사성 행렬과 동 기원 행렬

**791207-WP** 791520-WP:11.350536461453885 791520:9.547158147208393 76130142:7.938639976084232 711215:7.0641921646893024 751309:6.805891904514283 

그래서 어떻게 이것을 해석 할 것이다 (나는 코끼리 조련사가 내 "필터 1"구매를 사용하는 가정) 내 유사성 행렬이다? 누군가 791207-WP을 구입 한 경우 791520-WP에 관심이 있으십니까? (그래서 나는 고객의 구매에 대해 왼쪽 부분을 사용하고 오른쪽 부분에 제품을 배치하겠습니까?).

791520 - WP의 행은 다음과 같습니다

791520-WP 76151220:18.954662238247693 791604-WP:13.951210170984268 

그래서, 이론적으로, 나는 올바른 791520-WP를 구입 한 사람에게 76,151,220을 권하고 싶습니다?

문제의 2 부는 상호 유사성 매트릭스를 해석합니다. 내 filter2가 "views"임을 기억하십시오. 나는이 해석 할 방법

는 :

**790907** 76120956:14.2824428207241 791500-LXQ2:13.864741460885853 190907:10.735807818360627 

I "는 76,120,956 웹 페이지를 방문 사람이 790,907를 구입 결국"등이 행렬을. 따라서 76120956을 구입 한 고객에게 790907을 홍보해야하고, 예를 들어이 사이트의 두 제품 간 링크를 추가해야 할 수도 있습니다.

아니면 "790907의 웹 페이지를 방문한 사람들은 76120956"을 구입 했습니까?

제 계획은 이들을 그대로 사용하지 않습니다. RowSimilarity와 다른 소스를 사용하여 제품 순위를 결정하겠습니다.하지만 mahout의 출력에 대한 기본 해석이 누락되었습니다.

이 사실을 분명히하는 문서를 알고 있다면 그 문서는 훌륭한 자산입니다.

감사합니다.

답변

3

두 경우 모두 항목 -id 키가 각 유사한 항목에 첨부 된 LLR 값에 따라 나열된 항목과 유사하다는 것을 알려줍니다. 비슷한 의미에서 유사한 사용자가 항목을 구입했습니다. 두 번째 경우에는 비슷한 사람들이 항목을 보았고이보기는 동일한 항목을 구매 한 것으로 보입니다.

Cooccurrence는 단독으로 구매할 때 교차 노출로 인해보기가 구매와 상호 연관되어 있는지 확인합니다. 이렇게하면 권장 사항에 둘 모두를 사용할 수 있습니다.

출력은 일반적으로 검색 엔진과 함께 사용하기위한 것이며 사용자의 구매 내역 및 뷰를 각 필드에있는 행렬에 대한 2 개의 필드 쿼리로 사용합니다.

항목 기반 권장 사항을 찾는 유사한 방법이 있습니다.

더 나은 아직 유니버설 Recommender와 같은 무언가를 사용하십시오 : actionml.com/docs/ur end-to-end 시스템을위한 PredictionIO.