0

나는 추천 시스템에 대한 몇 가지 조사 작업을하고 있으며 사용자 기반, 항목 기반 및 SVD 알고리즘과 관련된 협업 필터링 기술에 대해 읽었습니다. 나는 또한 R의 추천 패키지를 시험 중이다. 문헌에 명백한 하나의 가정은 사용자 데이터가 등급 척도 (rating scale)에 기초하여 항목들을 라벨링했다는 것이다. 1 ~ 5 개의 별. 사용자 데이터에 평점이 아니라 트랜잭션 만있는 문제를보고 있습니다. 예를 들어 레스토랑을 사용자에게 추천하고 싶다면 그가 가지고있는 유일한 데이터는 그가 다른 레스토랑을 자주 방문한 빈도입니다.추천 시스템 - 트랜잭션 수를 별표로 변환

어떻게 이러한 "트랜잭션"개수를 고정 배율 등급을 예상하는 권장 알고리즘에서 사용할 수있는 등급으로 변환 할 수 있습니까? 내가 생각한 한 가지 접근법은 단순한 비닝이다 :

0 stars = 0-1 visits 
1 star = 2-3 visits 
... 
5 stars = 10+ visits 

그러나 그것은 잘 작동하는 것처럼 보이지 않는다. 예를 들어 누군가 레스토랑을 한 번만 방문했다해도 그는 여전히 그 레스토랑을 정말 좋아할 것입니다.

도움을 주시면 감사하겠습니다.

+1

[** about SO **] (http://stackoverflow.com/tour)를 읽으십시오 : "시도한 것에 대한 세부 정보를 포함하십시오. 당신이하지 않은 것 ... [q] "(당신의 일을 보여주세요!)"라는 답을 찾으려고 노력했습니다. – Henrik

+0

3 년 미만입니다. – Henrik

답변

1

다른 접근 방식을 시도합니다. 당신이 말했듯이, 한 번 방문한 사용자는 여전히 레스토랑을 좋아하지만 확실하지는 않습니다. 목표는 모든 사용자가 아닌 단일 사용자를 위해 최적화하는 것이 아닙니다. 이를 위해 데이터를 교육 및 테스트 데이터로 분리 할 수 ​​있습니다. 훈련 데이터를 다른 척도로 훈련시키고 테스트 데이터를 테스트하십시오. (방문 : 결코 방문하지, 1 0)

서로 다른 저울

  • 바이너리 규모가 될 수있다. 이것은 주로 온라인 상점에서 사용됩니다 (구입 여부). 한 번 방문으로 귀하의 assuption을 지원할 것입니다.

  • 5 개의 별에 대해 제시된 눈금 또는 다른 범위. 5 개 이상의 별을 사용할 수도 있습니다. 0-1 방문을 그룹화하지 않을 가능성이 있습니다.

최상의 정확도를 가진 접근 방식을 선택해야합니다.

0

사용자가 0 회 또는 1 회 방문한 레스토랑은 좋아하는 것에 대해 알려주지 않습니다. 그들이 여러 번 방문한 레스토랑은 많은 것을 말해줍니다. 왜 고객이 가장 자주 방문하는 레스토랑과 비슷한 레스토랑을 찾으십니까? 이런 식으로, 당신은 긍정적 인 정보 (좋아하는 것)를 사용하고 있지만 어쨌든 당신이 그것에 접근 할 수 없기 때문에 부정적인 정보는 없습니다.

만약 당신이 절대적으로 어떤 지속적인 측정을 추측해야한다면, 나는 과거의 행동을 통해 다른 방문에 대한 성향을 관찰하는 것이 현명 할 것이라고 생각합니다. 이것은 해당 레스토랑 방문 횟수와 관련된 가능성있는 용어로 해당 레스토랑 (배경 빈도 또는 레스토랑에 대한 단순한 균일도)을 선택할 확률로 시작합니다. 이런 방식으로 사용자가 식당을 더 많이 방문할수록 다시 방문 할 가능성이 높아집니다.

+0

감사합니다. "고객이 가장 자주 정기적으로 방문하는 레스토랑과 비슷한 레스토랑을 찾는 것이 어떨까요?"라고 말하면 항목 기반 협업 필터링을 의미합니다. 그러나 연구 문헌과 내가 사용하고있는 소프트웨어 (R recommenderlab)는 레스토랑이 같은 규모, 즉 제가 묻고있는 1-5 점의 등급과 같아야한다고 말합니다. – stackoverflowuser2010

+0

그래, 문제가 생겼다. 다른 사용자의 '평점'을 사용하여 주어진 사용자가 수행해야하는 것을 권장하려고합니다. 저의 요점은 여전히 ​​있습니다 --- 당신은 주파수에서 별 등급을 만들 수 없습니다. 왜 레스토랑의 세트 (방문 빈도) 대신에 사용자가 자신의 음식점 (별표)에 대한 분배로 표현하지 않습니까? 아마도이 기술을이 설정에 적용 할 수 있습니다. –