2011-03-29 1 views
4

나는 현재 권고 시스템을 배우고 있으며, 협업 필터링, 사용자 CF, 항목 CF에 대해 알게되었습니다.이 알고리즘을 사용하여 다음과 같은 문제를 해결할 수 있습니다. 1) 사용자는 XXX는 YYY 2) 사용자 조회 XXX도 볼 YYY를 구입 구입했다다음과 같은 제품 권장 문제를 해결하는 방법 : User __bought__ XXX 또한 __viewed__ YYY

내 질문은 : 1) 사용자 XXX는 YYY 2) 사용자 조회 XXX도 구입 YYY를 볼 구매하고 방법과 같은 문제를 해결하기 위해?

업데이트 : Taste framework에서

답변

2

"추천"이라고 말하면 Mahout의 여러 도메인에 대한 권장 사항에 어떻게 접근 할 수 있는지 알려 드릴 수 있습니다. 사용자 항목 구매를 기반으로 구축 된 것이고 사용자 항목보기를 기반으로 구축 된 것이 하나 인 두 개의 DataModel을 구축 할 것입니다. 구매 데이터를 UserSimilarity 또는 ItemSimilarity 구현의 입력으로 사용하지만 뷰 데이터를 DataModel 입력으로 Recommender 구현에 공급합니다. 그런 다음 당신이 제안한 것과 비슷한 것을 컴퓨팅하게 될 것입니다.

+0

감사합니다. 나는 www.amazon.cn에서 이런 종류의 사용법을 보았다. –

0

봐 " YYY을 볼도 XXX를 구입 한 사용자 "단지에 제목을 수정했습니다. 다른 대안을 보려면이 게시물을 확인하십시오. Recommendation Engines for Java applications

+0

네에서 사용할 수 있으며, 내가 조련사 프로젝트에서 찾고 있어요 (mahout.apache.org). 해결 방법을 모르겠습니다. 사용자 ** 구입 ** XXX 또한 ** 확인 ** YYY. –

0

제품과 판매 된 제품이 두 가지 있다고 가정 해보십시오. 제품을 판매 할 때마다 sold_products 테이블에 추가됩니다. 두 테이블이 product_id와 관련이 있고 order_id가 orders를 sales_products로 그룹화하는 데 사용됩니다.

우리는 당신이보고있는 제품을 가정 할 것이다 제품을 포함 지난 25 개 주문에서 order_ids의 목록을 가져옵니다 1234

  1. 의 PRODUCT_ID 있습니다.

하면 PRODUCT_ID = 1,234 LIMIT 25

  1. 거기에서 우리는 모서리

예로 구분 된 문자열에 모든 ID를 넣어 sold_products FROM DISTINCT sold_products.order_id를 선택 PO1234, PO435, PO3456 ....

  1. 그 주문에서 제품 ID를 선택하고, 나는

가 DISTINCT 제품을 선택 빈도를 기준으로 순위를 좋아합니다. * sold_products가 LEFT products.product_id =에 제품을 가입 FROM sold_products.product_id 판매 된 제품 _ 주문 _ID IN (PO1234, PO435, PO3456 ....) AND NOT 판매 된 제품 _ 제품 _ID = 1234 GROUP BY sold_products.product_id 주문 금액 (1) DESC

+0

당신이 추천의 기본 이론을 설명하는 것, 나는 이미 mahout (mahout.apache.org)에서 구현 된 알고리즘을 사용할 것이라고 생각합니다. 알고리즘을 사용하여 해결하는 방법을 모르겠습니다. ** 구매 한 사용자 ** xxx ** 본 ** yyy. –

0

OReilly의 '프로그래밍 집단 지성'책의 2 장 을 참조해야합니다. 일치하는 제품 즉, '이 상품을 구매하신 분은 다음 상품도 구매하셨습니다.'섹션, 당신은

  • 그런 다음 다음과 유사한 사용자
  • 을 찾아 그들이 구입하거나 좋아하는 기타 항목을 참조 다양한 사용자의

    • 첫번째 수집 환경 설정이 필요합니다.

    위의 단계에 관련된 알고리즘이 있습니다. 더 자세한 내용은 해당 알고리즘의 파이썬 코드와 함께이 책에 나와 있습니다.

  • 0

    일반적으로 두 개의 데이터 세트가 필요합니다. 나는 거래 id & 제품을 처음으로 & visitorID & products 두 번째 제품을 함께 판매 (또는 조회)하는 데 대한 자신감을 얻으려고 두 번째로보고했습니다. R (통계 소프트웨어) &을 사용하여 "arules"라는 패키지를 설치하면 이러한 권장 사항을 쉽게 생성 할 수 있습니다. 여기

    는 R에

    setwd을 체크 아웃 할 수 있습니다 샘플 코드 ("C :/문서 및 설정/RP/데스크탑/출력"); install.packages ("arules"); 라이브러리 ("arules"); txn = read.transactions (file = "Transactions_sample.csv", rm.duplicates = FALSE, format = "single", sep = ",", cols = c (1,2)); basket_rules < - apriori (txn, parameter = list (sup = 0.5, conf = 0.9, target = "rules"))); inspect (basket_rules);

    실제로 작동하는 방법을 알고 싶다면 http://www.tatvic.com/resources 백서 (제품 구매 패턴 분석)에서 웹 데이터를 사용하여 간단하게 수행 할 수있는 방법을 확인할 수 있습니다. 당신이 그것을 위해 기성품 API를 사용하려는 경우

    는 또한, 그것은 http://www.liftsuggest.com/how-lift-product-recommendation-works

    +0

    감사합니다. 친절히 살펴보실 수 있습니까? http://stackoverflow.com/questions/5470768/how-much-data-is-needed-for-user-cf-item-cf-to-give-recommendation ? –