본문 바로가기
728x90

DIY Data Science8

[Recommender System] 내용 기반 추천 시스템(Contents-Based Recommender System) 먼저 내용 기반 추천 시스템이란, 추천 시스템의 한 종류로 사용자(User)가 경험하고 평가했던 아이템(Item)을 기반으로 분석하여 추천하는 것을 말한다. 예를 들어, 쇼핑몰에서 좋은 평점을 매긴 아이템, 긍정적인 리뷰가 많은 아이템, 구매한 내역이나 장바구니에 추가한 아이템(Item)들을 기반으로 그와 비슷한 새로운 아이템을 추천한다. 프로세스(Process) 1) 콘텐츠에 대한 특징(feature) 분석 먼저, 정형 데이터와 비정형 데이터로부터 얻을 수 있는 정보를 통해 콘텐츠에 대한 분석이 필요하다. 이때 모든 아이템들에 대한 분석이 필요하며 이를 벡터(Vector)화 하여 생성한다. 아이템을 분석할 수 있는 요소는 다양하게 존재한다. 쇼핑몰의 경우 제품의 카테고리, 색상, 계절, 제품의 설명 등.. 2022. 2. 13.
[Recommender System] 추천 시스템을 위한 K-최근접 이웃 알고리즘(K-Nearest Neighbor) K-최근접 이웃 알고리즘(K-Nearest Neighbor)은 이름 그대로 가장 가깝게 근접해 있는 이웃 K개를 토대로 결과를 예측하는 것이다. 추천 시스템에서는 이를 이용해서 아이템(Item)이나 사용자(User)의 결과를 예측할 때 가까운 K개의 데이터를 분석하여 추천을 하는 데 사용한다. 예를 들어 위험 성향과 수익률을 통해 고객에게 금융상품을 추천한다고 가정하자. 적금/ 상장지수펀드(ETF) / 주식 세 종류의 금융상품(Item)을 특성에 맞게 세 분류로 나눌 수 있다. 펀드나 주식의 경우 종류에 따라 위험과 수익이 다르지만 구분을 위해 펀드는 지수를 추종하는 상장지수펀드로 중위험 중수익, 주식은 고위험 고수익의 변동성이 큰 경우로 예시를 든다. 세 군집으로 금융상품(Item)이 구분되어 있을 때.. 2022. 2. 8.
[Recommender System] 추천 시스템의 기본 개념 추천 시스템이란? 사용자(user)의 과거 데이터, 개인 정보, 방문 기록 등 다양한 데이터를 이용하여 정보나 제품(item)을 추천해 주는 시스템이다. 요즘은 추천 시스템이 많은 기업들에서 활용되고 있다. 그렇기 때문에, 넷플릭스나 왓챠와 같이 몇 개의 관심 있는 항목을 선택한 뒤 이를 기반으로 좋아할 만한 콘텐츠를 추천받아 이용하고 있는 사람들이 많아졌다. 또한, 다양한 인터넷 쇼핑몰에서 내가 구매하거나 클릭한 상품을 바탕으로 관심 있을 법한 상품들을 추천해 주는 것을 쉽게 접할 수 있다. 추천 시스템의 종류 1. 협업 필터링(Collaborative Filtering) 비슷한 취향을 가진 소비자들을 하나의 집단으로 보고 그 집단에 속한 사람들이 좋아한 아이템을 성향이 비슷한 유저에게 추천하는 방법이.. 2022. 2. 2.
[Deep Learning][Deep Learning from Scratch] 신경망 사이토 고키, 「밑바닥부터 시작하는 딥러닝」, 개앞맵시, 한빛미디어, Chapter 3의 내용을 정리하고 공부한 페이지입니다. 신경망 신경망은 가중치 매개변수의 적절한 값을 데이터로부터 자동으로 학습할 수 있는 능력을 가진다. 위의 모형과 같이 기본적으로 입력층(0층), 은닉층(1층), 출력층(2층)의 구조로 구성된다. 활성화 함수 활성화 함수는 입력 신호의 총합이 활성화를 일으키는지를 정하는 역할을 한다. 편향을 1이라고 했을 때, 오른쪽의 그림(활성 함수 처리 과정)을 보면 가중치와 입력 신호를 조합하여 a라는 결과가 된다. 이를 활성화 함수 h( )에 통과시켜 y라는 노드로 변환되는 과정이다. 계단 함수 (Step Function) 일반적으로 활성화 함수는 임계 값을 넘으면 1을 변환하고 넘지 않으.. 2021. 7. 26.
[Deep Learning][Deep Learning for Scratch] 퍼셉트론(Perceptron) 사이토 고키, 「밑바닥부터 시작하는 딥러닝」, 개앞맵시, 한빛미디어, Chapter 2의 내용을 정리하고 공부한 페이지입니다. 퍼셉트론(Perceptron) - 다수의 신호를 받아 하나의 신호를 출력한다. - 흐른다 / 흐르지 않는다 두 가지 값을 가질 수 있다. (1 또는 0) - 신경망의 기원이 되는 알고리즘이다. 입력 신호가 뉴런에 보내질 때 각각 고유한 가중치가 곱해진다. 뉴런에서 보내온 신호의 총합이 정해진 한계를 넘어설 때만 1을 출력하고, 그 한계를 임계값(θ)라고 한다. → 가중치가 클수록 해당 신호가 더 중요하다는 뜻이다. θ를 -b로 치환하여 식을 작성하면, 오른쪽 수식과 같다. 이때, b는 편향이라고 하고 가중치를 곱한 값과 편향을 합하여 0을 넘으면 1을 출력하고 그렇지 않으면 0을.. 2021. 7. 26.
[Visualization][Basic] Bar Chart(막대 그래프) Bar Chart는 범주별 빈도를 파악할 때 사용하는 기본적인 그래프이다. Python Seaborn 모듈의 내장 데이터인 tips 데이터 셋을 활용하여 요일별 (day) 총금액(total_bill)과 빈도를 파악해 보기로 한다. import seaborn as sns import matplotlib.pyplot as plt df_tips = sns.load_dataset('tips') df_tips df_tips.day.unique() Day 변수는 4 종류의 범주로 나뉘어 있다. 각 범주를 기준으로 막대그래프를 표현해 보자. 1. Seaborn 모듈을 이용한 Bar Chart seaborn 모듈을 활용하여 요일별(day) 팁의 총금액(total_bill)을 비교해 보자. import seaborn a.. 2021. 7. 15.
[Visualization][Basic] Violin Plot(바이올린 플롯) Violin Plot은 데이터의 분포를 파악하고 싶을 때 사용하면 유용하다. 그래프는 Python의 내장 데이터인 excerise 데이터를 이용하고, 운동의 종류(kind)에 따른 심박수(pulse)의 분포를 파악해 볼 것이다. df = sns.load_dataset('exercise') df Seaborn 모듈을 활용한 Violin Plot import seaborn as sns sns.violinplot(df.kind, df.pulse) sns.violinplot(df.kind, df.pulse, palette = 'cool') palette 파라미터를 이용해서 분포의 색상을 변경할 수 있다. sns.violinplot('kind', 'pulse', hue = 'diet', data = df, pal.. 2021. 7. 14.
[Visualization][Basic] Pie Chart(원 그래프) Pie Chart는 파이 모양의 그래프로 범주별 비율을 비교할 때 유용한 그래프이다. matplotlib.pyplot 모듈을 이용하여 그래프를 그릴 것이므로 모듈을 선언하고, plt로 별칭을 붙여준다. import matplotlib.pyplot as plt ratio = [25, 10, 8, 22, 35] name =['Blue', 'Orange', 'Green', 'Red', 'Purple'] plt.pie(ratio, labels = name) plt.show() 기본 값만 사용하여 그래프를 그려도 예쁘게 나오지만, Pie Chart은 최대 단점은 그래프와 같이 정확한 값을 비교하기가 어렵다는 것이다. 따라서, 몇 가지 조건을 넣어 그래프를 보기 쉽게 그려보자. import matplotlib.py.. 2021. 7. 14.
반응형