13주차 캡스톤 발표

강추조

이강호(14), 한정(11) 

목차

  • 지난수업 의견 피드백
  • 간트차트 수정 및 진행정도
  • Q&A

Similarity 관련

1. 평가 안한 과목의 값을 0으로 두고 계산하는게
맞는것인가?

def get_cosine_similarity(rating1, rating2):
    x = 0
    y = 0
    xy = 0
    for key in rating1:
        x += rating1[key] * rating1[key]
        if key in rating2:
            xy += rating2[key] * rating1[key]   # key가 하나라도 0이라면 반영이 안될 것.
    for key in rating2:
        y += rating2[key] * rating2[key]
    similarity = xy / (sqrt(x) * sqrt(y))
    return similarity

결론 : 둘 다 평가한 결과만 유사도에 영향

저번 수업시간 이해부족으로 인한 잘못된 대답이었습니다. 죄송합니다.

Similarity 관련

2. 모두 같은 차원으로 두고 계산하여야 하는가?

a과목 b과목 c과목 d과목 e과목
A유저 5 4 5 2 -
B유저 5 - - 2 3
C유저 5 4 - 2 4
AB = \frac{5*5 + 2*2}{\sqrt{5*5 + 4*4 + 5*5 + 2*2}\sqrt{5*5 + 2*2 + 3*3}} = \frac{29}{\sqrt{70}\sqrt{38}} = \frac{29}{45.055..} = 0.562..
AB=55+2255+44+55+2255+22+33=297038=2945.055..=0.562..AB = \frac{5*5 + 2*2}{\sqrt{5*5 + 4*4 + 5*5 + 2*2}\sqrt{5*5 + 2*2 + 3*3}} = \frac{29}{\sqrt{70}\sqrt{38}} = \frac{29}{45.055..} = 0.562..
AC = \frac{5*5 + 4*4 + 2*2}{\sqrt{5*5 + 4*4 + 5*5 + 2*2}\sqrt{5*5 + 2*2 + 4*4 + 4*4}} = \frac{45}{\sqrt{70}\sqrt{61}} = \frac{45}{56.124..} = 0.731..
AC=55+44+2255+44+55+2255+22+44+44=457061=4556.124..=0.731..AC = \frac{5*5 + 4*4 + 2*2}{\sqrt{5*5 + 4*4 + 5*5 + 2*2}\sqrt{5*5 + 2*2 + 4*4 + 4*4}} = \frac{45}{\sqrt{70}\sqrt{61}} = \frac{45}{56.124..} = 0.731..

A와 B의 유사도보다 A와 C의 유사도가 높게 되는 것이 유사도 판단 면에서 당연!

기존방식으로 비교 되는것이 맞습니다

Gantt chart

진행사항

24일 현재

Recommendation part

1. 추천 서버 AWS EC2 환경설정

 

2. AWS SQS 테스트

Recommendation part

1. 추천 서버 AWS EC2 환경설정

1. instance 생성

2. python3, pip3 설치

3. beautifulsoup4, boto3, python3-mysql.connector, pymongo 등

필요 python3 모듈 설치

4. mongoDB, MySQL 설치

5. 기존 코드 및 sql file import

Recommendation part

1. 추천 서버 AWS EC2 환경설정

설치된 버전 확인

Recommendation part

1. 추천 서버 AWS EC2 환경설정

크롤링 되는지 확인

Recommendation part

2. AWS SQS 사용 테스트

SQS란? 

: Simple Queue Service

: 애플리케이션, 마이크로서비스간 안정적인 통신을 지원하는

완전관리형 메세지 대기열 

: 강추조는 SQS FIFO를 사용

Recommendation part

2. AWS SQS 사용 테스트

평가점수 입력 후 페이지 이탈 / 저장

SQS send

message

(userId)

DB에 점수 저장

SQS(FIFO)에 쌓임

receive message

추천 알고리즘 후

MySQL로 저장

remove

message from queue

critical section(DB)

동시접근 차단

Recommendation part

2. AWS SQS 사용 테스트

busy waiting

사이트에서 임시로 메세지에 userId값을 담아 넘겨주면

Recommendation part

2. AWS SQS 사용 테스트

메세지 정보와 userId에 해당하는 유저의 예상점수를 출력해줌

(테스트 완료)

Application part

Application part

1. 

Q&A

감사합니다.

Made with Slides.com