320x100
320x100
변수 중요도가 낮은 피쳐를 파악하고 나면 차례대로 하나씩 피쳐를 제거하면서 모델을 새로 훈련할 수 있다. 각 모델로 예측하여 성능을 비교한다.
우선 id 피쳐는 예측에 의미가 없는 피쳐이다. id 와 count 를 drop 한 X_train_1 훈련 df 을 새로 생성한다.
예측을 할 때 test 는 훈련 셋과 동일한 피쳐를 가져야 한다. 따라서 동일하게 피쳐를 drop 한 test_1 df 를 생성한다.
hour_bef_windspeed 와 hour_bef_pm2.5 피쳐에 관하여도 추가로 drop 을 수행하면서 위의 과정을 반복해한다.
그럼 총 3 쌍의 X_train 셋과 test 셋이 생성된다. 이에 따라 각 모델로 예측한 예측값들을 submission 에 저장한 후, 리더보드에 제출해 점수를 비교한다.
# X_train 에서 drop 할 피쳐의 경우의 수 대로 3개의 X_train 을 생성하세요.
X_train_1 = train.drop(['drop 할 피쳐'], axis=1)
# 각 train 에 따라 동일하게 피쳐를 drop 한 test 셋들을 생성하세요.
test_1 = test.drop(['drop 할 피쳐'], axis = 1)
# 각 X_train 에 대해 모델 훈련을 해주세요.
model_input_var1 = RandomForestRegressor(criterion = 'mse')
model_input_var1.fit(X_train_1, Y_train)
# 각 모델로 test 셋들을 예측해주세요.
y_pred_1 = model_input_var1.predict(test_1)
# 각 결과들을 submission 파일로 저장해주세요.
submission_1 = pd.read_csv('data/submission.csv')
submission_1['count'] = y_pred_1
submission_1.to_csv('sub_1.csv', index = False)
320x100
320x100
'빅데이터 관련 자료 > Dacon' 카테고리의 다른 글
Lv3 | EDA | read_csv(), info(), shape, head() (0) | 2021.08.10 |
---|---|
Lv2 | 튜닝 | 하이퍼파라미터, GridSearch 개념 (정지규칙) (0) | 2021.08.09 |
Lv2 | 튜닝 | 랜덤포레스트 변수중요도 확인 (feature_importances_) (0) | 2021.08.07 |
랜덤포레스트를 평가척도에 맞게 학습 (criterion='mse') (0) | 2021.08.06 |
랜덤포레스트 개념, 선언 (RandomForestRegressor()) (0) | 2021.08.05 |