본문 바로가기
코딩일기

[데이터 예측] KOBIS를 이용한 영화 관객수 예측

by 증즌주 2025. 1. 10.

 

 

2022.04 ~ 2022.06

 

 

 

프로젝트는 기계학습 수업을 통해 구현하게 되었다.

 

KOBIS(영화관입장권통합전산망)을 통해서 2004 ~ 2021년도 각 영화 장르의 자료를

영화 관객 수를 이용해서 월별로 분석하고 미래 관객수를 예측한다.

 

영화 장르는

액션/드라마/판타지/범죄/애니/코미디/스릴러/멜로/

모험/SF/뮤지컬/공포/다큐

 

조사를 하다보니 장르가 생각보다

많다는 것을 알게 되었다.

 

총 13개의 장르를

 근 20년간 조사하려다 보니

 

양이 너무 방대했다.

그래서 조원인 4명이서

범위를 적절히 나눠 연도별로 조사했던 것 같다.

 

그리고 나는

데이터 가공과 데이터 시각화를 담당하였다.

 

 

<데이터 가공>

1. KOBIS 연도별 데이터를 수집한다.

2. 각 연도 관객수 1 ~200위까지 순위에서 개봉월, 장르를 추가한다.

 

이 과정에서 처음엔

관객 수를 지표로 각 연도마다 13개의 장르를 월별로 정리했다.

 

하지만 예측과정에서 좋은 결과물이 도출되지 않아

이상함을 느끼고 각 장르마다 연도,월별로 정리하였다.

 

 

결국 연도마다 장르를 정리한 것이 아니라

장르마다 연도별로 정리한 것이다.

 

별게 아닐 수 있지만 생각보다 큰 차이가 있었다.

 

 

Matplotlib.pyplot 모듈을 이용해 데이터 시각화를 진행하였다.

 

 

 

그럼 다음과 같이

시각화되는 것을 볼 수 있다.

 

위 사진의 왼쪽은 액션 장르, 오른쪽은 드라마 장르이다.

 

 

우리 조는

 

다항 회귀와 릿지/라쏘를 공부했다.

 

 

 

 

 

다항 회귀란?

 

" 데이터를 표현함에 있어 선형이 아닌 곡선으로 나타나는 경우에 사용하는 회귀 "

 

- 다항회귀에서 항은 차수(degree)를 뜻하는데 말 그대로

차수가 많다는 것을 의미한다.

 

차수를 높였을 때의 장점은 

기존의 모델보다 더 적은 오차를 만들어낸다는 점이다.

 

 

미래의 관객 수를 예측하기 위해 사용한 데이터는

2004 ~ 2021 각 장르별 월별 관객 수로

 

즉, 현 관객 수는 미래의 관객 수를 예측하기 위한 특징이다.

 

이 특징을 변형시켜 다향으로 표현한 것이다.

 

 

 

그렇다면 다항 회귀를 표현하는 방법은 무엇일까?

 

1. 특징에 차수를 부여하여 여러 특징을 만들어내면 된다.

 

2. 차수가 1인 관객 수라는 단순한 특징을 제곱하여

또 다른 특징을 만들어낼 수 있게 되는 것이다.

 

3. 한 가지 특징보다 여러가지 특징을 알려줬을 때 더 쉽게 정확히 맞추게 된다.

 

 

 

 

 

 

다항 회귀를 표현할 때, 주의해야할 점은

 

너무 많은 차수를 사용한다면 오히려 과대적합(Overfitting)을 불러일으킬 수 있다는 것이다.

프로젝트를 하다보니 연도별로 장르를 정리했을 때 과대적합이 있었다. 

주의하자.

 

이를 위해, 사이킷런(sklearn)에서는

과대적합을 막으면서 차수를 자동으로 적절히 조절할 수 있는

 

릿지(Ridge)와 라쏘(Lasso)라는 

훌륭한 규제(regularization) 클래스를 제공한다.

 

 

 

 

 

 

라쏘를 사용하면 데이터가 손실되어

정확도가 떨어질 위험성이 있기도 하다.

 

릿지 회귀로 학습한 결과,

훈련 데이터 점수 : 0.4339

검증 데이터 점수 : 0.0625

 

 

 

 

 

 

 

 

다음과 같은 결과가 나왔다.

 

장르가 너무 많아서 일부는 생략하겠다.

 

 

 

 

아무튼 결과는

 

우리가 세운 가설을 확인해보는 것으로 마무리하겠다.

 

1. 영화의 흥행에는 장르가 영향을  미칠 것이다.

 

2. 월별 및 계절과 영화의 흥행에는 연관성이 있을 것이다.

 

-> 몇몇 영화 장르는 특정 월에 관객 수가 대폭 증가하는 것을 보였다.

(공포, 애니메이션, 코미디, 스릴러, 멜로/로맨스)

 

-> 일반적으로 6월, 12월경 전체적으로 관객 수가 증가하는 것이 보이며

학생들의 방학으로 인해 관객수가 증가하는 것으로 추측된다.

 

를 도출해낼 수 있었다.

 

공포, 스릴러 장르 : 5월 ~ 8월경 관객 수가 대폭 증가

 

 

멜로/로맨스 장르 : 10월 ~ 12월, 2월 ~ 3월 관객 수가 대폭 증가하는 것으로 확인

 

 

다음과 같은 결과들을 볼 수 있다.

 

이것 역시 너무 많은 장르가 있어 생략하겠다.

 

더 자세한 내용을 알고 싶으면

밑 자료를 들어가보자.

 

(* 참고로 PPT는 내가 만들었다.)

발표자료_5조.pptx
8.11MB