ML/추천 시스템 입문편

머신러닝 / 딥러닝 스터디 정리
ML/추천 시스템 입문편

[추천 시스템 입문편] 나와 친구를 위한 영화 추천

나의 데이터 EDA (Exploratory Data Analysis, 탐색적 데이터 분석) 데이터 전처리 필요한 패키지 설치 데이터 읽어오기 유저 별점 테이블에 영화 정보와 장르 정보를 이너 조인으로 붙이기 유저 1001번의 별점 정보 살펴보기 나와 친구들의 데이터 EDA 나와 친구의 같은 취향 살펴보기 나와 친구의 다른 취향 살펴보기 Lasso 하이퍼파라미터 튜닝 하이퍼파라미터 튜닝 방법 Manual Search 사용자가 직관 또는 대중적으로 알려진 노하우에 의존하여 파라미터 값을 직접 넣어보며 가장 높은 성능을 발휘했던 하이퍼파라미터 값을 선정하는 방법 Grid Search 탐색의 대상이 되는 특정 구간 내의 후보 하이퍼파라미터 값들을 일정한 간격을 두고 선정하여, 이를 각각에 대하여 측정한 성능 결..

ML/추천 시스템 입문편

[추천 시스템 입문편] Content-Based Recommendation 2

아이디어 설명 Linear Model로 유저 프로필 구성 선형 회귀 모델을 사용해 각 유저 별 특징을 가장 잘 나타내는 선형 회귀 직선을 찾도록 함 예) '조'의 정직한 후보 y = 3.5 + (0.5 * 1) + (-1 * 0) + (1.2 * 0) = 4라고 한다면 → 실제는 3.5이므로 에러는 0.5 스릴러를 좋아하지 않는다면, β2는 음의 계수 값을 가질 것으로 예상됨 이후 각 에러값을 제곱하고 평균을 내서 조의 MSE를 구하게 되고, 이 절편과 계수들이 조를 잘 판단하는지 조정하여 최적의 값을 찾음 선형 회귀 모델은 MSE가 최소값이 되는 절편과 계수를 찾며 이를 유저 프로필로 사용 Linear Model이란? x를 가지고 y를 잘 설명하는 직선을 그리는 것 최소자승법 1. 각각의 점으로부터 직..

ML/추천 시스템 입문편

[추천 시스템 입문편] Content-Based Recommendation 1

아이디어 설명 유저 프로필 구성 장르별 평균으로 어떤 유저가 어떤 장르를 얼마나 좋아하는지에 대한 각 유저의 프로필 만들기 유저의 평점과, 유저가 평점을 준 영화들의 아이템 프로필을 사용해서 계산함 예) 조의 유저 프로필 코미디 : (3.5) / 1 = 3.5 스릴러 : (5.0 + 1.0) / 2 = 3.0 액션 : (4.5 + 4.0 + 1.0) / 3 = 3.17 영화 평점 예측 각 유저의 유저 프로필을 가지고 새로운 영화에 대한 평점 예측하기 예) 조의 '기생충' 예상 평점 (3.5 * 1) + (3.0 * 1) + (3.17 * 0) / (1 + 1 + 0) = 3.25 예) 베스의 '기생충' 예상 평점 (4.0 * 1) + (1.0 * 1 ) + (2.0 * 0) / (1 + 1 + 0) = ..

ML/추천 시스템 입문편

[추천 시스템 입문편] 아주 간단한 추천 시스템 만들기

평가 지표 RMSE RMSE 모델을 평가하기 위한 평가 매트릭 error 영화 실제 평점 데이터와 영화 예측 평점 데이터의 차이 squared error +와 -가 상쇄되는 것을 막기 위해 모든 에러를 제곱해준 것 mse 에러의 평균인 mean squared error rmse 제곱이 아닌 원래대로 돌려주기 위해 루트를 사용한 에러의 평균인 root mean squared error 사이킷런의 mean_squared_error 편리하게 계산 가능 학습 데이터와 평가 데이터 학습 데이터 모델을 훈련하는 데이터 평가 데이터 모델의 성능을 테스트하는 데이터 사이킷런의 train_test_split 모델을 훈련하는 데이터와 성능을 테스트하는 데이터를 분리 가장 간단한 예측하기 모두 0.5점으로 예측하기 0.5 ..

ML/추천 시스템 입문편

[추천 시스템 입문편] Pandas 보충강의

정규표현식으로 문자열 다루기 정규표현식 내가 필요한 정보들만 매칭하는 일 Pandas의 lambda와 apply 함수 lambda 함수를 만드는 다른 방법 중 하나 익명의 함수 apply for문의 기능을 대신 apply(함수)에서 미리 정의해둔 함수뿐만 아니라 lambda 함수로도 써줄 수 있음 Pandas의 loc 정확하게 사용하기 loc (location) 행과 열의 데이터를 조회하거나 인덱싱하는 방법 String 값만 뽑아오도록 하거나 컬럼 정보만 뽑아오도록 할 수 있음 참고 자료 및 코드 더보기 [개념부터 실습까지] 추천 시스템 입문편 https://inf.run/keFz [추천 시스템 입문편] 정규표현식으로 문자열 다루기 https://github.com/GaGa-Kim/ML_Study/blo..

ML/추천 시스템 입문편

[추천 시스템 입문편] 영화 데이터 읽고 기초 분석하기

영화 데이터 읽어오기 무비렌즈에서 제공하는 영화 평가 데이터 다운로드 다운로드 받은 데이터 파일을 구글 클라우드의 ml-latest-small 폴더에 저장 필요한 패키지 설치 데이터 읽어오기 데이터 저장하기 영화 메타 데이터 분석 개봉연도 분석 개봉연도 데이터 정제하기 결측값 핸들링하기 결측치 채워주기 데이터에 가장 많이 출현하는 개봉연도 찾기 개봉연도 시각화 시각화 패키지 설치 개봉연도에 따른 영화 갯수 시각화 장르 분석 영화에 따른 장르 목록 분리 플랫 리스트 생성 중복되는 장르 제거 장르 갯수 확인 텍스트 데이터를 숫자형으로 변환 장르의 존재 여부 참거짓 설정 판다스 함수로 대신하여 장르 데이터 숫자형으로 변환 판다스 데이터프레임 저장 장르 간 관계 찾기와 시각화 장르 간의 상관관계 분석 상관관계 ..

ML/추천 시스템 입문편

[추천 시스템 입문편] 추천 시스템이란?

추천 시스템 주변에서 자주 접하는 추천 시스템으로는 넷플릭스, 유튜브, 쿠팡이 존재 → 이들은 개개인에게 맞는 특정 영상, 상품 등만 큐레이팅 수 만 편의 영화, 수 억 편의 영상, 수십 만 개의 상품 등 정보의 양이 폭증함에 따라 정보 소비자가 원하는 정보를 얻는데 시간과 노력이 많이 필요하므로 정보 소비자에게 원하는 정보를 쉽게 얻도록 도와주는 분야를 정보 필터링이라고 함 정보 필터링의 대표적인 분야로는 검색과 추천 시스템이 존재하며 그 중 추천 시스템은 정보 소비자가 원하는 정보를 찾아 소비자에게 추천하는 시스템을 말함 검색은 소비자가 관심사를 표현하는 검색이라는 행위를 해야함 (active) 반면 추천은 특별한 행위 없이도 정보 전달이 가능함 (passive) 추천 시스템 분류 시나리오에 따른 분..

김깅긍
'ML/추천 시스템 입문편' 카테고리의 글 목록