9주차 캡스톤 발표

강추조

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

목차

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

지난 전체발표에서

가장 나온 의견들 중

한가지 정도를 자세히 말씀드리겠습니다.

"주제에 대해

좀 더 자세히 설명해 주면

좋을것같다."

Recommendation system

  •  content-based filtering

> 사용자 혹은 상품의 내용을 이용

ex> 아이언맨(마블, 미국, 히어로물 등등..)

  • collaborative Filtering

> 사용자의 평가 내용을 이용

> User-based : 비슷한 사용자를 찾는다.

> Item-based : 비슷한 아이템을 찾는다.

과거 입력해 놓은 아이템을 기반으로 미래 아이템을 예측

Recommendation system

  •  content-based filtering

> 적은 정보만으로 만족도 높은 추천을 나타낸다.

> 모델링 방식에 따라 추천의 정확도가 크게 달라진다.

> 비슷한 아이템끼리 추천을 하게 되는 단점이 있다.

  • collaborative Filtering

> 데이터가 많아질 수록 높은 만족도를 나타낸다.

> 데이터가 적을 경우 Cold start가 있다.

Recommendation system

content-based filtering

Recommendation system

Collaborative filtering

"Collaborative filtering"
을 사용하기로 선택

Recommendation system

collaborative Filtering를 선택한 이유

1. Content-based에서 추천해줄 Item을 어떻게 모델링 하느냐에 따라

추천의 질이 크게 달라 지는데 개인의 임의대로 카테고리를 나눠 분석하는 것이 만족성이 높은 추천을 하기 어려울 것 이라 생각

 

2. 4학년 학생이 들은 과목은 많아야 35~40개 내외. 많아야 40개의 점수를

사용자들이 입력하는데 크게 어려움이 없을 것이라 예상

+ 졸업자들의 데이터가 강력하게 사용 될 수 있을 것이라 생각.(빠른수집또한 가능)

+ 빠른 완성후 데이터를 충분히 수집할 수 있을것이라 자신감을 가졌었음

 

3. Content-based를 사용했을 때 결과 예측이 쉬웠다. 실제로 이 프로그램을

사용했을 때 만족도 있는 추천을 할 지 궁금했다.

나와 비슷한 사람은
어떻게 찾는가?

Similarity

Similarity(유사도) 찾기

  • Manhattan Distance / Euclidean Distance
     

 

 

 

 

 

 

 

 

> missing value가 없을 때 유리함

Similarity(유사도) 찾기

  • Pearson Correlation Coefficient(피어슨 상관계수)

 

 

 

 

 

 

 

 

> Pearson은 grade-inflation 이 있는 곳에 적합하다.

Similarity(유사도) 찾기

  • Cosine Similarity

 

 

 

 

 

 

 

> 가장 많이 Collaborative filtering에서 사용하는 방식

> 데이터가 sparse하게 퍼져 있을 때 유리

> 현재 사이트에서 유사도 측정 방법으로 사용

Gantt chart

진행사항

25일 현재

Recommendation part

1. 크롤링 및 데이터 가공

Recommendation part

Python + BeautifulSoup + MySQL connector
을 이용하여 데이터 크롤링, MySQL로 저장

그냥 단순하게 크롤링 하면
사용할 수 있는 것 아닌가? 저걸 1주일동안 하지?

라고 생각할 수 있지만

Recommendation part

1. HTML코드를 크롤링한 후
 테이블 내 tr태그 내의 내용을 뽑아 내용을
합쳐보면 드디어 알아 볼 수 있는 내용이 나옵니다.

Recommendation part

2. 하지만 이 데이터를 그대로 사용 할 수 없습니다.
몇가지 문제점을 살펴보면

  • 셀0(웹강의) /월9,10,11,12(60주년-013)
    • {D0T0 : 웹강의, D1T9T10T11T12 : 60주년-013}
  • 금7,8(60주년-707) /금9,10,11,12(60주년-808)
    • {D5T7T8 : 60주년-707, D5T9T10T11T12:60주년-808}
  • 수10,11,12,금7,8,9(5동106B)
    • {D3T10T11T12 : 5동106B, D5T7T8T9 : 5동106B}
  • 월10,11,12,수10,11,12(하-207) /금9,10,11,12(하-424)
    • {D1T10T11T12 : 하-207,D3T10T11T12: 하-207, D5T10T11T12 : 하-424}

Recommendation part

2. 하지만 이 데이터를 그대로 사용 할 수 없습니다.
몇가지 문제점을 살펴보면

Post 시킬 때의 문제 

1번

2번

3번

Recommendation part

3. 이런 저런 문제들을 해결(생략)하여 DB에 넣어보면

현재는 계속해서 데이터를 쓸 수 있게 테이블을 만들고 가공중에 있습니다.

Application part

Database Modeling

Q&A

감사합니다.

Made with Slides.com