목록분류 전체보기 (81)
tak's data blog
지난 추천시스템 설명에 이어서 user collaborative filtering의 유사도에 대해서 살펴보겠습니다. collaborative filtering이란 사용자를 고려하는 방식으로, 취향이 비슷한 집단에서 누군가 선호한 아이템을 아직 접하지 않았다면 그 아이템을 추천하는 방식입니다. 사용자 기반 사용자 기반의 협업 필터링에서의 유사도는 두 사용자가 얼마나 유사한 항목(아이템)을 선호했는지를 기준으로 합니다. 사용자 기반에서는 한 사용자가 평가한 영화들의 점수들을 벡터로 나타낼 수 있다. 두 사용자 간의 유사도는 두 벡터 간의 유사도로 정의할 수 있는데, 이 유사도를 구하기 위해서 다양한 방법이 사용될 수 있습니다. 1) 코사인 유사도(cosine similarity) 평점들을 '벡터'로 생각하고..
BOAZ에서 adv프로젝트로 추천시스템을 구현하는 과정을 가지고 있습니다. coursera 추천시스템 강의를 공부하면서 까먹지 않기 위해 블로그에 기록하도록 하겠습니다! 2월부터 3월까지 총 5주차의 강의를 청강하면서 영어로만 되어있어 이해하는 과정에서 시간이 더 걸려서 완벽히 이해하진 못했지만, 강의와 구글링을 통해서 얻은 핵심내용만 정리하겠습니다! 주요 참고 블로그 : lsjsj92.tistory.com/563 추천 시스템(Recommendation system)이란? - content based filtering, collaborative filtering 포스팅 개요 이번 포스팅은 추천 시스템(recommedation system)에 대해서 알아봅니다. 또한, 추천 시스템에는 컨텐츠 기반 필터링(..
계속 프로젝트를 진행 중에 있습니다. 현재는 네이버 / 카카오 / 구글 별로 크롤링 코드를 각자 짜오는 과정을 가지고 있는데 카카오 맵의 리뷰 페이지가 넘어가는 규칙이 특이해 쉽지 않네요... BeautifulSoup과 Selenium을 통한 크롤링을 위해서 xpath경로가 필요합니다. 하지만 카카오맵은 페이지가 넘어 갈 때의 경로가 1. 페이지가 2개이하면 em -> a 2. 페이지가 4개이하면 em -> a[1] -> a[2] -> a[3] 3. 페이지가 5개면 a[1] -> a[2] -> a[3] -> a[4] -> em 4. 페이지가 2개이상이면 다음버튼 까지 em -> a[1] -> a[2] -> a[3] -> a[4] -> a[5](다음) 5. 다음으로 넘어가면 이전이 a[1] -> em(6페..
전 게시글들은 kaggle 필사를 기준으로 진행하였습니다. 이번에는 직접 데이터를 살펴보고 분석해보는 과정으로 진행해보록 하겠습니다!! 참고 블로그 : ebbnflow.tistory.com/141?category=850456 [캐글] 중고차 가격 예측 모델2_Gradient Boost, Random Forest ● Gradient Boost Gradient Boosting Algorithm (GBM)은 회귀분석 또는 분류 분석을 수행할 수 있는 예측모형이며 예측모형의 앙상블 방법론 중 부스팅 계열에 속하는 알고리즘입니다. Gradient Boosting.. ebbnflow.tistory.com 데이터는 kaggle 중고차 가격 예측 대회를 참고하였습니다. 필요한 라이브러리들을 import하고 train데..
스택(stack)은 쌓아 올린다는 뜻으로, 자료를 쌓아 올린 형태의 구조를 말한다. 스택(stack) - 맨 위 요소만 접근 가능 - 데이터를 push하면 top에 들어가고, pop하면 가장 최근에 푸시한 데이터가 나온다. - LIFO (Last In First Out) 구조이다. (후입선출) 스택 장점 - 데이터의 삽입과 삭제가 빠름. 단점 - 맨 위의 원소만 접근 가능 큐(queue)는 무엇을 기다리는 사람의 사전적 정의를 가지고 있으며, 먼저 들어간 데이터가 먼저 나가는 것에서 붙여졌다. 큐 - 데이터가 push되는 곳을 front, pop되는 곳을 back이라 함. - FIFO (First-In-First-Out) 구조이다. (선입선출) 큐 다음과 같다. [프로그래머스] 다리를 지나는 트럭 문제 ..
앞으로를 위해서 4학년이 되면서 it기업을 목표를 잡고 코딩테스트를 공부하기로 마음먹게 되었습니다. 프로그래머스의 고득점 kit을 처음으로 정리를 시작하면서 코딩 테스트를 리뷰하는 과정을 가지도록 하겠습니다. 참고 블로그 : davinci-ai.tistory.com/19 파이썬으로 구현하는 자료구조 요약 정리 - 해쉬 테이블(Hash Table) Writer: Harim Kang 해당 내용은 코딩 테스트 및 기술 면접을 대비하기 위해서 자료구조를 공부하며 정리한 내용입니다. 각각 자료구조의 종류와 특성, 장단점, 파이썬을 이용한 간단한 구현 코드까 davinci-ai.tistory.com 그 첫번째는 해시 테이블입니다. 우선 해시 구조란? - key와 value로 이루어진 데이터 구조를 말합니다. key..
벌써 5주차인데요 이번엔 Decision Tree(의사결정나무)에 대해서 다뤄보도록 하겠습니다! 기본 개념 및 구조 - Decision Tree(의사결정나무)는 데이터의 feature에서 패턴을 찾는 머신러닝 모델 - supervised learning model (지도학습 모델 중 하나) - 분류, 회귀, 다중출력 작업이 가능하다. - 매우 복잡한 데이터 셋도 학습 가능 - randomforest의 기본 구성 요소 (특정 feature를 바탕으로 작은 그룹들로 나누는 과정을 반복하여 더 이상 나눌 수 없는 지점(리프 노드)에 도달 시킨다.) 예측 단계에서 unlabeled 데이터를 의사결정나무에 통과시켜 리프노드에 도달하면, 해당 노드에서 제일 많이 포함된 label이 unlabeled 데이터의 lab..
문제 dvd렌탈 시스템의 관리자는 매달 매출 순위 1위를 한 고객에게 특별한 선물을 주고자 한다. 이러한 업무를 달성하기 위해 customer_rank_yyyymm이라는 테이블을 ctas기법으로 생성하는 sql문을 작성하라. (단 선물 제공 기준을 정하기 위해 sum_amount도 저장하여라.) 1. payment 테이블을 customer_id, yyyymm 기준으로 group by 후 amount의 합계를 구합니다. sum을 사용해서 새로운 sum_amount로 지정해주고 to_char를 이용해서 날짜 데이터를 년월로 끊어줍니다. 2. 1번 결과를 인라인 뷰로 감싼 후 yyyymm을 기준으로 amount 합계 별 순위를 구합니다. from절에서 인라인 뷰로 1번을 감싼 후 테이블을 a로 지정합니다. 그..