프로젝트 정리/소프트웨어 응용

    11/27 변경 내용 정리 - 파일 로드 부분 통합, 스케일링

    내가 만든 시스템의 파일들은 다음과 같이 구성되어 있다. 1. recommendation_menu.py : 프로그램을 처음 시작할 때 실행된다. 콘솔 창에 사용자와 관리자를 위한 메뉴를 띄워준다. 2. project_bias.py : 아이템 - 사용자 평점 행렬을 만들며, 이를 이용하여 Model based Collaborative filtering 기법을 수행한다. SGD, minibatch를 적용한 SGD가 구현되어 있다. 3. User_mode.py : recommendation_menu.py에서 사용자 모드를 선택하면 이 파일의 클래스 User_mode가 실행된다. 여기서는 사용자의 ID를 입력하고 각 사용자에 맞는 추천 목록을 출력하거나, 사용자로부터 추천목록에서 마음에 들지 않는 항목들을 입력..

    11/27 TF-IDF, 클래스 분리

    TF-IDF 기법을 각 유저들이 작성한 리뷰에 적용하여 추천 목록에 있는 음악들의 관련 키워드를 나타냈다. 파이썬 sklearn 모듈의sklearn.feature_extraction.text에서 TfidfVectorizer를 import하여 TF-IDF를 사용했고, 추출된 단어들 중 the, is, are, a, he 등의 쓸모없는 단어들을 걸러내기 위해 sklearn.feature_extraction의 stop_words를 사용했다. stop word를 사용해도 음악 리뷰라는 특성 상 music이나 disk, cd, album과 같은 단어들이 많이 등장하는 것을 확인할 수 있었다. 또한 데이터 파일 자체에 저장되어 있는 &#8217, &#34와 같은 HTML 코드들도 TF-IDF 결과에 섞여 나오기도 ..

    Recommendation System with SGD

    여기에는 현재 소프트웨어 응용 과목에서 진행중인 '추천 엔진 만들기' 프로젝트의 잔행상황을 기록할 것이다. 추천엔진의 기본 골자 Stochastic Gradient Descent 기법을 이용한 CF로 이루어져 있다. 추천엔진은 관리자 모드와 사용자 모드, 이렇게 두 가지의 모드를 가지고 있다. 관리자 모드는 다음과 같은 기능을 수행한다. 예측 평점 행렬을 구하는 기능 시스템에 저장되어 있는 예측 평점 행렬을 불러오는 기능 SGD 수행 과정에서 기록된 RMSE를 그래프로 보여주는 기능 현재 저장되어 있는 예측 평점 행렬을 보여주는 기능 사용자 모드에서는 사용자가 아이디와 추천 받을 상품의 갯수를 입력하면 사용자에게 해당 갯수만큼 아이템을 추천해주는 기능을 가지고 있다. 앞으로 추가 예정인 기능들은 이러한 ..