mahout 추천 예제

이 문서에서는 Mahout 내부의 비분산, Hadoop 기반 추천 엔진/공동 작업 필터링 코드와 관련이 있습니다. 그것은 이전에 “맛”이라는 별도의 프로젝트였으며 다른 Hadoop 기반 코드와 함께 Mahout 내부에서 개발을 계속했습니다. Hadoop 기반 분산 추천자에 중점을 둔 현재 개발 노력과 비교하여 이 코드의 다소 분리되고 포괄적이며 성숙한 측면으로 간주될 수 있습니다. 이것은 모든 종류의 Mahout 추천 엔진에 최고의 진입점 남아있다. 아파치 마호는 하두프에 대한 기계 학습 알고리즘의 라이브러리입니다. 온라인 측면은 어떻습니까? 위의 기존 사용자에 대 한 좋은 작동 합니다.; 서비스에 등록하는 신규 사용자는 어떻습니까? 확실히 우리는 뿐만 아니라 그들에 대 한 몇 가지 합리적인 권장 사항을 제공 하 고 싶습니다. 추천 인스턴스를 만드는 것은 비용이 많이 들기 때문에 (확실히 “일반” 네트워크 요청보다 더 오래 걸립니다) 매번 새 추천을 만들 수는 없습니다. Mahout의 항목 기반 추천은 다양한 응용 프로그램을 갖춘 유연하고 쉽게 구현되는 알고리즘입니다. 기본 입력 파일의 구조와 보조 필터링 컨트롤의 가용성을 최소화하면 필요한 데이터를 소싱하고 원하는 출력을 효율적이고 간단하게 형성할 수 있습니다. 사용자 기반 추천어에서는 특정 지역의 유사한 사용자가 식별되고 특정 사용자가 아직 조회하기 위해 구입하지 않은 유사한 사용자가 이미 구입했거나 본 항목에 따라 항목 권장 사항이 제공됩니다.

추천 시스템 및 Mahout의 다른 구성 요소를 다루는 아주 좋은 책, 행동에 마호트도 있습니다. 버전 0.5 (현재 는 0.8)를 기반으로하지만 코드 예제는 대부분 작동하고 프로젝트의 기본 논리는 동일합니다. JAVA_HOME이 적절하게 설정되고 Mahout이 올바르게 설치되었다고 가정하면 구문을 구성할 준비가 되었습니다. 다음 명령을 입력: 이제 몇 가지 권장 사항을 얻을 준비가 되었습니다. 이것은 간단합니다 : 전 : 나는 스타워즈 I과 II를 볼 경우. 추천 알고리즘은 아마 나에게 스타워즈 III와 영화의이 장르와 관련된 공상 과학 영화를 제안합니다, 이 영화에서 배우. 다른 항목 간의 유사성을 측정하고 지정된 항목에 대한 특정 사용자에 대한 등급 예측 또는 권장 사항에 도달하기 위해 지정된 항목에 가장 가까운 상위 k 항목을 선택합니다. 여기서도 사용자 3은 2가지 권장 사항을 찾고 있습니다. 휴대폰, 가젯 및 액세서리와 같은 소비재를 판매하는 웹사이트를 고려해 보세요.

이러한 사이트에서 Mahout의 기능을 구현하려면 추천 엔진을 빌드할 수 있습니다. 이 엔진은 사용자의 과거 구매 데이터를 분석하고 이를 기반으로 새로운 제품을 권장합니다. 관련성 디더링은 의도적으로 추천 엔진에 공급되는 교육 데이터를 확장하기 위해 상위 조회수에 관련성이 낮은 몇 가지 항목을 포함합니다. 권장 엔진은 자체 학습 데이터를 선택합니다. 디더링없이, 내일의 교육 데이터는 모델이 이미 오늘날 알고있는 것을 가르칩니다. 디더링을 추가하면 권장 사항을 약간 확장하여 모델을 지원하므로 향후 교육 데이터에 대한 범위가 넓어질 수 있습니다. 모델이 훌륭한 대답에 가까우면 디더링이 그 답을 찾는 데 도움이 될 수 있습니다. 효과적으로 디더링은 내일 교육 데이터(및 향후 성능)를 개선하기 위해 현재 정확도를 떨어춥니다. 요약우리는 기본 추천 엔진을 구축하기 위해 MapR 샌드 박스와 아파치 마호트와 Elasticsearch를 사용하는 방법을이 튜토리얼에서 보여 주었다.

기본 추천을 넘어 디자인에 몇 가지 간단한 추가 기능을 추가하여 다양한 상호 작용 및 권장 사항을 만드는 항목을 활용하는 항목의 교차 추천을 추가하여 더 나은 결과를 얻을 수 있습니다. 이러한 기술에 대한 자세한 내용은 여기에서 확인할 수 있습니다. 이것은 권장 엔진의 중요한 부분입니다. 이러한 구현은 Neighborhood 구현에 첨부됩니다. 항목유사성은 아라고러스이지만 항목 간의 유사성을 찾습니다.