본문 바로가기
DACON

영화 관객수

by ornni 2024. 11. 6.
728x90
반응형

파일 정리

(데이터 파일)

- data

- preprocessing_data

- result_data

(코드 파일)

- preprocessing_code

- modeling_code

 

0. import library


1. load data

데이터 불러오기


2. data preprocessing

2-1. data check

 

- 데이터 상세 설명
2010년대 한국에서 개봉한 한국영화 600개에 대한 감독, 이름, 상영등급, 관객수 등의 정보가 담긴 데이터

- 각 변수 의미 확인

title : 영화의 제목
distributor : 배급사
genre : 장르
release_time : 개봉일
time : 상영시간(분)
screening_rat : 상영등급
director : 감독이름
dir_prev_bfnum : 해당 감독이 이 영화를 만들기 전 제작에 참여한 영화에서의 평균 관객수(단 관객수가 알려지지 않은 영화 제외)
dir_prev_num : 해당 감독이 이 영화를 만들기 전 제작에 참여한 영화의 개수(단 관객수가 알려지지 않은 영화 제외)
num_staff : 스텝수
num_actor : 주연배우수
box_off_num : 관객수


2-2. preprocessing data

 

- 데이터 시각화 후 확인

 

- 결측치 제거

dir_prev_bfnum의 경우 결측치가 너무 많으므로 제거

title의 경우 의미가 없으므로 제거

director 너무 다양하므로 제거

distributor 상위 5개 제외 나머지 '기타'로 구분

release_time: 'year', 'month'로 구분

 

- 데이터 정리 완료 후 확인 시각화

 

 

- 범주형/연속형 변수 구분

범주형 변수: 연속형 변수 제외 나머지 변수

연속형 변수: time, dir_prev_num, num_staff, num_actor, box_off_num, year, month

 

- 연속형 변수 간 상관관계 확인

 

- 범주형 변수 원핫 인코딩

 

~~ 여기까지 진행한 후 preprocessed_train, preprocessed_test로 저장~~

 

- 데이터 분할

train : test = 8 : 2로 분할


3. modeling

 

validation data에 대해 mae, rmse 결과를 구한 후 시각화 (predict : red, true :  blue)

test data에 진행하여 결과 시각화 (green)

 

- Linear Regression
    MAE : 782779.641114027
    RMSE : 1391751.0158901948


- SVM
    MAE : 649938.9463260785
    RMSE : 1768330.9951677313

예측을 하나도 하고 있지 못하는군...


- tree
    MAE : 723227.4666666667
    RMSE : 1574956.3350121225

 


- Random Forest
    MAE : 682986.7911666667
    RMSR : 1455025.3188581946


4. Result

 

logistic regression, SVM이 선형 분리 문제에서 특히 좋은 성능을 보인다.

특히 svm의 결과를 확인해보면 전혀 에측하고 있지 못하고 있는 것을 확인할 수 있다.

아마 해당 데이터의 경우 선형 분리에 적절한 형태를 갖고 있지 않은 것 같다.

 

하여 비선형 모델인 decision tree와 random forest를 적용해본 결과

확실히 이전보다 더 잘 예측하는 것을 확인할 수 있다.


링크

https://github.com/ornni/dacon/tree/main/Movie%20Audience%20Forecast

 

dacon/Movie Audience Forecast at main · ornni/dacon

repository for recording dacon codes. Contribute to ornni/dacon development by creating an account on GitHub.

github.com

 

 

반응형