오늘 할 일 (계획)
1. AI 기능 구현
2. 포켓몬 얼굴상 프로젝트 자동 업데이트 설정 완료하기
3. AI 분석 준비하기 - 두 번째 사이트 크롤링되면 실행할 수 있게 준비
4. 프로젝트 완성
오늘 한 일 (회고)
1. AI 기능 구현
- 유저 데이터 기반 협업 관리 툴 방식으로 술 추천 시스템 구현
drink rating이라는 파일과
drinks 라는 파일을 만들어서
유저에 따른 선호도를 조사 유저끼리의 유사도를 측정하여 유저기반의 협업 관리툴을 구현
def drink_db_view(request):
print("drink_db_view 실행확인")
user = request.user.is_authenticated
if user:
ratings = pd.read_csv('./static/model/drink_ratings.csv')
drinks = pd.read_csv('./static/model/drinks.csv', encoding='cp949')
pd.set_option('display.max_columns', 10)
pd.set_option('display.width', 300)
drink_ratings = pd.merge(ratings, drinks, on='drinkid')
# print(drink_ratings)
# user별로 술에 부여한 rating 값을 볼 수 있도록 pivot table 사용
title_user = drink_ratings.pivot_table('score_x', index='userId', columns='title')
# 평점을 부여안한 술은 그냥 0이라고 부여
title_user = title_user.fillna(0)
# print(title_user)
user_based_collab = cosine_similarity(title_user, title_user)
# print(user_based_collab)
user_based_collab = pd.DataFrame(user_based_collab, index=title_user.index, columns=title_user.index)
# print(user_based_collab)
# 접속한 유저의 아이디를 받아옴
id = request.user.id
# 4번 유저와 비슷한 유저를 내림차순으로 정렬한 후에, 상위 10개만 뽑음
# print(user_based_collab[id].sort_values(ascending=False)[:10])
# 4번 유저와 가장 비슷한 266번 유저를 뽑고,
user = user_based_collab[id].sort_values(ascending=False)[:10].index[1]
# 266번 유저가 좋아했던 술의 평점 내림차순으로 출력
category_recommend = title_user.query(f"userId == {user}").sort_values(ascending=False, by=user, axis=1)
category_recommend = category_recommend[:30]
2. AI 분석 준비하기 - 두 번째 사이트 크롤링되면 실행할 수 있게 준비
- 음식 사이트 크롤링 된 내용과 연결하여 술과 음식 페어링 완료
3. Drink_plus 프로젝트 디테일 정리
- 프론트 관련 및 세부 기능 구현 마무리
- 프로젝트 완성
내일 할 일
1. 포켓몬 얼굴상 프로젝트 자동 업데이트 설정 완료하기
2. 개발일지 작성
3. 클론 코딩 프로젝트 위주로 학습내용 시작
'TIL' 카테고리의 다른 글
2-11[Django, migrations, DOCKER, tmate sh] python Django 실무 정리 #2 (0) | 2022.02.11 |
---|---|
2-10[Django, 환경변수, 가상환경] python Django 실무 정리 #1 (0) | 2022.02.10 |
2-8[Project] aspx 사이트 크롤링 완료 (0) | 2022.02.08 |
2-7[Project] aspx 사이트 분석 크롤링 준비 (0) | 2022.02.07 |
2-6[Project] Django를 이용한 검색기능 (0) | 2022.02.06 |