맥주 추천시스템 6

맥주 추천시스템 구현 - 8. 웹 배포하기(Pythonanywhere)

✅git repository 만들기 git repository를 생성합니다. 생성한 후 화면입니다. 파이참에서 작업한 디렉토리를 이 repository에 올리겠습니다. ✅github push하기 git에 올리려는 디렉토리에서 다음 순서로 명령어를 실행합니다. 주의할 점은 .gitinit 파일을 생성한 뒤, 올리지 말아야 할 파일들은 제외합니다. 이것을 언어나 환경에 맞게 자동으로 맞추어주는 사이트도 있습니다. https://www.toptal.com/developers/gitignore 위 사이트에서 나온 텍스트 내용을 .gitignore에 Copy & Paste합니다. 추가로 Django의 settings.py에서 Debug모드를 False로 바꾸고, ALLOWED_HOSTS = ['*']로 변경합니다..

맥주 추천시스템 구현 - 7. 웹 구현하기(Django)

🔨URL 설정하기 우선 프로젝트 폴더의 urls.py를 수정합니다. 현재 프로젝트 이름은 myproject입니다. ''로 경로가 없으면 beer 앱의 경로로 넘어갑니다. from django.contrib import admin from django.urls import path,include urlpatterns = [ path('admin/', admin.site.urls), path('', include('beer.urls')), ] 이번엔 beer 앱의 urls.py를 수정합니다. '' 경로로 접근 시 views.py의 index 함수를 실행합니다. ver1, ver2 역시 마찬가지로 views.py의 ver1, ver2 함수를 실행합니다. from django.urls import path fr..

맥주 추천시스템 구현 - 6. 웹 설정하기(Django)

🔨패키지 설치 및 환경설정 구현한 추천시스템을 웹으로 구현하고 배포까지 진행해보려고 합니다. 에디터는 Pycharm을 사용했고 Django로 구현할 예정입니다. New project 선택 후 새로운 프로젝트를 생성합니다. Django와 Pandas, scikit-learn 패키지를 가상환경에 설치합니다. 명령어를 터미널에서 실행합니다. pip install django pip install pandas pip install scikit-learn 그리고 새로운 프로젝트를 생성합니다. 프로젝트 이름은 myproject로 지었습니다. 디렉토리에 myproject 폴더가 추가되었습니다. 프로젝트를 처음 생성했으므로 다음 명령어로 database를 초기화 시켜주겠습니다. manage.py 파일을 사용하기 위해 ..

맥주 추천시스템 구현 - 5. CF 기반 추천시스템 구현

🔗아이템 기반 협업필터링(CF) 추천시스템 구현에 사용할 알고리즘은 아이템기반 CF입니다. 협업필터링(CF)은 최근접 이웃 협업필터링과 잠재 요인 협업필터링으로 나뉩니다. 그리고 최근접 이웃 협업필터링은 다시 유저 기반과 아이템 기반으로 나뉩니다. 그 중에서도 아이템 기반을 선택한 이유는 다음과 같습니다. 유저 개인의 취향이 너무 다양하다. 그에 반해 리뷰를 남기는 맥주 수는 한정적이다. 따라서 아이템 기반으로 추천하는 것이 적절하다고 판단했습니다. 🎇데이터 정제하기 수집한 맥주 데이터에는 리뷰가 1개인 맥주들이 있습니다. 리뷰를 남긴 유저들도 마찬가지입니다. 이는 추천시스템의 성능을 저하시킬 수 있으므로 최소 10개 이상의 리뷰를 가진 맥주와 유저들만으로 이루어진 데이터셋을 구성합니다. import p..

맥주 추천시스템 구현 - 4. 클러스터링

📊맥주별 클러스터링 시각화 이번엔 맥주 데이터를 5가지 평가 요소를 기준으로 클러스터링 해보았습니다. 향, 외관, 맛 등의 요소에 따라 서로 다른 군집들이 나타날 것 같았기 때문입니다. 우선 필요한 라이브러리들을 import하고 데이터도 불러오겠습니다. 시각화 라이브러리로는 📊plotly를 사용했습니다. import pandas as pd import numpy as np import plotly.express as px import plotly.graph_objects as go import plotly.io as po from sklearn.cluster import KMeans from sklearn.preprocessing import StandardScaler, MinMaxScaler impor..

맥주 추천시스템 구현 - 2. 데이터 전처리

🍺리뷰 데이터 전처리 1. 여러 개의 파일 병합하기 우선 이전 포스팅에서 수집한 맥주별 csv 파일들을 하나로 합치겠습니다. import pandas as pd # 합친 데이터를 저장할 데이터프레임 data = pd.DataFrame(data=[], columns=['맥주정보', '검색이름', '맥주이름']) # 수집한 파일의 개수 files_cnt = 77 for i in range(files_cnt): # 해당 경로에서 beer_n_1.csv 형식의 파일들만 수집한 뒤 병합합니다. try : tmp = pd.read_csv(r'C:\Users\Ghyeon\beer_n_'+str(i)+'.csv', index_col=0) data = pd.concat([data,tmp]) # 오류 발생 시 넘어갑니다...