11주차 캡스톤 발표

강추조

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

목차

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

Similarity(유사도) 찾기

  • Cosine Similarity 의 의미

 

 

 

 

> 내적공간의 두 벡터간 각도의 코사인 값을 이용하여 유사한 정도를 측정

> 두 벡터의 방향이 같으면 1, 완전히 다른 반대가 될 경우 -1, 독립적인 경우 0

> 양수 공간이라는 조건만 만족하면 얼마나 많은 차원 공간에서든지 사용가능

(추천 시스템은 양수 공간이므로 사용이 가능하다!)

Gantt chart

진행사항

10일 현재

Recommendation part

1. 크롤링 및 데이터 가공 완료

courses

Majorcourses

Majorcourses

Recommendable Courses

Recommendation part

2-1. 임시 데이터 생성

Users

User Recommendations

Recommendation part

2-1. 예측 점수는 어떤 과정으로?

similarity 계산

유사집단 추출(최대 20명)

그 집단에서의 과목당

각 similarity 총 합을 구함

PreScore = \sum_{k=1}^n (U_kSimilarityRate*U_kScore)
PreScore=k=1n(UkSimilarityRateUkScore)PreScore = \sum_{k=1}^n (U_kSimilarityRate*U_kScore)
SimilarityRate = \frac{UserSimilarity}{\sum_{k=1}^n U_kSimilarity}
SimilarityRate=UserSimilarityk=1nUkSimilaritySimilarityRate = \frac{UserSimilarity}{\sum_{k=1}^n U_kSimilarity}

Recommendation part

2-1. 예측 점수는 어떤 과정으로?(예시)

user score similarity
A 기준 기준
B 4 0.85
C 2 0.5
D 1 0.3
= \frac{0.85}{0.85 + 0.5 + 0.3} = 0.51515..
=0.850.85+0.5+0.3=0.51515..= \frac{0.85}{0.85 + 0.5 + 0.3} = 0.51515..

B의 유사도 비율

C의 유사도 비율

D의 유사도 비율

= \frac{0.5}{0.85 + 0.5 + 0.3} = 0.30303...
=0.50.85+0.5+0.3=0.30303...= \frac{0.5}{0.85 + 0.5 + 0.3} = 0.30303...
= \frac{0.3}{0.85 + 0.5 + 0.3} = 0.18181...
=0.30.85+0.5+0.3=0.18181...= \frac{0.3}{0.85 + 0.5 + 0.3} = 0.18181...

Recommendation part

2-1. 예측 점수는 어떤 과정으로?(예시)

user score similarity
A 기준 기준
B 4 0.85
C 2 0.5
D 1 0.3
= 0.51515 * 4 + 0.30303 * 2 + 0.18181 * 1
=0.515154+0.303032+0.181811= 0.51515 * 4 + 0.30303 * 2 + 0.18181 * 1

A의 예측점수

= 2.0606 + 0.6060 + 0.1818
=2.0606+0.6060+0.1818= 2.0606 + 0.6060 + 0.1818
= 2.9
=2.9= 2.9

유사한 집단들 위주로 계산을 할 경우 정확도가 더 올라갈 것!

Recommendation part

2-1. 예측 점수는 어떤 과정으로?

결과 Data
DB table에 저장

코드에 맞는

추천과목을 찾아 추천!

Application part

  1. 로그인 관련 API
  2. 로그인 관련 페이지
  3. 시간표 작성 frontend page

Application part

  1. 로그인 관련 API
  • 쿠키를 사용하는 방식이 아닌 JWT를 사용
  • /api/auth (POST) - 유저 로그인
  • /api/auth (GET) - 현재 로그인된 유저 정보 가져오기
  • /api/user (POST) - 회원가입
  • /api/auth/password (POST) 비밀번호 리셋 메일 전송
  • /api/auth/password/:hash (POST) 비밀번호 리셋 확인

Application part

2. 로그인 관련 페이지

Application part

2. 로그인 관련 페이지

Application part

2. 로그인 관련 페이지

Application part

3. 시간표 관련 API

  • /api/course/search (GET) - 과목 검색
  • /api/term (GET) - 학기와 그리고 저장된 스케줄 가져오기
  • /api/schedule (POST) - 시간표 저장
  • /api/schedule/:id (DELETE) - 시간표 삭제
  • /api/schedule/:id (PUT) - 시간표 수정

Application part

4. 시간표 관련 페이지

Q&A

감사합니다.

11주차 캡스톤 발표

By Jung Han

11주차 캡스톤 발표

  • 807