import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.preprocessing import LabelEncoder
from sklearn.metrics import confusion_matrix
from sklearn.metrics import accuracy_score, f1_score
from sklearn.metrics import recall_score
from sklearn.metrics import precision_score
from sklearn.metrics import roc_curve, roc_auc_score
from sklearn.naive_bayes import BernoulliNB, MultinomialNB
import pydotplus
from sklearn import tree
import matplotlib.image as pltimg
영화마케팅 문제를 나이즈베이즈로 분석
영화관객의 성향을 설문조사로 정리
관객의 속성으로 영화취향을 파악해 봄
P(B) = 20대, 여, IT, 미혼, 애인없음
P(A) = 장르에 따른 선택 확률
movies = pd.read_csv('../data/movie.csv', encoding='CP949')
movies.head()
나이
성별
직업
결혼여부
이성친구
장르
0
20대
여
디자이너
NO
YES
로맨틱
1
40대
남
홍보/마케팅
NO
NO
공포
2
10대
여
홍보/마케팅
NO
YES
로맨틱
3
20대
여
디자이너
YES
NO
로맨틱
4
10대
남
학생
NO
NO
액션
# 컬럼명 변경, 레이블인코딩 적용
cols = ['나이','성별','직업','결혼여부','이성친구','장르']
ncols = ['ages',' gender','job','married','lover','genre']
for c in cols:
movies[c] = pd.Categorical(movies[c])
movies[c] = movies[c].cat.codes
movies.columns = ncols # 컬럼명 변경
movies.head()