728x90
time, dir_prev_num, num_actor, dir_prev_bfnum을 feature값으로 사용하여 모델을 학습하였는데 이번에는 genre까지 feature에 추가하여 모델을 만들겠다.
from sklearn import preprocessing
le = preprocessing.LabelEncoder()
train['genre'] = le.fit_transform(train['genre'])
feature로 사용하기 위해서는 genre가 숫자로 표현되어야 한다. 따라서 preprocessing을 사용하여 각각의 genre들을 고유한 값으로 변환시 겨서 적용해준다.
print(train.tail(3))
title distributor genre release_time time screening_rat director \
597 살인의 강 (주)마운틴픽쳐스 1 2010-09-30 99 청소년 관람불가 김대현
598 악의 연대기 CJ 엔터테인먼트 2 2015-05-14 102 15세 관람가 백운학
599 베를린 CJ 엔터테인먼트 10 2013-01-30 120 15세 관람가 류승완
dir_prev_bfnum dir_prev_num num_staff num_actor box_off_num
597 0.0 0 123 4 2475
598 0.0 0 431 4 2192525
599 0.0 0 363 5 7166532
train 데이트프레임을 확인해보면 genre 값이 1, 1, 10 숫자로 변환된 거를 볼 수 있다.
features = ['time', 'dir_prev_num', 'num_actor', 'dir_prev_bfnum', 'genre']
이제 features에 genre를 추가해준다.
X_train, X_test, y_train = train[features], test[features], train[target]
X_train, X_test, y_train에 features값과 target값에 test와 train 데이터를 생성해준다.
model = lgb.LGBMRegressor(random_state=1234,n_estimators=1000)
models = []
for train_idx, val_idx in k_fold.split(X_train):
x_t = X_train.iloc[train_idx]
y_t = y_train.iloc[train_idx]
x_val = X_train.iloc[val_idx]
y_val = y_train.iloc[val_idx]
models.append(model.fit(x_t, y_t, eval_set=(x_val, y_val), early_stopping_rounds=100, verbose = 100))
이전 설정된 k_fold값에 따라 모델을 학습시켜준다.
preds = []
for model in models:
preds.append(model.predict(X_test))
각 모델의 예측값을 preds에 넣어준다.
featureLightGBM = submission.copy()
featureLightGBM에 submission 데이터를 복사해준다.
featureLightGBM['box_off_num'] = np.mean(preds, axis=0)
학습된 모델들의 예측값의 평균을 featureLightGBM에 저장해준다.
pd.options.display.float_format = '{:.1f}'.format
print(featureLightGBM.tail())
title box_off_num
238 해에게서 소년에게 172238.8
239 울보 권투부 209268.0
240 어떤살인 1286869.1
241 말하지 못한 비밀 359618.3
242 조선안방 스캔들-칠거지악 2 124363.3
판다스의 float_format을 설정하여 featureLightGBM의 값을 확인해본다.
pd.reset_option('display.float_format')
featureLightGBM.to_csv('featureLightGBM.csv', index=False)
float_format을 초기화해준 후 예측값을 저장해준다.
728x90
'Artificial Intelligence > Machine Learning' 카테고리의 다른 글
[Machine Learning] 가짜 뉴스 분류 모델 - 데이터 수집 및 확인 (0) | 2021.03.03 |
---|---|
[Machine Learning] 영화 관객수 예측 모델 (5) (0) | 2021.02.24 |
[Machine Learning] 영화 관객수 예측 모델 (3) (0) | 2021.02.19 |
[Machine Learning] 영화 관객수 예측 모델 (2) (0) | 2021.02.18 |
[Machine Learning] 영화 관객수 예측 모델 (1) (0) | 2021.02.17 |