본문 바로가기

Artificial Intelligence/Machine Learning

[Machine Learning] 영화 관객수 예측 모델 (2)

728x90

lightgbm를 사용하여 기본 모델에 대해서 알아보겠다. train, test 데이터는 영화 관객수 예측 모델 (1)의 데이터를 사용하겠다.

 

[Machine Learning] 영화 관객수 예측 모델 (1)

데이콘 - 영화 관객수 예측 모델 개발에서 사용하는 데이터를 가지고 모델을 만들었다. 데이터에 대한 자세한 설명은 다음의 링크를 확인하면 된다. 데이터 설명 [문화] 영화 관객수 예측 모델

hangjastar.tistory.com

우선 기본 모델을 만들어준다.

 

model = lgb.LGBMRegressor(random_state=1234, n_estimators=1000)

이때 random_state = 1234, n_n_estimators = 1000으로 설정하여 LGBMRegressor 모델을 만들어준다.

 

features = ['time', 'dir_prev_num', 'num_staff', 'num_actor']
target = ['box_off_num']
X_train, X_test, y_train = train[features], test[features], train[target]

 

독립변수(features)와 종속변수(target)를 나누어주고, X_train, X_test, y_train 값을 초기화해준다.

 

model.fit(X_train, y_train)

LGBMRegressor(n_estimators=1000, random_state=1234)

 

X_train과 y_train 데이터를 사용하여 모델을 학습시켜준다.

 

singleGBM = submission.copy()
singleGBM['box_off_num'] = model.predict(X_test)
singleGBM.to_csv('sigleGBM.csv', index=False)
print(singleGBM.tail(10))


               title   box_off_num
233    나의 아들, 나의 어머니 -1.324083e+05
234             슬픈남자  4.147244e+04
235              타이밍 -7.254319e+04
236               타투  5.620732e+05
237           어떤이의 꿈  1.012760e+05
238        해에게서 소년에게  5.007844e+05
239           울보 권투부  1.013858e+06
240             어떤살인  1.682068e+06
241        말하지 못한 비밀  3.002163e+05
242  조선안방 스캔들-칠거지악 2  1.139003e+04

 

학습된 데이터의 결괏값을 singleGBM.csv에 저장시켜주고, 안에 있는 결괏값을 확인해본다. 결괏값을 확인해보면 일부 결괏값이 음수로 나오는 것이 있다. 여기에서 알 수 있듯이 기본 모델은 정확도가 많이 떨어진다. 따라서 교차검증과 Grid Search를 사용하여 정확도를 올리는 것을 다음에 알아보겠다.

728x90