본문 바로가기
728x90
반응형

Programming_Collective Intelligence18

무비렌즈(MovieLens) 데이터 셋을 활용한 추천 시스템 영화 평가에 대한 실제 데이터셋인 무비렌즈를 살펴본다. 무비렌즈는 미네소타 대학의 그룹렌즈(FroupLens)프로젝트에 의해 개발되었다. https://grouplens.org/datasets/ 사이트에서 데이터를 다운받을 수 있다. tar.gz나 zip포맷 중에 하나를 골라서 100,000개의 데이터셋을 다운 받는다. 이 영화 평점데이터는 보니까 imdb 사이트에 있는 자료를 바탕으로 수집이 된 것으로 보여진다. 나는 위 그림처럼 10만개의 데이터셋을 다운 받았다. zip을 받았다. 압축을 풀면 u.item과 u.data가 있는데 모두 data파일로 되어 있어서 나는 편하게 하기 위해서 txt파일로 옮겨서 불러와 사용하였다. 파일을 각각 아이템에 관한 내용과 평점에 관한 데이터이다. 다음의 코드를 통해.. 2019. 12. 29.
항목 기반 필터링/추천 생성 모든 사용자들이 평가한 랭킹 정보 데이터가 있어야 추천 엔진을 구현할 수 있었다. 이는 수천 명의 사람이나 항목이 있을 땐 잘 동작할 것이다. 하지만 아마존과 같은 매우 큰 사이트의 경우에는 수백만의 고객과 제품이 있어서 연산량도 많아지고 느려지게 될 것이다. 그리고 사람 간의 중첩도 거의 없어서 어떤 사람들이 유사한지 결정하기가 까다로워 진다. 지금까지 알아본 것은 '사용자 기반 협력 필터링(user-based collaborative filtering)이다. 이밖에 항목 기반 협력 필터링(item-based collaborative filtering)이라는 방법도 있다. 매우 큰 데이터 셋을 다룰 때 항목 기반 협력 필터링 방법이 더 좋은 결과를 낼 것이다. 이 기법은 추천이 필요한 사용자에게 더욱 .. 2019. 12. 29.
제품 매칭 지금까지는 유사한 사람을 찾는 방법과 한 사람에게 제품들을 추천하는 방법을 보았다. 이제부터는 한 제분과 다른 제품이 얼마나 비슷한지 살펴본다. 이런 기능은 쇼핑몰에 자주 방문하지 않는 사람들에게 제공한다. 예컨데 아마존 웹페이지가 있다. 특정 물건을 좋아한 사람들이 좋아한 다른 것들을 살펴보아 유사도를 구한다. 이것은 앞에서 두 사람 간의 유사도를 측정한 방식과 동일한 방법이다. 단지, 사람을 물건으로 대치하면 된다. 딕셔너리 형태를 변경하면 전에 사용했던 방법과 동일하게 적용할 수 있다. {'Lisa Rose':{"Lady in the Water":2.5, "Snakes on a Plane":3.5}, 'Gene Seymour':{'Lady in the Water':3.0,'Snakes on a Pl.. 2019. 12. 28.
항목추천/제품매칭 1. 항목 추천 *평론가보단 역시 영화 추천입니다. 나와 가장 유사한 취향을 가진 사람을 찾아서 그사람이 좋아하지만 내가 안 본 영화를 찾을 수 있다. 하지만 이건 너무 관대한 판단이다. 이런 방식으로는 내가 좋아할 만한 영화 중에서 몇몇을 리뷰하지 않은 평론가들이 우연히 나타날지도 모른다. 또한 topMatches로 리턴된 모든 평론가들에게 악평을 받은 영화를 유독 좋아하는 평론가를 알려줄 수도 있다. 이런 논쟁을 해결하기위해 평론가 순위를 결정하는 가중점수를 만들고 항목점수를 계산해야한다. 모든 다른 평론가들의 평가를 계산한 후 나와의 유사도를 그들이 각 영화에 준 점수와 곱한다. 결과적으로 내가 평가하지 않은 영화들에 대한 추천을 받을 수 있다. def getRecommendations(prefs,.. 2019. 12. 26.
유사 사용자 찾기 1. 협업필터링 '추천시스템' 카테고리에 개념에 관한 설명이 있습니다. 2. 선호 정보 수집 예시로 쓸 데이터를 만듭니다. - 영화 비평과 영화 평가 정보를 담은 딕셔너리 - 각각의 사람들이 영화에 대한 평점을 매긴 데이터입니다. critics={"Lisa Rose":{'Lady in the Water':2.5, 'Snakes on a Plane':3.5, 'Just My Luck':3.0, 'Superman Returns':3.5, 'You, Me and Dupree':2.5,'The Night Listener':3.0}, "Gene Seymour":{'Lady in the Water':3.0, 'Snakes on a Plane':3.5, 'Just My Luck':1.5, 'Superman Retur.. 2019. 11. 29.
집단지성소개 "집단 지성 프로그래밍"이라는 책을 토대로 데이터를 활용한 다양한 기술과 알고리즘에 대한 학습을 합니다. 책의 순서대로 차근차근 간략하게 요약해 나가면서 얕고 넓게 지식을 익히는 것이 목표입니다. 끝까지 화이팅! 1. 집단지성이란 * 한 무리의 사람들의 행동, 선택, 아이디어들을 결합해서 통찰력을 생성하는데 사용한다고 합니다. 즉 단체의 성격, 특징 정도로 생각하면 될 것 같습니다. 예를 들어 표본조사, 인구조사가 있습니다. 이런 통계적 방법 등을 이용하여 새로운 결론을 유추하는 것을 집단지성이라고도 말합니다. 위키피디아, 구글 검색엔진 등도 있습니다. 2.기계학습이란 * 컴퓨터가 스스로 학습하게 하는 알고리즘에 관련된 인공지능의 한 영역이라고 합니다. 대부분의 경우 주어진 데이터의 집합을 이용해서 데이.. 2019. 11. 29.
728x90
반응형