본문 바로가기
728x90
반응형

분류 전체보기190

항목 기반 필터링/추천 생성 모든 사용자들이 평가한 랭킹 정보 데이터가 있어야 추천 엔진을 구현할 수 있었다. 이는 수천 명의 사람이나 항목이 있을 땐 잘 동작할 것이다. 하지만 아마존과 같은 매우 큰 사이트의 경우에는 수백만의 고객과 제품이 있어서 연산량도 많아지고 느려지게 될 것이다. 그리고 사람 간의 중첩도 거의 없어서 어떤 사람들이 유사한지 결정하기가 까다로워 진다. 지금까지 알아본 것은 '사용자 기반 협력 필터링(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.
카카오톡 대화 내용 빈도 분석2 지난번에 카톡 대화 내용에서 명사랑 술어만 뽑아서 빈도분석해서 나열했는데, 이번에는 그러한 단어들을 임베딩해서 단어간의 유사도를 측정해보도록 한다. 사용할 기법은 워드투벡이고 2차원 그래프로 도식화하는 것 까지만 할 예정이다. word2vec같은 경우는 파라메타 값을 달리주면 결과도 살짝씩 다르게 나오기 때문에 원하는(?) 보기좋은 결과를 얻기 위해 몇번 반복할 것을 추천한다. 함수가 아닌 코드로 해도 오래 안걸려서 그냥 생코드로 올렸다. 먼저 지난번과 같은 데이터를 쓸거기 때문에 지난번 함수에서 전처리하고 2자리 이상되는 단어를 추출한 그 시점부터 시작했다. 아래의 코드를 실행하면 데이터를 얻을 수 있다. def conversation(path, file): # 모듈 import os import re.. 2019. 12. 26.
항목추천/제품매칭 1. 항목 추천 *평론가보단 역시 영화 추천입니다. 나와 가장 유사한 취향을 가진 사람을 찾아서 그사람이 좋아하지만 내가 안 본 영화를 찾을 수 있다. 하지만 이건 너무 관대한 판단이다. 이런 방식으로는 내가 좋아할 만한 영화 중에서 몇몇을 리뷰하지 않은 평론가들이 우연히 나타날지도 모른다. 또한 topMatches로 리턴된 모든 평론가들에게 악평을 받은 영화를 유독 좋아하는 평론가를 알려줄 수도 있다. 이런 논쟁을 해결하기위해 평론가 순위를 결정하는 가중점수를 만들고 항목점수를 계산해야한다. 모든 다른 평론가들의 평가를 계산한 후 나와의 유사도를 그들이 각 영화에 준 점수와 곱한다. 결과적으로 내가 평가하지 않은 영화들에 대한 추천을 받을 수 있다. def getRecommendations(prefs,.. 2019. 12. 26.
카카오톡 대화 내용 빈도 추출 연말이 다가오고 이제 지인 혹은 연인과의 대화 내용을 한번 곱씹어도 좋을 것 같아서 매해마다 재미로 해본다. 예전에는 몇년이고 모든 대화를 다 내보낼 수 있어서 좋았는데, 지금은 최근 3개월만 내보내지는 듯해서 아쉽다. 하지만 최근 3개월이라 기억이 더욱 잘나서 그런가 공감도 더 잘되고 더 재밌는듯 하기도 하다. 아무튼 간단한 코드로 pc카톡을 통해서 내보낸 대화내용을 가지고 2글자 이상!인 단어들로 하여금 빈도를 쭉 뽑아보았다. 위처럼 pc카톡에서 쉽게 대화를 내보낼 수 있다. 내보내진 대화 파일은 text파일로 저장이 되서 쉽게 열어볼 수 있다. 이제 파이썬을 열고! 현재 디렉토리! 내보낸 대화 파일명! 이 두가지만 가지고 한번 결과를 내보자 ! 코드에 함수를 사용하기 위해서 아래의 매개변수에 대한 .. 2019. 12. 26.
주피터 노트북에서 py파일 불러오기2 매직 커맨드를 활용한 파이썬 파일 불러오기에 이어 더 기초적인 import로 불러오는 방법에 대해서도 간략히 메모한다. %%writefile 파일이름.py 를 활용해서 저장하거나 혹은 주피터 노트북의 메뉴바에서 py파일로 전환하여 저장을 했다고 치자. 아래의 코드를 통해서 py파일 안에 있는 변수를 불러와 보겠다. %%writefile xx.py a=3 from xx import a 나는 계속 import xx 라고 해서 'a는 정의되지 않았다'는 메세지를 받곤 했다.. 바로 위에 보이는 코드대로 해야 'xx.py' 모듈안에 있는 변수 'a' 를 import 하는 것이다. 더이상 헤매는 반복은 하지 않는다 ! 2019. 12. 26.
728x90
반응형