728x90
반응형
1) 맞춤형 상품 추천
- 소비자 개개인의 데이터를 기반하여 추천 상품 목록을 제작 및 제공 가능
2) 추천 알고리즘
- 고객 데이터에 따른 인공지능형 추천 알고리즘
- 구매내역, 고객 프로파일, 소비패턴, 상품 선호도 등 데이터를 바탕으로 미래의 소비 예측
(선호도 데이터가 많을 수록 더 정밀한 예측이 가능)
3) 개인화된 마케팅 전략
- 고객 개개인의 특성을 분석하여 소비자들 각각에 최적화된 서비스를 제공
- 다양한 도구를 통해 고객 프로파일, 행동, 성향, 관심사 데이터 등을 수집하여 분석
넷플릭스 콘텐츠 기반의 추천 알고리즘은 콘텐츠와 콘텐츠 간의 유사성을 학습하여 특정 콘텐츠를 선택했을 때, 유사성이 높은 콘텐츠들을 추천하게 됩니다
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.metrics.pairwise import cosine_similarity
def preprocess():
netflix_overall=pd.read_csv("data/netflix_titles.csv")
filledna=netflix_overall.fillna('')
features=['title','director','cast','listed_in','description']
filledna=filledna[features]
for feature in features:
filledna[feature] = filledna[feature].apply(clean_data)
filledna['soup'] = filledna.apply(create_soup, axis=1)
count = CountVectorizer(stop_words='english')
count_matrix = count.fit_transform(filledna['soup'])
cosine_sim = cosine_similarity(count_matrix, count_matrix)
filledna=filledna.reset_index()
indices = pd.Series(filledna.index, index=filledna['title'])
return netflix_overall, cosine_sim, indices
def get_recommendations_new(title, netflix_overall, cosine_sim, indices):
pd.set_option('display.max_columns', None)
title=title.replace(' ','').lower()
try:
idx = indices[title]
sim_scores = list(enumerate(cosine_sim[idx]))
sim_scores = sorted(sim_scores, key=lambda x: x[1], reverse=True)
sim_scores = sim_scores[1:11]
movie_indices = [i[0] for i in sim_scores]
recomendation = netflix_overall[['title','country','release_year']].iloc[movie_indices]
sim_pd = pd.DataFrame(sim_scores)[[1]]
sim_pd = sim_pd.rename(columns={1:'Similiarity'})
recomendation = recomendation.reset_index(drop=True)
recomendation = pd.concat([recomendation, sim_pd], axis=1)
recomendation.index += 1
return print(recomendation)
except:
print("오류: 올바른 title 명을 적어주세요.")
728x90
반응형