Data 경로

  • data ㄴ train.csv ㄴ test.csv ㄴ sample_submission.csv
  • code
import os
import random

import pandas as pd
import numpy as np

import datetime

import matplotlib.pyplot as plt
import seaborn as sns

from xgboost import XGBRegressor
from lightgbm import LGBMRegressor
from catboost import CatBoostRegressor, Pool

from sklearn.preprocessing import StandardScaler, MinMaxScaler
from sklearn.cluster import KMeans
from sklearn.decomposition import PCA

from sklearn.model_selection import KFold, StratifiedKFold, GroupKFold
from sklearn.metrics import mean_absolute_error, mean_squared_error

import eli5 
from eli5.sklearn import PermutationImportance

                                               
import warnings

def set_seed(seed=0):
    random.seed(seed)
    os.environ['PYTHONHASHSEED'] = str(seed)
    np.random.seed(seed)

warnings.filterwarnings('ignore')
def target_process(data):
    st = data.copy()
    
    if num==1:
        st.loc[204, 'use_electric'] = np.nan
        st.loc[1033, 'use_electric'] = np.nan
        st = st.interpolate(limit_direction='both', method='linear').round(3)
        st = st[st['date']>='2020-06-05'].reset_index(drop=True)
    elif num==3:
        st.loc[[538, 945, 946, 947, 1055, 1523, 1524, 1525, 1526, 1535, 1634, 1635, 1636, 1637, 1639, 1640, 1641, 1642, 1643, 1718, 1761, 1762, 1790], 'use_electric'] = np.nan
        st = st.interpolate(limit_direction='both', method='linear').round(3)
        st.loc[(st['date']>='2020-07-15') & (st['date']<'2020-07-20'), 'use_electric'] = (st.loc[(st['date']>='2020-07-08') & (st['date']<'2020-07-13'), 'use_electric'].values*.7 +
                                                                                            st.loc[(st['date']>='2020-08-05') & (st['date']<'2020-08-10'), 'use_electric'].values*.3)
        st.loc[[1055], 'use_electric'] = np.nan
        st = st.interpolate(limit_direction='both', method='linear').round(3)
        st.loc[(st['date']>='2020-08-03') & (st['date']<'2020-08-05'), 'use_electric'] = (st.loc[(st['date']>='2020-07-13') & (st['date']<'2020-07-15'), 'use_electric'].values*.2 + 
                                                                                            st.loc[(st['date']>='2020-08-10') & (st['date']<'2020-08-12'), 'use_electric'].values*.8)

        st.loc[(st['date']>='2020-07-20') & (st['date']<'2020-07-27'), 'use_electric'] = (st.loc[(st['date']>='2020-07-13') & (st['date']<'2020-07-20'), 'use_electric'].values*.6 +
                                                                                            st.loc[(st['date']>='2020-08-03') & (st['date']<'2020-08-10'), 'use_electric'].values*.4)

        st.loc[(st['date']>='2020-07-27') & (st['date']<'2020-08-03'), 'use_electric'] = (st.loc[(st['date']>='2020-07-20') & (st['date']<'2020-07-27'), 'use_electric'].values*.2 + 
                                                                                            st.loc[(st['date']>='2020-08-03') & (st['date']<'2020-08-10'), 'use_electric'].values*.8)
    elif num==9:
        st.loc[[82, 1427], 'use_electric'] = np.nan
        st.loc[1087:1097, 'use_electric'] = st.loc[1087:1096, 'use_electric'] + 200
        st.loc[1210:1213, 'use_electric'] = st.loc[1210:1213, 'use_electric'] + 200
        st.loc[(st['date']>='2020-06-03 06') & (st['date']<'2020-06-03 17'), 'use_electric'] = np.nan
    elif num==10:
        st.loc[1462, 'use_electric'] = np.nan
        st.loc[1893:1894, 'use_electric'] = np.nan
        st = st.interpolate(limit_direction='both', method='linear').round(3)
        st.loc[(st['date']>'2020-07-27 08') & (st['date']<'2020-07-27 21'), 'use_electric'] = (st.loc[(st['date']>'2020-07-26 08') & (st['date']<'2020-07-26 21'), 'use_electric'].values*0.3 + 
                                                                                                st.loc[(st['date']>'2020-07-28 08') & (st['date']<'2020-07-28 21'), 'use_electric'].values*0.7)
        st.loc[(st['date']>'2020-08-10 08') & (st['date']<'2020-08-10 21'), 'use_electric'] = (st.loc[(st['date']>'2020-08-09 08') & (st['date']<'2020-08-09 21'), 'use_electric'].values*0.3 + 
                                                                                                st.loc[(st['date']>'2020-08-11 08') & (st['date']<'2020-08-11 21'), 'use_electric'].values*0.7)
    elif num==14:
        st.loc[494, 'use_electric'] = np.nan
    elif num==15:
        st.loc[1760, 'use_electric'] = np.nan
    elif num==16:
        st.loc[[634, 1883], 'use_electric'] = np.nan
    elif num==24:
        st = st.loc[72:].reset_index(drop=True)
    elif num==25:
        st.loc[993:995, 'use_electric'] = np.nan
        st.loc[(st['date']>='2020-07-27') & (st['date']<'2020-08-01'), 'use_electric'] = (st.loc[(st['date']>='2020-07-20') & (st['date']<'2020-07-25'), 'use_electric'].values*.4 +
                                                                                                                st.loc[(st['date']>='2020-08-03') & (st['date']<'2020-08-08'), 'use_electric'].values*.6)
    elif num==27:    
        st.loc[1644:1648, 'use_electric'] = np.nan
    elif (num==31) | (num==33):
        st.loc[257, 'use_electric'] = np.nan
    elif num==36:
        st.loc[438:439, 'use_electric'] = np.nan
        st.loc[1733:1736, 'use_electric'] = np.nan
    elif num==40:
        st.loc[(st['date']>='2020-08-03') & (st['date']<'2020-08-05'), 'use_electric'] = (st.loc[(st['date']>='2020-07-27') & (st['date']<'2020-07-29'), 'use_electric'].values*.4 +
                                                                                                                st.loc[(st['date']>='2020-08-10') & (st['date']<'2020-08-12'), 'use_electric'].values*.6)
    elif num==42:
        st.loc[(st['date']>='2020-07-13') & (st['date']<'2020-07-14'), 'use_electric'] = (st.loc[(st['date']>='2020-07-06') & (st['date']<'2020-07-07'), 'use_electric'].values*.4 +
                                                                                                                st.loc[(st['date']>='2020-07-20') & (st['date']<'2020-07-21'), 'use_electric'].values*.6)
        st.loc[(st['date']>='2020-08-10') & (st['date']<'2020-08-11'), 'use_electric'] = (st.loc[(st['date']>='2020-08-03') & (st['date']<'2020-08-04'), 'use_electric'].values*.4 +
                                                                                                                st.loc[(st['date']>='2020-08-17') & (st['date']<'2020-08-18'), 'use_electric'].values*.6)
    elif num==45:
        st.loc[817, 'use_electric'] = np.nan
        st['use_electric'] = st['use_electric'].interpolate(limit_direction='both', method='linear').round(3)
        st.loc[(st['date']>='2020-08-15') & (st['date']<'2020-08-16'), 'use_electric'] = (st.loc[(st['date']>='2020-08-08') & (st['date']<'2020-08-09'), 'use_electric'].values*0.4 +
                                                                                                            st.loc[(st['date']>='2020-08-22') & (st['date']<'2020-08-23'), 'use_electric'].values*0.6)
    elif num==52:
        st.loc[258, 'use_electric'] = np.nan
    elif num==53:
        st = st.loc[187:].reset_index(drop=True)
    elif num==55:
        st.loc[1643, 'use_electric'] = np.nan
        st.loc[1648:1649, 'use_electric'] = np.nan
        st = st.interpolate(limit_direction='both', method='linear').round(3)
        st.loc[(st['date']>'2020-8-3 00') & (st['date']<='2020-8-7 23'), 'use_electric'] = st.loc[(st['date']>'2020-7-27 00') & (st['date']<='2020-7-31 23'), 'use_electric'].values*.3 + st.loc[(st['date']>'2020-8-10 00') & (st['date']<='2020-8-14 23'), 'use_electric'].values*.7
    elif num==56:
        st.loc[(st['date']>'2020-8-3 00') & (st['date']<='2020-8-7 23'), 'use_electric'] = st.loc[(st['date']>'2020-7-27 00') & (st['date']<='2020-7-31 23'), 'use_electric'].values*.3 + st.loc[(st['date']>'2020-8-10 00') & (st['date']<='2020-8-14 23'), 'use_electric'].values*.7
    elif num==59:
        st.loc[[1816, 1819, 1833, 1834], 'use_electric'] = np.nan
    elif num==60:
        st.loc[384:387, 'use_electric'] = np.nan
        st.loc[605:606, 'use_electric'] = np.nan
        st.loc[720:721, 'use_electric'] = np.nan
        st.loc[792, 'use_electric'] = np.nan
    st['use_electric'] = st['use_electric'].interpolate(limit_direction='both', method='linear').round(3)
        
    if num in [2,3,6,7,8,9,13,16,17,18,22,23,24,25,26,27,31,33,34,35,37,43,44,46,47,48,52,53,54,55,56,57,58]:
        st.loc[(st['date']>='2020-08-17 00') & (st['date']<'2020-08-18 00'), 'use_electric'] = (st.loc[(st['date']>='2020-08-10 00') & (st['date']<'2020-08-11 00'), 'use_electric'].values*.5 + st.loc[(st['date']>='2020-08-24 00') & (st['date']<'2020-08-25 00'), 'use_electric'].values*.5).round(3)
    
    return st
def mae(preds, target):
    return mean_absolute_error(target, preds)
def mse(preds, target):
    return mean_squared_error(target, preds)
def smape(preds, target):
    '''
    Function to calculate SMAPE
    '''
    n = len(preds)
    masked_arr = ~((preds==0)&(target==0))
    preds, target = preds[masked_arr], target[masked_arr]
    num = np.abs(preds-target)
    denom = np.abs(preds)+np.abs(target)
    smape_val = (200*np.sum(num/denom))/n
    return smape_val

def lgbm_smape(preds, train_data):
    '''
    Custom Evaluation Function for LGBM
    '''
    # labels = train_data.get_label()
    labels = train_data
    smape_val = smape(preds, labels)
    return 'SMAPE', smape_val, False

def lgbm_smape_exp(preds, train_data):
    '''
    Custom Evaluation Function for LGBM
    '''
    # labels = train_data.get_label()
    labels = train_data
    smape_val = smape(np.expm1(preds), np.expm1(labels))
    return 'SMAPE', smape_val, False

# function for feature engineering
def CDH(xs):
    ys = []
    for i in range(len(xs)):
        if i < 11:
            ys.append(np.sum(xs[:(i+1)]-26))
        else:
            ys.append(np.sum(xs[(i-11):(i+1)]-26))
    return ys

def lgb_models(df_train, df_test, drop_col, target, category_features=[], learn='lasso', v=5000, permu=False, exp=True, gpu=False):
    train = df_train.copy()
    test = df_test.copy()
    TARGET = target
    FOLDS = train['fold_num'].nunique()
    RANDOM_STATE = 0

    oof = np.zeros([len(train)])
    pred = np.zeros([len(test)])

    features = [col for col in test.columns if col not in drop_col]
    feature_importances = np.zeros(len(features))
    print('use_feature : ', features)
    for idx in np.unique(train['fold_num']):
        trn_idx = train[train['fold_num']!=idx].index
        val_idx = train[train['fold_num']==idx].index
        
        X_train = train[features]
        X_test = test[features]
        y_train = train[TARGET].values
        tt = (X_train.loc[trn_idx], y_train[trn_idx])
        vv = (X_train.loc[val_idx], y_train[val_idx])

        if learn=='lgb':
            reg = LGBMRegressor(
                                boosting_type='gbdt', #['gbdt', 'dart', 'goss']
                                objective='regression', 
                                # metrics='mse', 
                                n_estimators=20000,
                                max_depth=8,
                                learning_rate=0.03,
                                colsample_bytree=0.9,
                                subsample=0.7,
                                num_leaves=256,
                                reg_alpha=0.01,
                                reg_lambda=0.01,
                                n_jobs=-1,
                                random_state=RANDOM_STATE,
                                )
            if exp:
                reg.fit(tt[0], tt[1], eval_set=[tt, vv], eval_metric=lgbm_smape_exp, early_stopping_rounds=500, verbose=v, categorical_feature=category_features, )
            else:
                reg.fit(tt[0], tt[1], eval_set=[tt, vv], eval_metric=lgbm_smape, early_stopping_rounds=500, verbose=v, categorical_feature=category_features, )
                
            feature_importances += reg.feature_importances_ / FOLDS
        elif learn=='xgb':
            reg = XGBRegressor(
                                objective='reg:squarederror', 
                                # metrics='mse', 
                                n_estimators=20000,
                                max_depth=8,
                                learning_rate=0.03,
                                colsample_bytree=0.9,
                                subsample=0.7,
                                reg_alpha=0.01,
                                reg_lambda=0.01,
                                n_jobs=-1,
                                random_state=RANDOM_STATE,
                                )
            reg.fit(tt[0], tt[1], eval_set=[tt, vv], early_stopping_rounds=500, verbose=v)

        oof[val_idx] = reg.predict(X_train.loc[val_idx])
        pred += reg.predict(X_test) / FOLDS

        if v>0: print(idx+1, 'fold complete ################################\n')
    
    if exp:
        print('mae : ', mae(np.expm1(oof), np.expm1(train[TARGET])), 'mse : ', mse(np.expm1(oof), np.expm1(train[TARGET])), 'smape :', smape(np.expm1(oof), np.expm1(train[TARGET])))
    else:
        print('mae : ', mae(oof, train[TARGET]), 'mse : ', mse(oof, train[TARGET]), 'smape :', smape(oof, train[TARGET]))
    feature_importances = pd.DataFrame({'feature':features, 'value':feature_importances}).sort_values('value', ascending=False).reset_index(drop=True)
    return oof, pred, feature_importances
df_train = pd.read_csv('data/train.csv', engine='python', encoding='cp949')
df_test = pd.read_csv('data/test.csv', engine='python', encoding='cp949')
sub = pd.read_csv('data/sample_submission.csv', engine='python', encoding='cp949')

# ['num', 'date_time', '전력사용량(kWh)', '기온(°C)', '풍속(m/s)', '습도(%)', '강수량(mm)', '일조(hr)', '비전기냉방설비운영', '태양광보유']
df_train.columns = ['num', 'date', 'use_electric', 'temperature', 'wind_speed', 'humidity', 'precipitation', 'sunshine', 'operation', 'solar_power']
df_test.columns = ['num', 'date', 'temperature', 'wind_speed', 'humidity', 'precipitation', 'sunshine', 'operation', 'solar_power']
train = df_train.copy()
test = df_test.copy()

# 건물별로 '비전기냉방설비운영'과 '태양광보유'를 판단해 test set의 결측치를 보간해줍니다
test_fill = test.copy()
sp_dict = train[['num', 'solar_power']].drop_duplicates().set_index('num').to_dict()['solar_power']
test['solar_power'] = test['num'].map(sp_dict)

op_dict = train[['num', 'operation']].drop_duplicates().set_index('num').to_dict()['operation']
test['operation'] = test['num'].map(sp_dict)

for num in range(1, 61):
    for col in ['temperature', 'wind_speed', 'humidity', 'precipitation', 'sunshine']:
        test.loc[test['num']==num, col] = test.loc[test['num']==num, col].interpolate().round(1)
        
for df in [train, test]:
    df['date'] = pd.to_datetime(df['date'])
    df['date2'] = df['date'].dt.date.astype(str)
    df['month'] = df['date'].dt.month - 6
    df['week'] = (df['date'].dt.isocalendar()['week'] - 23).astype(int)
    df['day'] = df['month']*df['month'].map({0:30, 1:31, 2:31}) + df['date'].dt.day
    df['hour'] = df['date'].dt.hour
    df['weekday'] = df['date'].dt.weekday
    df['weekend'] = (df['weekday']>=5).astype(int)
    df['weekend2'] = df['weekday'].map({0:0, 1:0, 2:0, 3:0, 4:0, 5:1, 6:2})
    df['holiday'] = df['date2'].isin(['2020-06-06', '2020-08-15', '2020-08-17']).astype(int)
    df['weekend_holiday'] = ((df['weekend'] + df['holiday'])>0).astype(int)
#     df.loc[df['holiday']==1, 'weekend2'] = 2
    
    ############## 화씨온도
    df['temperature_F'] = (df['temperature'] * 9/5) + 32 

    ############## 체감온도, https://www.weather.go.kr/plus/life/li_asset/HELP/basic/help_01_07.jsp
    df['temperature2'] = 13.12 + 0.6215*df['temperature'] - 11.37*(df['wind_speed']*3.6)**0.16 + 0.3965*(df['wind_speed']*3.6)**0.16*df['temperature']
#     df['diff_temp'] = df['temperature2'] - df['temperature']

    ############## 열지수, https://www.weather.go.kr/weather/lifenindustry/li_asset/HELP/basic/help_01_04.jsp
    T = df['temperature_F']
    RH = df['humidity']
    df['heat_index'] = -42.379 + 2.04901523*T + 10.14333127*RH - .22475541*T*RH - .00683783*T*T - .05481717*RH*RH + .00122874*T*T*RH + .00085282*T*RH*RH - .00000199*T*T*RH*RH
    df['heat_index'] = (df['heat_index']-32) * 5/9
    df.loc[df['heat_index']<32, 'heat_index'] = 0
    df.loc[(df['heat_index']>=32) & (df['heat_index']<41), 'heat_index'] = 1
    df.loc[(df['heat_index']>=41) & (df['heat_index']<54), 'heat_index'] = 2
    df.loc[(df['heat_index']>=54) & (df['heat_index']<66), 'heat_index'] = 3
    df.loc[df['heat_index']>=66, 'heat_index'] = 4
    
    ############## working hour
    df['work_hour'] = ((df['hour']>=8) & (df['hour']<=19)).astype(int)
    df['lunch_hour'] = ((df['hour']>=11) & (df['hour']<=13) & (df['weekday']<=4)).astype(int)
    df['lunch_hour2'] = ((df['hour']>=12) & (df['hour']<=14) & (df['weekday']>4)).astype(int)
    
    df['dinner_hour'] = ((df['hour']>=17) & (df['hour']<=22)).astype(int)
    df['dinner_hour2'] = ((df['hour']>=18) & (df['weekday']>=4) & (df['weekday']<=5)).astype(int)
    
#     df['religion'] = ((df['hour']>=9) & (df['weekday']<13) & (df['weekday']==6)).astype(int)

    ############## 불쾌지수
    df['THI'] = 9/5*df['temperature'] - 0.55*(1-df['humidity']/100)*(9/5*df['temperature']-26)+32
    df.loc[df['THI']<68, 'THI'] = 0
    df.loc[(df['THI']>=68) & (df['THI']<75), 'THI'] = 1
    df.loc[(df['THI']>=75) & (df['THI']<80), 'THI'] = 2
    df.loc[(df['THI']>=80), 'THI'] = 3
    
    ############## CDH
    cdhs = []
    for num in range(1, 61):
        temp = df[df['num'] == num]
        cdh = CDH(temp['temperature'].values)
        cdhs += cdh
    else:
        df['CDH'] = cdhs

test['sunshine'] = np.where(test['sunshine']>1.0, 1.0, test['sunshine'])
df = pd.DataFrame()
for num in range(1, 61):
    st = train[train['num']==num].reset_index(drop=True)
    st = target_process(st)
    df = pd.concat([df, st])
train = df.reset_index(drop=True)
# subset models
oof_lgb = {}
pred_lgb = {}
fea_imp_lgb = {}
oof_xgb = {}
pred_xgb = {}
fea_imp_xgb = {}

for num in range(1, 61):
    st = train[train['num']==num].reset_index(drop=True)
    sub_test = test[test['num']==num].reset_index(drop=True)
    drop_cols = ['use_electric', 'num', 'date', 'date2', 'wind_speed', 'precipitation', 'sunshine', 'operation', 'solar_power', 'week', 'weekend', 'weekend_holiday', 'temperature_F', 'temperature2', 'holiday', 'fold_num', 'cluster', 'oof']

    new_col = 'mean_use_electric' 
    st[new_col] = st['weekend'].astype(str) + '_' + st['hour'].astype(str)
    sub_test[new_col] = sub_test['weekend'].astype(str) + '_' + sub_test['hour'].astype(str)
    sub_test[new_col] = sub_test[new_col].map(st.groupby(new_col)['use_electric'].mean())
    st[new_col] = st[new_col].map(st.groupby(new_col)['use_electric'].mean())

    st['use_electric'] = np.log1p(st['use_electric'])
    st['fold_num'] = (st['day']//7)

    print('######################################################################## Learning', num)
    oof_lgb[num], pred_lgb[num], fea_imp_lgb[num] = lgb_models(st, sub_test, drop_col=drop_cols, 
                                                               target='use_electric', 
                                                               category_features=['month', 'THI', 'weekend2'],
                                                               learn='lgb', v=0, permu=False, gpu=False)
    
    oof_xgb[num], pred_xgb[num], fea_imp_xgb[num] = lgb_models(st, sub_test, drop_col=drop_cols, 
                                                               target='use_electric', 
                                                               learn='xgb', v=0, permu=False, gpu=False)
    
    print('\n')

# copy
oof_lgb678 = oof_lgb.copy()
oof_xgb678 = oof_xgb.copy()
pred_lgb678 = pred_lgb.copy()
pred_xgb678 = pred_xgb.copy()

for num in range(1, 61):
    st = train[train['num']==num].reset_index(drop=True)
    sub_test = test[test['num']==num].reset_index(drop=True)
    drop_cols = ['use_electric', 'num', 'date', 'date2', 'wind_speed', 'precipitation', 'sunshine', 'operation', 'solar_power', 'week', 'weekend', 'weekend_holiday', 'temperature_F', 'temperature2', 'holiday', 'fold_num', 'cluster', 'oof']

    new_col = 'mean_use_electric' 
    st[new_col] = st['weekend'].astype(str) + '_' + st['hour'].astype(str)
    sub_test[new_col] = sub_test['weekend'].astype(str) + '_' + sub_test['hour'].astype(str)
    sub_test[new_col] = sub_test[new_col].map(st.groupby(new_col)['use_electric'].mean())
    st[new_col] = st[new_col].map(st.groupby(new_col)['use_electric'].mean())
    
    st = st[st['date']>='2020-07-01'].reset_index(drop=True)
    sub_test['day'] = sub_test['day'] - st['day'].min()
    st['day'] = st['day'] - st['day'].min()  

    st['use_electric'] = np.log1p(st['use_electric'])
    st['fold_num'] = (st['day']//7)

    print('######################################################################## Learning', num)
    oof_lgb[num], pred_lgb[num], fea_imp_lgb[num] = lgb_models(st, sub_test, drop_col=drop_cols, 
                                                               target='use_electric', 
                                                               category_features=['month', 'THI', 'weekend2'],
                                                               learn='lgb', v=0, permu=False, gpu=False)
    
    oof_xgb[num], pred_xgb[num], fea_imp_xgb[num] = lgb_models(st, sub_test, drop_col=drop_cols, 
                                                               target='use_electric', 
                                                               learn='xgb', v=0, permu=False, gpu=False)
    
    print('\n')
    
oof_lgb78 = oof_lgb.copy()
oof_xgb78 = oof_xgb.copy()
pred_lgb78 = pred_lgb.copy()
pred_xgb78 = pred_xgb.copy()

for num in range(1, 61):
    st = train[train['num']==num].reset_index(drop=True)
    sub_test = test[test['num']==num].reset_index(drop=True)
    drop_cols = ['month', 'use_electric', 'num', 'date', 'date2', 'wind_speed', 'precipitation', 'sunshine', 'operation', 'solar_power', 'week', 'weekend', 'weekend_holiday', 'temperature_F', 'temperature2', 'holiday', 'fold_num', 'cluster', 'oof']

    new_col = 'mean_use_electric' 
    st[new_col] = st['weekend'].astype(str) + '_' + st['hour'].astype(str)
    sub_test[new_col] = sub_test['weekend'].astype(str) + '_' + sub_test['hour'].astype(str)
    sub_test[new_col] = sub_test[new_col].map(st.groupby(new_col)['use_electric'].mean())
    st[new_col] = st[new_col].map(st.groupby(new_col)['use_electric'].mean())
    
    st = st[st['date']>='2020-08-01'].reset_index(drop=True)
    sub_test['day'] = sub_test['day'] - st['day'].min()
    st['day'] = st['day'] - st['day'].min()

    st['use_electric'] = np.log1p(st['use_electric'])
    st['fold_num'] = (st['day']//7)

    print('######################################################################## Learning', num)
    oof_lgb[num], pred_lgb[num], fea_imp_lgb[num] = lgb_models(st, sub_test, drop_col=drop_cols, 
                                                               target='use_electric', 
                                                               category_features=['THI', 'weekend2'],
                                                               learn='lgb', v=0, permu=False, gpu=False)
    
    oof_xgb[num], pred_xgb[num], fea_imp_xgb[num] = lgb_models(st, sub_test, drop_col=drop_cols, 
                                                               target='use_electric', 
                                                               learn='xgb', v=0, permu=False, gpu=False)
    
oof_lgb8 = oof_lgb.copy()
oof_xgb8 = oof_xgb.copy()
pred_lgb8 = pred_lgb.copy()
pred_xgb8 = pred_xgb.copy()
######################################################################## Learning 1
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  27.758758582918478 mse :  1275.7810312568377 smape : 0.3239558135978497
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  25.223555728191826 mse :  1065.6655033222635 smape : 0.29438161421047


######################################################################## Learning 2
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  32.21743340563177 mse :  1841.5639870932312 smape : 2.46227102575803
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  31.44542532910616 mse :  1871.6969736775075 smape : 2.364519039859847


######################################################################## Learning 3
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  23.191276667228664 mse :  954.3170589826666 smape : 0.6897201220335095
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  20.430635629849327 mse :  746.9193311585926 smape : 0.6074459413508181


######################################################################## Learning 4
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  135.97847621684463 mse :  49953.4970867378 smape : 16.50960231635091
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  144.27986978259463 mse :  56896.38362051774 smape : 17.058342038428307


######################################################################## Learning 5
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  191.67648055865158 mse :  62060.293065220285 smape : 7.188155415471911
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  196.85323380225466 mse :  62887.405800143446 smape : 7.377206677042434


######################################################################## Learning 6
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  50.790253407302224 mse :  6790.539953949066 smape : 3.804413409412258
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  43.7006709217541 mse :  4750.725439150323 smape : 3.3909227418015084


######################################################################## Learning 7
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  65.63789096897912 mse :  12430.39195257219 smape : 4.89024564878528
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  61.81996798878729 mse :  11871.515557703142 smape : 4.624076799737523


######################################################################## Learning 8
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  417.71689523526015 mse :  375531.54060114396 smape : 4.791285113815764
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  354.9655831226836 mse :  246836.2085376599 smape : 4.208725412298762


######################################################################## Learning 9
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  28.337134059280736 mse :  1542.4890250545961 smape : 2.2699327719225018
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  27.762382223869686 mse :  1406.640921201423 smape : 2.222647179379634


######################################################################## Learning 10
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  49.8811297929254 mse :  6229.601481434166 smape : 4.188885592617021
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  51.61536490772115 mse :  6751.666419678336 smape : 4.25419351014241


######################################################################## Learning 11
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  99.26175647365216 mse :  22426.63810722619 smape : 4.918891390197549
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  98.27180559745446 mse :  21884.08540575408 smape : 4.854605956136521


######################################################################## Learning 12
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  69.021387467559 mse :  11554.31965232954 smape : 4.489415462195924
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  64.83075063555783 mse :  10097.032636807535 smape : 4.228873931388761


######################################################################## Learning 13
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  40.54793412966813 mse :  3361.4902981201903 smape : 3.7328446850105172
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  36.8800728746978 mse :  2423.8690779236867 smape : 3.4409009043956607


######################################################################## Learning 14
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  80.20342960296725 mse :  13140.249433346951 smape : 4.927466789515945
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  82.66904702490307 mse :  12903.688924434657 smape : 5.113465777291336


######################################################################## Learning 15
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  178.7146121871752 mse :  55818.220619674845 smape : 8.317687617158649
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  179.7865374255538 mse :  57679.41562460363 smape : 8.36934479385039


######################################################################## Learning 16
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  17.358456947582237 mse :  600.2504207524591 smape : 1.0184915611122731
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  16.795821493796534 mse :  569.0756172600986 smape : 0.986971157727453


######################################################################## Learning 17
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  34.49986950501893 mse :  3170.673519614759 smape : 3.5012991284745887
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  32.87484074716644 mse :  2618.1329859420507 smape : 3.341795292786635


######################################################################## Learning 18
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  116.3186260038334 mse :  34643.06539717926 smape : 7.157815210964204
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  117.55898733490147 mse :  34275.74524405194 smape : 7.2125929254178995


######################################################################## Learning 19
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  36.731953126961535 mse :  3730.851019004745 smape : 4.0021213015017265
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  36.17796337263082 mse :  3944.192471253363 smape : 3.9110930822234216


######################################################################## Learning 20
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  57.08159938078389 mse :  6092.184094575959 smape : 3.7022929238790074
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  54.53271388615787 mse :  5892.996593312649 smape : 3.5126465823093387


######################################################################## Learning 21
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  60.64000373721962 mse :  6709.962644695494 smape : 3.501639176389549
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  53.227973912133905 mse :  5415.812720905674 smape : 3.057206730353805


######################################################################## Learning 22
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  39.34646997182419 mse :  3340.843916084004 smape : 3.187919499264536
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  32.20267773843841 mse :  1910.6055091198766 smape : 2.617382233322338


######################################################################## Learning 23
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  94.53231519439952 mse :  32432.608698989552 smape : 4.562931323451882
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  87.48553306891863 mse :  30318.76550992325 smape : 4.145770353162323


######################################################################## Learning 24
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  92.66749878139522 mse :  14126.228384692751 smape : 2.936396388069055
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  85.11401597521426 mse :  11583.477881572142 smape : 2.7152504620767868


######################################################################## Learning 25
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  76.03811102160982 mse :  14235.821073697723 smape : 4.840703316482687
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  61.80089043216506 mse :  9285.655436123576 smape : 3.953268990112315


######################################################################## Learning 26
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  116.70736031517869 mse :  34832.77117094817 smape : 3.6550939335119623
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  107.39838739414606 mse :  23426.37983076681 smape : 3.4432527518570026


######################################################################## Learning 27
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  57.761170519754124 mse :  8242.441869834278 smape : 8.600183523773815
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  52.4383211691203 mse :  5959.749461371733 smape : 8.153939584968926


######################################################################## Learning 28
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  88.35261631370398 mse :  13080.12948330164 smape : 4.0932294517476935
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  83.01457637157945 mse :  11612.714907242123 smape : 3.8352691106393886


######################################################################## Learning 29
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  62.004095875753684 mse :  7365.7325150933275 smape : 7.801983680512217
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  62.0062698405382 mse :  7411.575462110795 smape : 7.845497786989705


######################################################################## Learning 30
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  343.8864828951968 mse :  212852.39572026976 smape : 6.157001817628876
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  349.68469219433894 mse :  216739.81476245655 smape : 6.186657171355177


######################################################################## Learning 31
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  39.85606954623621 mse :  2873.574484471757 smape : 0.664220804303795
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  37.34052223975695 mse :  2461.5872968400454 smape : 0.6222792161194279


######################################################################## Learning 32
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  10.436490295638773 mse :  179.20536459771043 smape : 0.4334180725001789
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  10.703054453250832 mse :  196.00851267227947 smape : 0.4440410032864827


######################################################################## Learning 33
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  17.515660615825816 mse :  606.9539275830444 smape : 0.6743673523026593
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  17.521507638215237 mse :  663.2105795648501 smape : 0.6743826983310474


######################################################################## Learning 34
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  76.28614988924384 mse :  20721.983632373955 smape : 7.263880071781357
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  76.88046947547456 mse :  22178.92773005523 smape : 7.363907542977182


######################################################################## Learning 35
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  71.15934320897053 mse :  17028.284116784725 smape : 4.604725451870392
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  65.94932198696624 mse :  14823.673189697965 smape : 4.458467631927756


######################################################################## Learning 36
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  37.30502177931406 mse :  3199.037907411603 smape : 3.3933044566891604
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  35.99031828850357 mse :  3066.6005998561677 smape : 3.293534911236639


######################################################################## Learning 37
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  67.32543001592639 mse :  11578.414361516194 smape : 3.154854757679563
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  64.49951018558244 mse :  9634.70344854243 smape : 3.0571958212707577


######################################################################## Learning 38
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  247.243902432744 mse :  154117.44006746798 smape : 3.0999219252246664
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  244.1985900106757 mse :  149981.28547668867 smape : 3.041350425385599


######################################################################## Learning 39
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  96.53186987273446 mse :  18577.71183187776 smape : 5.043141149590024
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  94.25771870638889 mse :  17629.289372158524 smape : 4.914711083489642


######################################################################## Learning 40
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  148.65320879361556 mse :  42330.992454785446 smape : 7.754495676070168
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  158.59720014021178 mse :  46568.264144690445 smape : 8.13851354355733


######################################################################## Learning 41
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  80.06352737713291 mse :  16020.550084312377 smape : 7.011847499848221
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  87.62521622322298 mse :  18308.404667275354 smape : 7.282862664838649


######################################################################## Learning 42
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  350.9673649255262 mse :  219639.60451237307 smape : 11.350811110077284
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  363.4568133268797 mse :  234420.7975215674 smape : 11.843159392567449


######################################################################## Learning 43
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  99.23619075448563 mse :  18309.976971530163 smape : 5.489853350832323
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  93.0317878038757 mse :  15947.282473589765 smape : 5.140981291940584


######################################################################## Learning 44
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  55.20786682192938 mse :  5223.08048344662 smape : 2.256755675265271
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  52.528877735848376 mse :  4503.584705291344 smape : 2.1258510756659557


######################################################################## Learning 45
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  77.65037639804059 mse :  12707.804930270835 smape : 5.740899488168447
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  75.3139409211369 mse :  11405.259108646109 smape : 5.624653673157254


######################################################################## Learning 46
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  76.08559462938251 mse :  12926.359568442676 smape : 4.643872864454798
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  76.87082642145967 mse :  13788.034050278406 smape : 4.745058565555077


######################################################################## Learning 47
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  49.69451782587234 mse :  5040.20928872703 smape : 2.415854846339814
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  48.155492734670815 mse :  4738.914012664538 smape : 2.313602812900035


######################################################################## Learning 48
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  92.60449209764707 mse :  28444.98178633237 smape : 7.700066666297394
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  74.34740828866269 mse :  18021.984702651425 smape : 6.646864995057994


######################################################################## Learning 49
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  46.16146205640609 mse :  4892.642002090127 smape : 3.6657337723137293
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  45.50667693257627 mse :  5175.662817929216 smape : 3.5992177731017865


######################################################################## Learning 50
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  45.769074424773905 mse :  4935.525279319315 smape : 3.9995690974927935
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  43.45589211674083 mse :  4722.619965306579 smape : 3.767062424209382


######################################################################## Learning 51
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  54.30298572821904 mse :  6078.02026052466 smape : 3.0037724482967088
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  50.76332588041434 mse :  5590.676272978079 smape : 2.767314798787628


######################################################################## Learning 52
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  108.76789713603844 mse :  35124.34656424485 smape : 2.844303268707186
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  98.2564438567524 mse :  27838.50492453065 smape : 2.56402720513341


######################################################################## Learning 53
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  40.00463791831336 mse :  3521.583698146723 smape : 2.640998156918343
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  37.550543161762675 mse :  2894.368790679891 smape : 2.5136705995403363


######################################################################## Learning 54
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  235.09420988554325 mse :  136810.70057372167 smape : 3.4254614283436946
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  225.47753910128318 mse :  109215.22252416112 smape : 3.362692772506461


######################################################################## Learning 55
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  88.36421111051037 mse :  20765.142831744066 smape : 3.969211329733133
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  77.29586678873399 mse :  13902.72538410536 smape : 3.662710622378537


######################################################################## Learning 56
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  37.69554249107182 mse :  3280.9864258339044 smape : 5.0774038846973575
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  33.31043694963921 mse :  2446.832874787706 smape : 4.473344421637619


######################################################################## Learning 57
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  158.27082495680756 mse :  54035.22816489576 smape : 6.22185734634146
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  146.1008349402993 mse :  45868.08952463959 smape : 5.769685308794009


######################################################################## Learning 58
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  34.449617776215945 mse :  2200.619454508996 smape : 3.7577297808914376
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  31.638086926818097 mse :  1860.9051166377483 smape : 3.486634062977296


######################################################################## Learning 59
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  127.12862420920096 mse :  24786.38191028156 smape : 12.192447835311258
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  126.38095555388306 mse :  25040.570243488597 smape : 12.121144690168258


######################################################################## Learning 60
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  126.04440733799704 mse :  27771.516780976934 smape : 3.7565986878897304
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  115.96132118121879 mse :  24586.279000580238 smape : 3.4610722186922924


######################################################################## Learning 1
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  31.376378509834687 mse :  1695.6253955428517 smape : 0.3659338323248017
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  29.122941355222355 mse :  1384.2384119292874 smape : 0.3398371634884977


######################################################################## Learning 2
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  31.914507918906175 mse :  1825.821213263303 smape : 2.380420653263104
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  30.976157886246238 mse :  1731.1464228238112 smape : 2.3082094869418506


######################################################################## Learning 3
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  25.24211257447734 mse :  994.147809389084 smape : 0.744172292620783
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  22.862590719682704 mse :  809.6417164113581 smape : 0.6725345152005633


######################################################################## Learning 4
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  162.92722804447826 mse :  71892.41978816791 smape : 18.293206392268438
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  165.3827243514042 mse :  77208.33842508633 smape : 17.827052361682558


######################################################################## Learning 5
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  212.49142799993274 mse :  74991.79459794606 smape : 7.832670141472675
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  202.4139494572084 mse :  65553.12484029794 smape : 7.494930679839993


######################################################################## Learning 6
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  40.113251359791676 mse :  3724.5571280729005 smape : 3.1763603273906127
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  39.1142470770002 mse :  3550.204067017508 smape : 3.123240614091286


######################################################################## Learning 7
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  66.68971658102004 mse :  13608.951614137175 smape : 4.995897631568045
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  66.53661489223748 mse :  13174.308788090268 smape : 4.885850733615813


######################################################################## Learning 8
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  348.6461836053494 mse :  224681.53956239467 smape : 4.228166252676001
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  355.8177404813913 mse :  239068.78460885046 smape : 4.256359584086994


######################################################################## Learning 9
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  27.48314612903416 mse :  1441.52353011842 smape : 2.176115723583086
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  30.412186093743905 mse :  1664.9968443025246 smape : 2.4190987191565085


######################################################################## Learning 10
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  57.6927100923649 mse :  7417.769724160817 smape : 5.290281304091953
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  60.413614673516236 mse :  9291.200446284021 smape : 5.344033306491265


######################################################################## Learning 11
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  102.07070369619949 mse :  23884.816362989695 smape : 4.704579775660331
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  98.52038837074944 mse :  21765.20245708108 smape : 4.605987255464833


######################################################################## Learning 12
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  69.74978985851229 mse :  12118.43631180405 smape : 4.181470559245851
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  69.34633699279955 mse :  12164.67690962022 smape : 4.174284060942082


######################################################################## Learning 13
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  37.41208827183559 mse :  2653.022467716609 smape : 3.3661069639378454
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  36.343088420527266 mse :  2356.7133709967184 smape : 3.2713523944932175


######################################################################## Learning 14
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  66.42456158263103 mse :  8173.631806046036 smape : 3.9208209201329915
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  67.09291674104342 mse :  8239.05216347891 smape : 4.011363847062659


######################################################################## Learning 15
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  175.64841561770086 mse :  54575.90194296984 smape : 7.944478530318042
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  178.12214297251538 mse :  54906.16917500195 smape : 8.061904922689687


######################################################################## Learning 16
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  21.61910427240165 mse :  944.9140567148461 smape : 1.2741222470748144
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  17.70173942705294 mse :  626.3657225870086 smape : 1.0451746912171205


######################################################################## Learning 17
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  28.65072648076004 mse :  2221.9956110573735 smape : 2.9756385863002075
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  28.624658456654096 mse :  2054.31874400625 smape : 2.892761880493009


######################################################################## Learning 18
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  125.9659010370575 mse :  37714.342608619074 smape : 7.877134737068445
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  126.32236802497673 mse :  39759.46758610604 smape : 7.842704600529996


######################################################################## Learning 19
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  43.848269829160614 mse :  4069.3719940453893 smape : 4.660322978250341
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  39.45431795025314 mse :  3406.3964479453057 smape : 4.18771310322805


######################################################################## Learning 20
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  61.31097876721431 mse :  6776.139514335118 smape : 3.8826669921113806
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  57.10399216547332 mse :  6439.663842657158 smape : 3.593440474824849


######################################################################## Learning 21
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  64.8258684901338 mse :  8033.892592657126 smape : 3.5844896086553137
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  59.913100647674824 mse :  6696.256018401894 smape : 3.327304356360229


######################################################################## Learning 22
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  38.453841088435674 mse :  2710.115119258638 smape : 3.0364549523390463
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  35.33735849183268 mse :  2132.927693712268 smape : 2.81541350228745


######################################################################## Learning 23
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  122.05486438931018 mse :  42993.23004216843 smape : 5.81880199380947
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  111.64642613957686 mse :  40329.84516387938 smape : 5.171084346437213


######################################################################## Learning 24
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  100.72741631269385 mse :  16599.244309747042 smape : 3.1608688057651
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  90.56048505105355 mse :  12849.005276935988 smape : 2.8234682738983157


######################################################################## Learning 25
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  63.618085302638285 mse :  7802.082251998785 smape : 4.21828944818795
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  56.50907062797114 mse :  6460.943743882561 smape : 3.77987031444967


######################################################################## Learning 26
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  92.38232527059318 mse :  16098.367081686547 smape : 2.9414234195188995
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  87.31994161624671 mse :  14005.2826115806 smape : 2.746991319006595


######################################################################## Learning 27
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  39.16273124161381 mse :  3283.856055509982 smape : 6.498118050753495
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  40.675248354544 mse :  3561.0819184965644 smape : 6.699792611006515


######################################################################## Learning 28
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  86.6934496215385 mse :  13088.446089360765 smape : 3.5867261636320613
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  84.03017665404265 mse :  12113.043789278718 smape : 3.4711776240039613


######################################################################## Learning 29
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  70.4314937271156 mse :  9142.059674019456 smape : 8.595348933489442
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  68.36967333543784 mse :  8980.342459554793 smape : 8.319156639708632


######################################################################## Learning 30
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  486.9481166068544 mse :  385412.081010014 smape : 8.23905670272069
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  499.34535024567634 mse :  374164.81172501046 smape : 8.399520605510642


######################################################################## Learning 31
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  43.236011090560424 mse :  3055.9291861826705 smape : 0.7160867358922904
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  39.26496181433792 mse :  2630.786514167679 smape : 0.6503594893257552


######################################################################## Learning 32
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  11.574335309965555 mse :  218.5377559527335 smape : 0.47971324418396216
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  11.835144558156463 mse :  232.2968452873713 smape : 0.49055247719487943


######################################################################## Learning 33
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  17.741679296023893 mse :  563.219728107104 smape : 0.6846902093207415
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  16.050469712558943 mse :  512.2853849465234 smape : 0.6170937579012011


######################################################################## Learning 34
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  86.54560637889249 mse :  21772.507983210802 smape : 8.210876451758724
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  81.26791707520364 mse :  21485.97108406449 smape : 7.571450332319772


######################################################################## Learning 35
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  65.6055693886457 mse :  12317.195150297708 smape : 4.651821021765962
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  68.28867519709073 mse :  15183.313890584683 smape : 4.603692282033477


######################################################################## Learning 36
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  35.43536341477007 mse :  3673.7000827111824 smape : 3.0432816654182258
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  37.539693166820726 mse :  4019.2032052563927 smape : 3.239276919703258


######################################################################## Learning 37
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  60.976871898329605 mse :  8685.144797246143 smape : 2.8743043568742515
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  63.75176782628897 mse :  9088.280795754232 smape : 3.0562982002858066


######################################################################## Learning 38
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  244.34009498580483 mse :  146154.6403952967 smape : 2.983613560074431
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  227.34429635090703 mse :  126588.27196268276 smape : 2.7934051358572307


######################################################################## Learning 39
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  89.25375653429599 mse :  14754.0020581591 smape : 4.51565486580711
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  87.3176108911502 mse :  13970.051832376725 smape : 4.4260654370771215


######################################################################## Learning 40
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  155.19616489588068 mse :  47942.89603190329 smape : 7.735691521634631
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  144.51895538358423 mse :  43402.13473692042 smape : 7.63984470919791


######################################################################## Learning 41
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  75.43153793147225 mse :  15368.98667490419 smape : 6.283007413315894
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  78.44341722531217 mse :  14510.816869248682 smape : 6.491538185700475


######################################################################## Learning 42
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  326.9203518684316 mse :  215779.2873651816 smape : 10.058367046257915
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  350.7439068302934 mse :  232164.70142791083 smape : 10.603778885025504


######################################################################## Learning 43
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  91.57228965400684 mse :  14391.235167604831 smape : 5.073730188667747
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  94.33986391364313 mse :  15834.766363557925 smape : 5.158022297018482


######################################################################## Learning 44
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  59.25179685283165 mse :  5949.48459051385 smape : 2.3833743848619733
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  58.46577145073345 mse :  5613.747342870014 smape : 2.3295472519091995


######################################################################## Learning 45
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  67.2368545348777 mse :  10177.633856914894 smape : 4.723447032372545
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  66.74382361370583 mse :  9476.824867595986 smape : 4.708415565258515


######################################################################## Learning 46
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  73.56099898772307 mse :  11594.72904866224 smape : 4.4340166753854104
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  75.54207230845833 mse :  12573.037261743762 smape : 4.5253041185164165


######################################################################## Learning 47
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  51.83863342854282 mse :  4366.714424669822 smape : 2.6818402684981777
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  50.14364817255398 mse :  4375.096694225104 smape : 2.5572254551875417


######################################################################## Learning 48
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  89.24375876802554 mse :  27037.167766367413 smape : 7.809500066324463
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  85.08570467524171 mse :  24073.720247163128 smape : 7.703117849290471


######################################################################## Learning 49
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  54.81454645374669 mse :  6563.284673033412 smape : 4.1777032822463855
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  54.108760930023664 mse :  6823.509382757972 smape : 4.100702229976663


######################################################################## Learning 50
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  52.47298604486329 mse :  5215.005644267486 smape : 4.4168365992082945
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  46.6088868049196 mse :  4306.680295975131 smape : 3.948148649000419


######################################################################## Learning 51
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  64.80614174686467 mse :  8223.61861818274 smape : 3.4711760529791573
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  61.46052303877537 mse :  7156.716532527434 smape : 3.280602565548232


######################################################################## Learning 52
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  77.95513779604312 mse :  12629.366851034898 smape : 2.021059231586076
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  74.26006510312192 mse :  11552.01791808499 smape : 1.91736573445683


######################################################################## Learning 53
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  40.348838478442644 mse :  3095.9484612716483 smape : 2.7112114946322086
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  37.700060223916786 mse :  2710.8738924168683 smape : 2.5506240907619278


######################################################################## Learning 54
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  195.29481942713355 mse :  79993.84341922727 smape : 2.8728857331045448
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  224.48448673352127 mse :  111551.54361429327 smape : 3.2441634527061063


######################################################################## Learning 55
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  74.55340032510142 mse :  13227.223961878615 smape : 3.4810376849690754
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  73.96287657123698 mse :  13092.459507436497 smape : 3.4541375603182196


######################################################################## Learning 56
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  29.77873747153619 mse :  1924.7047437931408 smape : 4.015806444867569
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  31.776851169132534 mse :  2196.7940724210866 smape : 4.212363768814891


######################################################################## Learning 57
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  130.95114268264112 mse :  36401.064568323345 smape : 5.326936110208723
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  130.26302921405 mse :  37419.85529462146 smape : 5.278851703456798


######################################################################## Learning 58
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  31.236655820250533 mse :  1831.297566140664 smape : 3.435947070336585
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  30.726860949362354 mse :  1828.689133592829 smape : 3.36928229772265


######################################################################## Learning 59
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  137.23180210531737 mse :  29940.755267754135 smape : 12.240712610125392
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  132.51675456807038 mse :  28133.47094983025 smape : 11.859277840014654


######################################################################## Learning 60
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  127.61020564677672 mse :  28519.863517072485 smape : 3.6320706411930885
use_feature :  ['temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  123.61466394953118 mse :  27169.6846504516 smape : 3.523496974835935


######################################################################## Learning 1
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  30.18013322100807 mse :  1469.217944743149 smape : 0.34922391167141353
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  28.193660560938152 mse :  1237.3280654084729 smape : 0.3263248020349012
######################################################################## Learning 2
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  33.21084969894314 mse :  1821.3753161188833 smape : 2.418951393325174
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  33.001915843690604 mse :  1807.8209394359344 smape : 2.3844406835410883
######################################################################## Learning 3
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  30.225348367597658 mse :  1513.9237879232792 smape : 0.8732329631711743
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  24.878728687452515 mse :  1034.1922623074768 smape : 0.7188897911362192
######################################################################## Learning 4
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  155.15302014685673 mse :  56402.43543308373 smape : 16.027075380433974
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  170.98928567549265 mse :  66352.08875542192 smape : 16.87163160413294
######################################################################## Learning 5
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  232.48550749674166 mse :  96070.12098981722 smape : 8.219181598578357
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  233.1917265099507 mse :  90218.66535724736 smape : 8.230673001698294
######################################################################## Learning 6
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  75.02833115243467 mse :  11350.001360479911 smape : 6.022071595276958
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  53.265706875710485 mse :  6579.096073392953 smape : 4.265342103245121
######################################################################## Learning 7
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  96.13159281304446 mse :  24222.412822522638 smape : 6.807524611904574
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  97.01802088327186 mse :  27074.8526603614 smape : 6.967871537853417
######################################################################## Learning 8
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  390.4285263218974 mse :  262849.071229307 smape : 4.584012526445274
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  340.95285628637197 mse :  203379.066736753 smape : 4.0761000114562105
######################################################################## Learning 9
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  29.00238166493993 mse :  1779.7503385393875 smape : 2.3125681135511615
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  25.779819481098286 mse :  1296.8630379641725 smape : 2.0580461178597163
######################################################################## Learning 10
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  84.16160355563821 mse :  16101.885193674934 smape : 6.8602597360815265
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  90.40274315523065 mse :  18219.784602168416 smape : 6.959755473405184
######################################################################## Learning 11
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  108.93455612259484 mse :  26228.079565072683 smape : 4.541403838748134
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  104.88288622848745 mse :  24214.64201957399 smape : 4.4154722588430975
######################################################################## Learning 12
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  89.4058191296693 mse :  17969.789573882234 smape : 5.698684560505349
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  100.36374814754974 mse :  22096.486836462835 smape : 5.848134409317758
######################################################################## Learning 13
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  32.42289798061617 mse :  1708.7800215009015 smape : 2.7999409351154636
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  32.448200353105136 mse :  1727.8874147222555 smape : 2.7912483334819957
######################################################################## Learning 14
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  50.91851943822434 mse :  4648.260206298348 smape : 2.8457536412781765
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  51.73040118847972 mse :  5051.593995916389 smape : 2.861454771702783
######################################################################## Learning 15
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  173.20867692149784 mse :  53904.70239345561 smape : 7.355290206695394
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  178.82453611539358 mse :  55742.82690324866 smape : 7.639225098625283
######################################################################## Learning 16
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  20.64737738060835 mse :  789.0730328308637 smape : 1.2014396968811516
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  19.386076555041594 mse :  740.4903092051884 smape : 1.1273692699597428
######################################################################## Learning 17
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  32.091202980839526 mse :  3125.2509336268104 smape : 3.602740279850092
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  31.362077131750784 mse :  3066.1101597998027 smape : 3.4376971814600616
######################################################################## Learning 18
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  151.73265172993257 mse :  44583.99463539498 smape : 10.088365098794348
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  151.8192902278045 mse :  49912.69340753878 smape : 10.258010057448665
######################################################################## Learning 19
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  76.35024159625588 mse :  11191.817255019698 smape : 7.048283289577999
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  75.16835050372599 mse :  11613.240315829278 smape : 6.890174252677211
######################################################################## Learning 20
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  75.97961723535326 mse :  10453.177512189503 smape : 4.341303534660124
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  71.44829950930638 mse :  9534.183647917765 smape : 4.041646328797807
######################################################################## Learning 21
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  68.26860058000797 mse :  8058.457936907093 smape : 3.3818243796659715
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  62.43311517905275 mse :  7270.713220774531 smape : 3.060526020684857
######################################################################## Learning 22
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  42.91716505921406 mse :  3212.9267821433373 smape : 3.1785468623562974
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  41.63361344331852 mse :  2940.4308028290293 smape : 3.1650295415016223
######################################################################## Learning 23
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  186.06538622721135 mse :  81099.77889246136 smape : 7.999966180693357
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  178.3815896998062 mse :  75309.439315683 smape : 7.579889898770639
######################################################################## Learning 24
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  103.91106452310697 mse :  16428.0701556496 smape : 3.1299665187721986
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  95.38102799478867 mse :  13802.667405074113 smape : 2.865847523572616
######################################################################## Learning 25
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  62.659879629899024 mse :  6588.64577666847 smape : 3.9631416076872665
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  49.08734083762844 mse :  4165.3927774696995 smape : 3.07779239624021
######################################################################## Learning 26
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  107.48473656204753 mse :  23306.986694711886 smape : 3.2501261797307057
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  98.13464770497723 mse :  19464.28771486647 smape : 2.9246826174196787
######################################################################## Learning 27
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  65.0084548661402 mse :  8941.452123774354 smape : 10.451871239119937
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  62.98109770416571 mse :  6532.267171554853 smape : 11.223099103954945
######################################################################## Learning 28
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  103.17829297695079 mse :  16956.99131201837 smape : 3.8008619329911557
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  94.77560321147118 mse :  14298.804397842741 smape : 3.5343087369123625
######################################################################## Learning 29
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  59.6890513028752 mse :  7715.026826104209 smape : 6.229621940045963
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  62.766243778394404 mse :  8224.037186890484 smape : 6.559818805509828
######################################################################## Learning 30
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  357.9821899920679 mse :  209748.464047521 smape : 5.250032636287194
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  379.36711285340255 mse :  242718.02095670637 smape : 5.698245745476736
######################################################################## Learning 31
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  46.90264218916124 mse :  3461.8608129452286 smape : 0.7676114587977361
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  41.10186860751423 mse :  2707.373900965961 smape : 0.670521317389196
######################################################################## Learning 32
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  11.91819373060002 mse :  234.28127093780535 smape : 0.49338381432656164
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  12.527471230992095 mse :  261.33507540507173 smape : 0.5188962347087457
######################################################################## Learning 33
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  19.73327931021783 mse :  725.5916322959263 smape : 0.7654932001005389
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  19.731263684214564 mse :  732.1670585125037 smape : 0.7640966712146764
######################################################################## Learning 34
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  106.44600929361805 mse :  33623.66817000997 smape : 9.2892732120901
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  104.94479753978918 mse :  35011.5168842948 smape : 9.236284634997956
######################################################################## Learning 35
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  117.02641371713167 mse :  37871.802201880426 smape : 7.732694925618797
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  106.64876337695526 mse :  34185.37900019449 smape : 7.1109646258391725
######################################################################## Learning 36
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  53.8408859928532 mse :  6916.822340651917 smape : 4.3735404547560615
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  50.6375537983859 mse :  6694.976939761993 smape : 4.125646173415859
######################################################################## Learning 37
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  57.23996962637726 mse :  8091.936496599768 smape : 2.6259703477664598
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  62.75587246342637 mse :  8632.103147472044 smape : 2.9254903309403146
######################################################################## Learning 38
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  330.3695851336879 mse :  274619.1159549898 smape : 3.8414840369240824
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  312.0834857897002 mse :  263133.7769092862 smape : 3.6176722837648208
######################################################################## Learning 39
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  96.4379689453542 mse :  16812.899805945533 smape : 4.59238853692978
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  95.54004362131852 mse :  16376.24034570209 smape : 4.521467934576214
######################################################################## Learning 40
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  173.42449410978804 mse :  51097.19710000815 smape : 8.021680193955955
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  171.96708085670681 mse :  49352.29783887275 smape : 7.952838464284688
######################################################################## Learning 41
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  102.55849489528002 mse :  25988.18714160363 smape : 7.804286072006477
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  103.35255382951601 mse :  24165.366174107025 smape : 8.193069792489462
######################################################################## Learning 42
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  326.75893587319325 mse :  185528.82360053385 smape : 8.818524698312313
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  343.88094934906775 mse :  199155.1063012889 smape : 9.359857926525699
######################################################################## Learning 43
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  79.35017897969483 mse :  11111.135167944449 smape : 4.4891566754717065
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  75.47761678922248 mse :  10322.348023272834 smape : 4.309417003573261
######################################################################## Learning 44
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  73.97934914649174 mse :  8463.646671212184 smape : 2.6914001023719036
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  72.18768849143336 mse :  8137.5610533611225 smape : 2.618339944955478
######################################################################## Learning 45
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  74.28327247008684 mse :  10422.961482873183 smape : 5.139152237161597
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  72.86367204795917 mse :  9943.932874764287 smape : 5.0828908807180335
######################################################################## Learning 46
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  81.58702384203691 mse :  14035.417765067737 smape : 5.04987835685019
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  92.45266397484163 mse :  17919.759631353365 smape : 5.784630729007054
######################################################################## Learning 47
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  59.8167667137469 mse :  5620.548342240845 smape : 3.07768151169486
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  57.18014720198443 mse :  5491.388983632579 smape : 2.858686452646767
######################################################################## Learning 48
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  141.51851019013844 mse :  44652.70689589252 smape : 13.985374988470205
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  111.30010064898671 mse :  29485.82680093746 smape : 10.88484774354938
######################################################################## Learning 49
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  70.15114277753203 mse :  10142.82540059623 smape : 4.772161921456454
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  74.15935203308824 mse :  11447.480924825975 smape : 5.036059126645667
######################################################################## Learning 50
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  81.54148075487306 mse :  12051.093847124144 smape : 5.960370181289934
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  82.18182761716096 mse :  12735.443564593084 smape : 6.059397036899661
######################################################################## Learning 51
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  78.2938486019781 mse :  11189.143785744925 smape : 3.848650741172057
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  75.25505930863852 mse :  10214.283061947875 smape : 3.687047199794588
######################################################################## Learning 52
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  89.63435363947225 mse :  16677.596635107555 smape : 2.371989502827117
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  88.07683647487792 mse :  16489.137061362722 smape : 2.271902981396937
######################################################################## Learning 53
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  41.75409752262403 mse :  3358.3488770896847 smape : 2.7641137692311326
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  40.09174783188892 mse :  3172.5387208672023 smape : 2.5858718469738537
######################################################################## Learning 54
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  282.1545486936195 mse :  145123.62567907604 smape : 4.140386576508302
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  328.64967265845814 mse :  173801.70774021113 smape : 5.003806046449153
######################################################################## Learning 55
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  121.19853495233535 mse :  35949.24888828528 smape : 5.676372881995114
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  139.71853199277484 mse :  38726.088802178725 smape : 7.217529019386575
######################################################################## Learning 56
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  37.57952754234657 mse :  3594.701945879374 smape : 4.593605725595476
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  35.38128703888813 mse :  3087.8799395571777 smape : 4.3837226387823875
######################################################################## Learning 57
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  177.46716991868516 mse :  71961.69737994278 smape : 6.7352056510035245
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  168.40797855879134 mse :  63548.04075000149 smape : 6.586456656957745
######################################################################## Learning 58
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  30.448638644142463 mse :  1701.0740577336483 smape : 3.5201041853966206
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  29.932690801296612 mse :  1564.4908242655354 smape : 3.4028947529074127
######################################################################## Learning 59
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  152.37849330162908 mse :  35270.93602080427 smape : 12.025719477897278
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  152.75520240933707 mse :  35314.3363065813 smape : 12.150858419975002
######################################################################## Learning 60
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  146.0984303852903 mse :  36103.53948353314 smape : 4.0096493411264476
use_feature :  ['temperature', 'humidity', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  156.46632763124308 mse :  42048.58794641328 smape : 4.314997972182251
# 6,7,8월
print(
    smape(np.expm1(np.concatenate([oof_lgb678[num] for num in range(1, 61)])), train['use_electric']),
    smape(np.expm1(np.concatenate([oof_xgb678[num] for num in range(1, 61)])), train['use_electric']),
    smape(np.expm1(np.concatenate([oof_lgb678[num]*.7 + oof_xgb678[num]*.3 for num in range(1, 61)])), train['use_electric']))
4.669566644209342 4.5217138564784 4.488667928345204
# 7,8월
print(
    smape(np.expm1(np.concatenate([oof_lgb78[num] for num in range(1, 61)])), train.loc[train['date']>='2020-07-01', 'use_electric'].values),
    smape(np.expm1(np.concatenate([oof_xgb78[num] for num in range(1, 61)])), train.loc[train['date']>='2020-07-01', 'use_electric'].values),
    smape(np.expm1(np.concatenate([oof_lgb78[num]*.7 + oof_xgb78[num]*.3 for num in range(1, 61)])), train.loc[train['date']>='2020-07-01', 'use_electric'].values))
4.584942409735047 4.496926986743773 4.423033918749373
# 8월
print(
    smape(np.expm1(np.concatenate([oof_lgb8[num] for num in range(1, 61)])), train.loc[train['date']>='2020-08-01', 'use_electric'].values),
    smape(np.expm1(np.concatenate([oof_xgb8[num] for num in range(1, 61)])), train.loc[train['date']>='2020-08-01', 'use_electric'].values),
    smape(np.expm1(np.concatenate([oof_lgb8[num]*.7 + oof_xgb8[num]*.3 for num in range(1, 61)])), train.loc[train['date']>='2020-08-01', 'use_electric'].values))
5.143509519483344 5.084915172027817 4.954623420998437
subset_best = ((np.concatenate(list(pred_lgb678.values()))*.7 + np.concatenate(list(pred_xgb678.values()))*.3)*.45 +
                (np.concatenate(list(pred_lgb78.values()))*.7 + np.concatenate(list(pred_xgb78.values()))*.3)*.45 +
                (np.concatenate(list(pred_lgb8.values()))*.7 + np.concatenate(list(pred_xgb8.values()))*.3)*.1)
 
 
 
train = df_train.copy()
test = df_test.copy()

# 건물별로 '비전기냉방설비운영'과 '태양광보유'를 판단해 test set의 결측치를 보간해줍니다
test_fill = test.copy()
sp_dict = train[['num', 'solar_power']].drop_duplicates().set_index('num').to_dict()['solar_power']
test['solar_power'] = test['num'].map(sp_dict)

op_dict = train[['num', 'operation']].drop_duplicates().set_index('num').to_dict()['operation']
test['operation'] = test['num'].map(sp_dict)

for num in range(1, 61):
    for col in ['temperature', 'wind_speed', 'humidity', 'precipitation', 'sunshine']:
        test.loc[test['num']==num, col] = test.loc[test['num']==num, col].interpolate().round(1)
        
for df in [train, test]:
    df['date'] = pd.to_datetime(df['date'])
    df['date2'] = df['date'].dt.date.astype(str)
    df['month'] = df['date'].dt.month - 6
    df['week'] = (df['date'].dt.isocalendar()['week'] - 23).astype(int)
    df['day'] = df['month']*df['month'].map({0:30, 1:31, 2:31}) + df['date'].dt.day
    df['hour'] = df['date'].dt.hour
    df['hour2'] = df['date'].dt.hour//6
    df['weekday'] = df['date'].dt.weekday
    df['weekend'] = (df['weekday']>=5).astype(int)
    df['weekend2'] = df['weekday'].map({0:0, 1:0, 2:0, 3:0, 4:0, 5:1, 6:2})
    df['holiday'] = df['date2'].isin(['2020-06-06', '2020-08-15', '2020-08-17']).astype(int)
    df['weekend_holiday'] = ((df['weekend'] + df['holiday'])>0).astype(int)
#     df.loc[df['holiday']==1, 'weekend2'] = 2
    
    ############## 화씨온도
    df['temperature_F'] = (df['temperature'] * 9/5) + 32 

    ############## 체감온도, https://www.weather.go.kr/plus/life/li_asset/HELP/basic/help_01_07.jsp
    df['temperature2'] = 13.12 + 0.6215*df['temperature'] - 11.37*(df['wind_speed']*3.6)**0.16 + 0.3965*(df['wind_speed']*3.6)**0.16*df['temperature']
#     df['diff_temp'] = df['temperature2'] - df['temperature']

    ############## 열지수, https://www.weather.go.kr/weather/lifenindustry/li_asset/HELP/basic/help_01_04.jsp
    T = df['temperature_F']
    RH = df['humidity']
    df['heat_index'] = -42.379 + 2.04901523*T + 10.14333127*RH - .22475541*T*RH - .00683783*T*T - .05481717*RH*RH + .00122874*T*T*RH + .00085282*T*RH*RH - .00000199*T*T*RH*RH
    df['heat_index'] = (df['heat_index']-32) * 5/9
    df.loc[df['heat_index']<32, 'heat_index'] = 0
    df.loc[(df['heat_index']>=32) & (df['heat_index']<41), 'heat_index'] = 1
    df.loc[(df['heat_index']>=41) & (df['heat_index']<54), 'heat_index'] = 2
    df.loc[(df['heat_index']>=54) & (df['heat_index']<66), 'heat_index'] = 3
    df.loc[df['heat_index']>=66, 'heat_index'] = 4
    
    ############## working hour
    df['work_hour'] = ((df['hour']>=8) & (df['hour']<=19)).astype(int)
    df['lunch_hour'] = ((df['hour']>=11) & (df['hour']<=13) & (df['weekday']<=4)).astype(int)
    df['lunch_hour2'] = ((df['hour']>=12) & (df['hour']<=14) & (df['weekday']>4)).astype(int)
    
    df['dinner_hour'] = ((df['hour']>=17) & (df['hour']<=22)).astype(int)
    df['dinner_hour2'] = ((df['hour']>=18) & (df['weekday']>=4) & (df['weekday']<=5)).astype(int)
    
#     df['religion'] = ((df['hour']>=9) & (df['weekday']<13) & (df['weekday']==6)).astype(int)

    ############## 불쾌지수
    df['THI'] = 9/5*df['temperature'] - 0.55*(1-df['humidity']/100)*(9/5*df['temperature']-26)+32
    df.loc[df['THI']<68, 'THI'] = 0
    df.loc[(df['THI']>=68) & (df['THI']<75), 'THI'] = 1
    df.loc[(df['THI']>=75) & (df['THI']<80), 'THI'] = 2
    df.loc[(df['THI']>=80), 'THI'] = 3
    
    ############## CDH
    cdhs = []
    for num in range(1, 61):
        temp = df[df['num'] == num]
        cdh = CDH(temp['temperature'].values)
        cdhs += cdh
    else:
        df['CDH'] = cdhs

test['sunshine'] = np.where(test['sunshine']>1.0, 1.0, test['sunshine'])

pivot = pd.pivot_table(data=train, values='use_electric', index='num', columns='date').values
scaler = MinMaxScaler()
pivot = scaler.fit_transform(pivot.T).T

km = KMeans(n_clusters=5, random_state=42, max_iter=1000, )
km.fit(pivot)
cluster_dict = {num+1:cluster for num, cluster in enumerate(km.labels_)}

train['cluster'] = train['num'].map(cluster_dict)
test['cluster'] = test['num'].map(cluster_dict)

df = pd.DataFrame()
for num in range(1, 61):
    st = train[train['num']==num].reset_index(drop=True)
    st = target_process(st)
    df = pd.concat([df, st])
train = df.reset_index(drop=True)

train['region'] = 0 # [1,7,17,20,21,31,34,38,46,47,49,51,52,55,58]
train.loc[train['num'].isin([2,5,10,11,19,28,50]), 'region'] = 1
train.loc[train['num'].isin([12,35,42,48,60]), 'region'] = 2
train.loc[train['num'].isin([22,23,33,40,53]), 'region'] = 3
train.loc[train['num'].isin([44, 57]), 'region'] = 4
train.loc[train['num'].isin([4, 8, 9, 13, 14, 16, 26, 27, 29, 30, 36, 37, 39, 43, 56, 59]), 'region'] = 5
    
test['region'] = 0
test.loc[test['num'].isin([2,5,10,11,19,28,50]), 'region'] = 1
test.loc[test['num'].isin([12,35,42,48,60]), 'region'] = 2
test.loc[test['num'].isin([22,23,33,40,53]), 'region'] = 3
test.loc[test['num'].isin([44, 57]), 'region'] = 4
test.loc[test['num'].isin([4, 8, 9, 13, 14, 16, 26, 27, 29, 30, 36, 37, 39, 43, 56, 59]), 'region'] = 5
def hour_split(st, sub_test):
    if subset=='afternoon':
        st = st[(st['hour']>12)].reset_index(drop=True)
        sub_test = sub_test[sub_test['hour']>12].reset_index(drop=True)
    elif subset=='morning':
        st = st[(st['hour']<13)].reset_index(drop=True)
        sub_test = sub_test[sub_test['hour']<13].reset_index(drop=True)
    elif subset=='working':
        st = st[(st['hour']>=8)&(st['hour']<20)].reset_index(drop=True)
        sub_test = sub_test[(sub_test['hour']>=8)&(sub_test['hour']<20)].reset_index(drop=True)
    elif subset=='noworking':
        st = st[(st['hour']<8)|(st['hour']>=20)].reset_index(drop=True)
        sub_test = sub_test[(sub_test['hour']<8)|(sub_test['hour']>=20)].reset_index(drop=True)
    elif subset=='q1':
        st = st[(st['hour']>=0)                  &(st['hour']<7)].reset_index(drop=True)
        sub_test = sub_test[(sub_test['hour']>=0)&(sub_test['hour']<7)].reset_index(drop=True)
    elif subset=='q2':
        st = st[(st['hour']>=7)                  &(st['hour']<13)].reset_index(drop=True)
        sub_test = sub_test[(sub_test['hour']>=7)&(sub_test['hour']<13)].reset_index(drop=True)
    elif subset=='q3':
        st = st[(st['hour']>=13)                  &(st['hour']<19)].reset_index(drop=True)
        sub_test = sub_test[(sub_test['hour']>=13)&(sub_test['hour']<19)].reset_index(drop=True)
    elif subset=='q4':
        st =             st[st['hour']>=19].reset_index(drop=True)
        sub_test = sub_test[sub_test['hour']>=19].reset_index(drop=True)
    elif subset=='s1':
        st = st[(st['hour']>=0)                  &(st['hour']<5)].reset_index(drop=True)
        sub_test = sub_test[(sub_test['hour']>=0)&(sub_test['hour']<5)].reset_index(drop=True)
    elif subset=='s2':
        st = st[(st['hour']>=5)                  &(st['hour']<9)].reset_index(drop=True)
        sub_test = sub_test[(sub_test['hour']>=5)&(sub_test['hour']<9)].reset_index(drop=True)
    elif subset=='s3':
        st = st[(st['hour']>=9)                  &(st['hour']<13)].reset_index(drop=True)
        sub_test = sub_test[(sub_test['hour']>=9)&(sub_test['hour']<13)].reset_index(drop=True)
    elif subset=='s4':
        st = st[(st['hour']>=13)                  &(st['hour']<17)].reset_index(drop=True)
        sub_test = sub_test[(sub_test['hour']>=13)&(sub_test['hour']<17)].reset_index(drop=True)
    elif subset=='s5':
        st = st[(st['hour']>=17)                  &(st['hour']<21)].reset_index(drop=True)
        sub_test = sub_test[(sub_test['hour']>=17)&(sub_test['hour']<21)].reset_index(drop=True)
    elif subset=='s6':
        st =             st[st['hour']>=21].reset_index(drop=True)
        sub_test = sub_test[sub_test['hour']>=21].reset_index(drop=True)
    elif subset=='e1':
        st = st[(st['hour']>=0)                  &(st['hour']<4)].reset_index(drop=True)
        sub_test = sub_test[(sub_test['hour']>=0)&(sub_test['hour']<4)].reset_index(drop=True)
    elif subset=='e2':
        st = st[(st['hour']>=4)                  &(st['hour']<7)].reset_index(drop=True)
        sub_test = sub_test[(sub_test['hour']>=4)&(sub_test['hour']<7)].reset_index(drop=True)
    elif subset=='e3':
        st = st[(st['hour']>=7)                  &(st['hour']<10)].reset_index(drop=True)
        sub_test = sub_test[(sub_test['hour']>=7)&(sub_test['hour']<10)].reset_index(drop=True)
    elif subset=='e4':
        st = st[(st['hour']>=10)                  &(st['hour']<13)].reset_index(drop=True)
        sub_test = sub_test[(sub_test['hour']>=10)&(sub_test['hour']<13)].reset_index(drop=True)
    elif subset=='e5':
        st = st[(st['hour']>=13)                  &(st['hour']<16)].reset_index(drop=True)
        sub_test = sub_test[(sub_test['hour']>=13)&(sub_test['hour']<16)].reset_index(drop=True)
    elif subset=='e6':
        st = st[(st['hour']>=16)                  &(st['hour']<19)].reset_index(drop=True)
        sub_test = sub_test[(sub_test['hour']>=16)&(sub_test['hour']<19)].reset_index(drop=True)
    elif subset=='e7':
        st = st[(st['hour']>=19)                  &(st['hour']<22)].reset_index(drop=True)
        sub_test = sub_test[(sub_test['hour']>=19)&(sub_test['hour']<22)].reset_index(drop=True)
    elif subset=='e8':
        st =             st[st['hour']>=22].reset_index(drop=True)
        sub_test = sub_test[sub_test['hour']>=22].reset_index(drop=True)
        
    return st, sub_test
transform = {}
train2 = {}
test2 = {}
train_cluster2 = {}
test_cluster2 = {}
transform_cluster = {}
train_region2 = {}
test_region2 = {}
transform_region = {}
drop_cols = ['use_electric', 'date', 'date2', 'wind_speed', 'precipitation', 'sunshine', 'operation', 'solar_power', 
             'week', 'weekend', 'weekend_holiday', 'temperature_F', 'temperature2', 'holiday', 'fold_num', 'hour2', 'cluster', 'oof_lgb', 'region']
subsets = ['all', 'afternoon', 'morning', 'working', 'noworking', 'q1', 'q2', 'q3', 'q4', 's1', 's2', 's3', 's4', 's5', 's6', 'e1', 'e2', 'e3', 'e4', 'e5', 'e6', 'e7', 'e8']
# all
for subset in subsets:
    temp, temp2 = pd.DataFrame(), pd.DataFrame()
    temp_transform = {}
    for num in range(1, 61):
        st = train[train['num']==num].reset_index(drop=True)
        sub_test = test[test['num']==num].reset_index(drop=True)
        
        st, sub_test = hour_split(st, sub_test)
        
            
        temp_transform[num] = MinMaxScaler()
        temp_transform[num].fit(st[['use_electric']])
        st['use_electric2'] = temp_transform[num].transform(st[['use_electric']])

        new_col = 'mean_use_electric' 
        st[new_col] = st['weekend'].astype(str) + '_' + st['hour'].astype(str)
        sub_test[new_col] = sub_test['weekend'].astype(str) + '_' + sub_test['hour'].astype(str)
        sub_test[new_col] = sub_test[new_col].map(st.groupby(new_col)['use_electric'].mean())
        st[new_col] = st[new_col].map(st.groupby(new_col)['use_electric'].mean())

        st['fold_num'] = (st['day']//7)    
        temp = pd.concat([temp, st])
        temp2 = pd.concat([temp2, sub_test])

    transform[subset] = temp_transform
    train2[subset] = temp.reset_index(drop=True)
    test2[subset] = temp2.reset_index(drop=True)

# cluster
for subset in subsets:
    temp_train = {}
    temp_test = {}
    temp_transform = {}
    for c in range(5):
        temp, temp2 = pd.DataFrame(), pd.DataFrame()
        for num in np.unique(train.loc[train['cluster']==c, 'num']):
            st = train[train['num']==num].reset_index(drop=True)
            sub_test = test[test['num']==num].reset_index(drop=True)
            st, sub_test = hour_split(st, sub_test)
                
            temp_transform[num] = MinMaxScaler()
            temp_transform[num].fit(st[['use_electric']])
            st['use_electric2'] = temp_transform[num].transform(st[['use_electric']])

            new_col = 'mean_use_electric' 
            st[new_col] = st['weekend'].astype(str) + '_' + st['hour'].astype(str)
            sub_test[new_col] = sub_test['weekend'].astype(str) + '_' + sub_test['hour'].astype(str)
            sub_test[new_col] = sub_test[new_col].map(st.groupby(new_col)['use_electric'].mean())
            st[new_col] = st[new_col].map(st.groupby(new_col)['use_electric'].mean())

            st['fold_num'] = (st['day']//7)    
            temp = pd.concat([temp, st])
            temp2 = pd.concat([temp2, sub_test])

        temp_train[c] = temp.reset_index(drop=True)
        temp_test[c] = temp2.reset_index(drop=True)
    train_cluster2[subset] = temp_train
    test_cluster2[subset] = temp_test
    transform_cluster[subset] = temp_transform
    
# region
for subset in subsets:
    temp_train = {}
    temp_test = {}
    temp_transform = {}
    for c in range(6):
        temp, temp2 = pd.DataFrame(), pd.DataFrame()
        for num in np.unique(train.loc[train['region']==c, 'num']):
            st = train[train['num']==num].reset_index(drop=True)
            sub_test = test[test['num']==num].reset_index(drop=True)
            st, sub_test = hour_split(st, sub_test)

            temp_transform[num] = MinMaxScaler()
            temp_transform[num].fit(st[['use_electric']])
            st['use_electric2'] = temp_transform[num].transform(st[['use_electric']])

            new_col = 'mean_use_electric' 
            st[new_col] = st['weekend'].astype(str) + '_' + st['hour'].astype(str)
            sub_test[new_col] = sub_test['weekend'].astype(str) + '_' + sub_test['hour'].astype(str)
            sub_test[new_col] = sub_test[new_col].map(st.groupby(new_col)['use_electric'].mean())
            st[new_col] = st[new_col].map(st.groupby(new_col)['use_electric'].mean())

            st['fold_num'] = (st['day']//7)    
            temp = pd.concat([temp, st])
            temp2 = pd.concat([temp2, sub_test])

        temp_train[c] = temp.reset_index(drop=True)
        temp_test[c] = temp2.reset_index(drop=True)
    train_region2[subset] = temp_train
    test_region2[subset] = temp_test
    transform_region[subset] = temp_transform

ALL

for subset in subsets:
    print(subset)
    train2[subset]['oof_lgb'], test2[subset]['oof_lgb'], _ = lgb_models(train2[subset], test2[subset], drop_col=drop_cols, 
                                                                           target='use_electric2', 
                                                                           category_features=['num', 'month', 'THI', 'weekend2', ],
                                                                           learn='lgb', v=0, exp=False)
all
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.0392584710917126 mse :  0.0036388827065748745 smape : 15.141182815999082
afternoon
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.046330719351853435 mse :  0.004860008231488209 smape : 15.528866951900806
morning
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.039328936905423585 mse :  0.0036660058752315487 smape : 17.76508124072016
working
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.051524723119958954 mse :  0.005605901944167852 smape : 14.628858698523615
noworking
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.045534359476594385 mse :  0.0048463510574937385 smape : 19.805090320556236
q1
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06716204285528483 mse :  0.00980453343445913 smape : 23.42694713414393
q2
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.05187420296941878 mse :  0.005747130399967759 smape : 15.883258711479474
q3
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06377236814015277 mse :  0.008551676627872288 smape : 18.671655999219777
q4
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.058313800143531616 mse :  0.007288704465087005 smape : 20.175273020815418
s1
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.07965987514978418 mse :  0.01327308548449224 smape : 24.488530294707626
s2
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.057168235400354116 mse :  0.007266817306817217 smape : 21.43380435419269
s3
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06233955200080218 mse :  0.008115469732658075 smape : 18.641341032201083
s4
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06924186995371356 mse :  0.01008669239854018 smape : 20.295090247341104
s5
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.05875660527005099 mse :  0.007217591250340872 smape : 19.94187273500647
s6
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.07171722032897818 mse :  0.010475984266745045 smape : 23.065955084005836
e1
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.0837733644939996 mse :  0.014447323892486838 smape : 24.609180821569964
e2
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.0823033916724227 mse :  0.013644726938984008 smape : 26.781185617636858
e3
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.05583913626514534 mse :  0.0065686636300394605 smape : 19.10665720972419
e4
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.0679429796178613 mse :  0.009604239452315026 smape : 20.334283890446432
e5
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.07119635605118811 mse :  0.010607839247668343 smape : 21.033782319766154
e6
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06637741994005238 mse :  0.009065398658683546 smape : 20.352814655570082
e7
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06836459063247265 mse :  0.009353962811259435 smape : 22.124787310907653
e8
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.08189964500399462 mse :  0.01354180546804379 smape : 25.99624252124244
for col in ['oof_lgb']:
    for subset in subsets:
        train2[subset][col+'2'] = np.concatenate([transform[subset][num].inverse_transform(train2[subset].loc[train2[subset]['num']==num, [col]]) for num in range(1, 61)])
        test2[subset][col+'2'] = np.concatenate([transform[subset][num].inverse_transform(test2[subset].loc[test2[subset]['num']==num, [col]]) for num in range(1, 61)])
        
for df in [train2, test2]:
    df['afternoon_morning'] = pd.concat([df['afternoon'], df['morning']]).sort_values(['num', 'date']).reset_index(drop=True)
    df['working_noworking'] = pd.concat([df['working'], df['noworking']]).sort_values(['num', 'date']).reset_index(drop=True)
    df['q1234'] = pd.concat([df['q1'], df['q2'], df['q3'], df['q4']]).sort_values(['num', 'date']).reset_index(drop=True)
    df['s123456'] = pd.concat([df['s1'], df['s2'], df['s3'], df['s4'], df['s5'], df['s6']]).sort_values(['num', 'date']).reset_index(drop=True)
    df['e12345678'] = pd.concat([df['e1'], df['e2'], df['e3'], df['e4'], df['e5'], df['e6'], df['e7'], df['e8']]).sort_values(['num', 'date']).reset_index(drop=True)
for subset in ['all', 'afternoon_morning', 'working_noworking', 'q1234', 's123456', 'e12345678']:
    print(smape(train2[subset]['oof_lgb2'], train['use_electric']))

smape(np.mean([train2['all']['oof_lgb2'],
                train2['afternoon_morning']['oof_lgb2'],
                train2['working_noworking']['oof_lgb2'],
                train2['q1234']['oof_lgb2'],
                train2['s123456']['oof_lgb2'],
                train2['e12345678']['oof_lgb2']], 0), train['use_electric'])
4.854304032291577
4.888289768844324
4.840717546803809
4.878037671834281
4.877795888635189
4.905936332216347
4.666819341958758
# 4.854304032291577
# 4.888289768844324
# 4.840717546803809
# 4.878037671834281
# 4.877795888635189
# 4.905936332216347
# 4.666819341958758
 
 

cluster

for subset in subsets:
    print(subset)
    for c in range(5):
        train_cluster2[subset][c]['oof_lgb'], test_cluster2[subset][c]['oof_lgb'], _ = lgb_models(train_cluster2[subset][c], test_cluster2[subset][c], drop_col=drop_cols, 
                                                                                                   target='use_electric2', 
                                                                                                   category_features=['num', 'month', 'THI', 'weekend2', ],
                                                                                                   learn='lgb', v=0, exp=False)
all
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.03153706531803084 mse :  0.002626047073410927 smape : 15.104722389878614
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.05449077764962141 mse :  0.005855603473163423 smape : 14.416338665540934
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.03859757557587754 mse :  0.0033774718057894403 smape : 14.752381592251794
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.05787101405695338 mse :  0.007211517208608297 smape : 14.362561447906975
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.03730587275716092 mse :  0.003468191103496709 smape : 15.108723765061404
afternoon
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.0348458672630485 mse :  0.0030862868217502223 smape : 14.84916284262556
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.061908450832023086 mse :  0.007638726673474024 smape : 16.12041432840814
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.0461594941956749 mse :  0.004499257550544372 smape : 14.144745427155524
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06584822867470116 mse :  0.009028819141462415 smape : 15.933798940594246
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.05421669176945307 mse :  0.006196032307477542 smape : 19.44401229655408
morning
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.031880474629687634 mse :  0.002726344464869919 smape : 18.312428067929826
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.054477464650338134 mse :  0.005948437055863749 smape : 15.423032554054199
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.03782382105876085 mse :  0.003373106445686985 smape : 18.221479660534204
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.058428975575294285 mse :  0.006754529288358344 smape : 15.84739090258781
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.03615110146670811 mse :  0.0029718841123645133 smape : 16.262236023104112
working
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.04332700686514349 mse :  0.004312671889388098 smape : 13.970740073806812
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06685108348225502 mse :  0.008322992551004353 smape : 17.137289666869123
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.05371665920384005 mse :  0.005906658583326683 smape : 12.407344558188266
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.072439335195095 mse :  0.010500791047933987 smape : 16.366047038515834
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.04744940247244952 mse :  0.004717369126035412 smape : 17.141119937120585
noworking
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.04084642829292747 mse :  0.004111590234641515 smape : 20.513800730034013
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06403806865783787 mse :  0.007827386700528724 smape : 17.98683980026466
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.04354096569985734 mse :  0.004250425758980069 smape : 20.371309402097243
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06419006346205075 mse :  0.007968049590701784 smape : 15.198011938016439
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.0347561520827374 mse :  0.003857638023803719 smape : 19.456868982395036
q1
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.0636356206736252 mse :  0.008869424090193596 smape : 24.714054275088497
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.08094830956477202 mse :  0.012040607917274035 smape : 20.520655305347596
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.07101262272759733 mse :  0.011260500584327468 smape : 24.127307001060466
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.08459091766041106 mse :  0.013917559233705835 smape : 19.092586073687123
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.04808953226605775 mse :  0.005864509280566641 smape : 22.923615345138945
q2
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.04397406108974352 mse :  0.004487338326329759 smape : 15.377293461857477
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06676867919138275 mse :  0.008361516045018025 smape : 18.286712948768866
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.05304307128155077 mse :  0.00585428625299205 smape : 14.975299087845967
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.07443039287611841 mse :  0.010577562481763437 smape : 17.933691964803554
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.049644432812009365 mse :  0.004934424292532613 smape : 16.153564714361018
q3
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.04843382879112324 mse :  0.00529556277364124 smape : 16.54449723495513
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.0765486410865399 mse :  0.010849540971398813 smape : 19.58477957173958
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.07782385566804119 mse :  0.01176328958842059 smape : 19.787645327744563
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.08060324169629145 mse :  0.012830599114355004 smape : 18.53030289104644
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.056937783102150245 mse :  0.0066250688667094226 smape : 20.997930458544495
q4
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.0518713937627522 mse :  0.0056947360490454514 smape : 19.49218885182007
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.07804840002075959 mse :  0.011923861560798976 smape : 20.69105655359934
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.051513496779954385 mse :  0.005498866073179562 smape : 20.11795598861252
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.08014329885801746 mse :  0.012096098172799418 smape : 18.936483095726352
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.062320648814999685 mse :  0.008798761649739865 smape : 22.740423848718113
s1
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.08470251309921654 mse :  0.01464530192850091 smape : 25.91742623041873
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.09800291855178497 mse :  0.017462022018171014 smape : 22.34843700950284
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.08062584419933905 mse :  0.01400015501553795 smape : 25.577795031319393
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.08942235304409485 mse :  0.015408584853410559 smape : 19.65363713234374
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.04922185160245386 mse :  0.006189046333442175 smape : 23.903131435424786
s2
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.04390201601575351 mse :  0.004554232821582773 smape : 22.372775492068893
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06885807388646963 mse :  0.008767870414836641 smape : 18.934279344890633
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06624670907856162 mse :  0.009423528339170288 smape : 22.000730251672522
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.08166756538123236 mse :  0.01291813453952263 smape : 22.03167509586346
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.04804558467565354 mse :  0.0048437648657431494 smape : 19.583978492865995
s3
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.04882212548203177 mse :  0.0053412238397342274 smape : 16.905669755930052
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.07441320243703249 mse :  0.010588187654766485 smape : 19.624993878828864
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.07239035050438725 mse :  0.010629335315872089 smape : 18.63132151598474
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.08061972397539986 mse :  0.011758247394893511 smape : 20.15871368678996
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.05974194329582591 mse :  0.0070022703027696875 smape : 22.07463295241873
s4
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.05328805104125687 mse :  0.006275389308513231 smape : 18.177060976940314
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.08071752013651738 mse :  0.012113922016789477 smape : 19.960564373566
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.0853968187182882 mse :  0.01418142659851235 smape : 21.91994360514197
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.08063012650381768 mse :  0.012542838212420668 smape : 18.269321600822042
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06662856967436036 mse :  0.0087830710175669 smape : 24.946209126881225
s5
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.04270431502456808 mse :  0.004076510828150676 smape : 19.051293444474002
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.07112948948589236 mse :  0.009504107679094256 smape : 19.662474100880175
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06280953359949835 mse :  0.007591723821229227 smape : 19.555517658180076
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.07935295967421865 mse :  0.012513388796562127 smape : 19.794471897515685
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06648720934539479 mse :  0.009471599169693623 smape : 21.954063024898925
s6
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.07110116728933083 mse :  0.009887512946257969 smape : 22.535730426527973
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.09308686719434522 mse :  0.016196744278658467 smape : 22.905008661338893
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.0695166605555503 mse :  0.009933988858552682 smape : 24.71453436087682
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.08664646384381751 mse :  0.014371539924013703 smape : 20.384995398907755
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06254611562338301 mse :  0.009089778793846395 smape : 25.69552331437141
e1
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.09189333468780048 mse :  0.016394170683635877 smape : 25.937773303911996
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.10090388182121476 mse :  0.018554042692903085 smape : 22.540582035214914
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.08429899178860094 mse :  0.015067953345955391 smape : 26.08960273405677
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.08876489720061 mse :  0.015212168380166723 smape : 20.064642805967438
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.050804081260828214 mse :  0.006353853551879748 smape : 23.645782750501866
e2
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.07517903273650473 mse :  0.011678033125242394 smape : 28.692900472918147
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.0904929385735129 mse :  0.014632757725983528 smape : 22.18204486850175
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.09011750459312996 mse :  0.0164147059960783 smape : 27.754702972874988
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.10167802017214049 mse :  0.020512027726491654 smape : 23.672968273462658
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06461389341452846 mse :  0.009153114831905633 smape : 23.847775469581304
e3
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.04394132336250271 mse :  0.0043746991237274095 smape : 18.286078425159182
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06792920264477974 mse :  0.008403397493142183 smape : 20.0334690303633
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.05957966548017537 mse :  0.007337210848223694 smape : 19.292772910984198
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.08159368930388396 mse :  0.01297994392139132 smape : 21.390160975396164
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.058004836475142554 mse :  0.0061577636614412986 smape : 18.935484253777712
e4
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.04991794333244038 mse :  0.005617830265659888 smape : 17.883359968898418
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.08018226242721073 mse :  0.012088807274297328 smape : 21.202074400837393
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.08698285720305166 mse :  0.014272354910959984 smape : 21.521567959744008
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.08482410872805521 mse :  0.012671815364747244 smape : 21.87759300584785
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06342114172044863 mse :  0.007827605856864333 smape : 23.819020872759012
e5
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.05438309364866203 mse :  0.00644855692877015 smape : 19.07332305898144
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.08487559937769729 mse :  0.01301491916419671 smape : 21.280414211661466
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.08966824052193995 mse :  0.015493838317418157 smape : 22.85581842023664
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.08493653527348752 mse :  0.014073375857972751 smape : 19.317218339764228
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06937287897443935 mse :  0.009250199215410274 smape : 26.042286875009886
e6
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.04759392085814975 mse :  0.004992767954482267 smape : 18.422471639580703
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.07886581786329622 mse :  0.011587714840874331 smape : 20.167896110785534
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.07788402303973127 mse :  0.01168097459454333 smape : 21.276145820248015
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.08360454723276164 mse :  0.013370003242145285 smape : 20.42840930400873
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06466365858114459 mse :  0.00837720511797001 smape : 21.912330105883058
e7
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.059765029871586474 mse :  0.006967645056548671 smape : 20.360661027759942
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.0875300088112631 mse :  0.014467339638849505 smape : 22.475007539088338
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.062305484869256765 mse :  0.007706110411504295 smape : 21.836059090246888
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.09218187197177463 mse :  0.01613348958657786 smape : 20.531199096920666
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.0771838934717116 mse :  0.011775079257991827 smape : 28.016786240351088
e8
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.08427118473305958 mse :  0.013791118830329156 smape : 25.739754466650755
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.09935350117716907 mse :  0.018638924072577185 smape : 24.114694185019314
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.08263200640699397 mse :  0.014066837944180611 smape : 27.80662867327432
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.08489062529588927 mse :  0.014383120899386361 smape : 20.24177674402157
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06326876920106922 mse :  0.009067248112377529 smape : 28.063921445969143
for subset in subsets:
    train_cluster2[subset] = pd.concat(train_cluster2[subset].values()).sort_values(['num', 'date']).reset_index(drop=True)
    test_cluster2[subset] = pd.concat(test_cluster2[subset].values()).sort_values(['num', 'date']).reset_index(drop=True)

for col in ['oof_lgb']:
    for subset in subsets:
        train_cluster2[subset][col+'2'] = np.concatenate([transform_cluster[subset][num].inverse_transform(train_cluster2[subset].loc[train_cluster2[subset]['num']==num, [col]]) for num in range(1, 61)])
        test_cluster2[subset][col+'2'] = np.concatenate([transform_cluster[subset][num].inverse_transform(test_cluster2[subset].loc[test_cluster2[subset]['num']==num, [col]]) for num in range(1, 61)])

for df in [train_cluster2, test_cluster2]:
    df['afternoon_morning'] = pd.concat([df['afternoon'], df['morning']]).sort_values(['num', 'date']).reset_index(drop=True)
    df['working_noworking'] = pd.concat([df['working'], df['noworking']]).sort_values(['num', 'date']).reset_index(drop=True)
    df['q1234'] = pd.concat([df['q1'], df['q2'], df['q3'], df['q4']]).sort_values(['num', 'date']).reset_index(drop=True)
    df['s123456'] = pd.concat([df['s1'], df['s2'], df['s3'], df['s4'], df['s5'], df['s6']]).sort_values(['num', 'date']).reset_index(drop=True)
    df['e12345678'] = pd.concat([df['e1'], df['e2'], df['e3'], df['e4'], df['e5'], df['e6'], df['e7'], df['e8']]).sort_values(['num', 'date']).reset_index(drop=True)
for subset in ['all', 'afternoon_morning', 'working_noworking', 'q1234', 's123456', 'e12345678']:
    print(smape(train_cluster2[subset]['oof_lgb2'], train['use_electric']))

smape(np.mean([train_cluster2['all']['oof_lgb2'],
                train_cluster2['afternoon_morning']['oof_lgb2'],
                train_cluster2['working_noworking']['oof_lgb2'],
                train_cluster2['q1234']['oof_lgb2'],
                train_cluster2['s123456']['oof_lgb2'],
                train_cluster2['e12345678']['oof_lgb2']], 0), train['use_electric'])
4.834800050014874
4.876309745723581
4.857260584692095
4.914418823959304
4.9192538915152175
4.953230095541329
4.699489300011213
# 4.834800050014874
# 4.876309745723581
# 4.857260584692095
# 4.914418823959304
# 4.9192538915152175
# 4.953230095541329
# 4.699489300011213
 

region

for subset in subsets:
    print(subset)
    for c in range(6):
        train_region2[subset][c]['oof_lgb'], test_region2[subset][c]['oof_lgb'], _ = lgb_models(train_region2[subset][c], test_region2[subset][c], drop_col=drop_cols, 
                                                                                               target='use_electric2', 
                                                                                               category_features=['num', 'month', 'THI', 'weekend2', ],
                                                                                               learn='lgb', v=0, exp=False)
all
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.038032102388780124 mse :  0.0034055759984738206 smape : 14.072188599368396
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.034153518285324286 mse :  0.002921767491953607 smape : 14.713343421110215
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.03757040977061377 mse :  0.0033191332681364264 smape : 16.407227589908036
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.03364563470826061 mse :  0.0027514388584765946 smape : 15.36266560996922
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.0348449327946197 mse :  0.002728664645443423 smape : 10.568987347482803
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.048827558750450153 mse :  0.0053773955552130276 smape : 16.688577369157812
afternoon
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.048112376031520056 mse :  0.005117476390361681 smape : 15.599979875023932
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.04161098137121724 mse :  0.003887297882747863 smape : 14.392891948793377
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.04178643243597187 mse :  0.0037877047180983493 smape : 14.855632785978848
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.03497983017683191 mse :  0.0029043309245165337 smape : 14.887613688601645
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.03904023014929493 mse :  0.0031879822787305124 smape : 11.033669494601897
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.05508153498740253 mse :  0.006777574988086324 smape : 17.840776237495007
morning
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.036033690772701014 mse :  0.003055702017008275 smape : 15.897128779680246
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.035003549003534445 mse :  0.003229850570480899 smape : 19.565501238540797
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.03618177067444287 mse :  0.003344357364015383 smape : 20.095127027780045
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.03573848100543448 mse :  0.003056327881609018 smape : 18.71010826336494
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.03598946388633599 mse :  0.002996339872838795 smape : 12.258639996100257
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.04897778676220902 mse :  0.005399433244032911 smape : 18.909585329366067
working
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.05053692886329847 mse :  0.005342229706340409 smape : 14.433638866392055
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.044561467506877235 mse :  0.004199402948458072 smape : 14.515316700593921
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.05236617554742606 mse :  0.005644868993707153 smape : 14.105002948589068
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.0412868449886938 mse :  0.003998061099903757 smape : 12.617229273484416
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.048298620519991 mse :  0.004371057803628301 smape : 12.302574555929311
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.0644146194386034 mse :  0.008531210253471035 smape : 16.23304467143239
noworking
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.04147826568375187 mse :  0.004075400585253081 smape : 18.229225927220597
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.03449964780831324 mse :  0.0031939968964980244 smape : 20.362111830746727
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.04426230419481789 mse :  0.004698254574100971 smape : 19.75080414732735
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.05572360885953069 mse :  0.006984888592886837 smape : 22.341736377347175
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06253522270782073 mse :  0.01047591432090135 smape : 17.846206771494135
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.05319823976056325 mse :  0.005758549253402318 smape : 20.853352635792604
q1
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.05538090018329854 mse :  0.006843493112098945 smape : 21.85296723981506
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06595248036632458 mse :  0.009833549429230743 smape : 27.309263744067987
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.09209459636465818 mse :  0.017391523560184367 smape : 23.608819834345926
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.08029422311434624 mse :  0.013886890435362549 smape : 25.193136401791946
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.07339672006094611 mse :  0.015360516397998557 smape : 20.607089947245452
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.07810725763120267 mse :  0.011513657943802815 smape : 24.777201893438754
q2
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.04883113492796941 mse :  0.004923708546427634 smape : 14.138018507733731
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.04421391040542493 mse :  0.004537283229718822 smape : 15.933384946841583
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.049230345512841896 mse :  0.005247999103693672 smape : 16.79062578440054
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.04586281791150631 mse :  0.004705695084951209 smape : 16.766823674319106
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.04515081596898889 mse :  0.004152961792273941 smape : 12.737079131211171
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06789159356444573 mse :  0.009267914454545995 smape : 18.820103103709318
q3
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06251901691599354 mse :  0.008203078596695463 smape : 18.908081012990934
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06396661143850206 mse :  0.007662688366317777 smape : 19.699810043421753
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.07818781863622833 mse :  0.012082891830371829 smape : 21.820272750470018
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.04966091664991092 mse :  0.005789134197656706 smape : 15.168233588807157
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.05269846131877151 mse :  0.0048455268908361064 smape : 14.047954644535746
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.07284263186333784 mse :  0.010959796600114015 smape : 19.630428991752858
q4
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.056241635696702 mse :  0.006864460422152249 smape : 19.080272663170252
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.04945755102947573 mse :  0.0059060894492357924 smape : 18.82183227492334
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.04333519798525473 mse :  0.003909882146581695 smape : 17.21357991910726
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06122402105566204 mse :  0.008085991658977094 smape : 22.884574536298526
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.05065749977365424 mse :  0.004959737987065652 smape : 17.511206253548334
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06998468755863078 mse :  0.00969682384521719 smape : 22.486037228089412
s1
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.0679659145201445 mse :  0.009454734659997377 smape : 22.25196259794502
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.07488103818189173 mse :  0.013025579962465514 smape : 29.447495705241536
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.09778823345623999 mse :  0.018615202845866756 smape : 24.409365450852196
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.0843653735980219 mse :  0.014829613916187628 smape : 23.922469142520555
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.08154977543128766 mse :  0.017781197776052072 smape : 21.236631092904503
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.09424964577538353 mse :  0.016442749964600017 smape : 26.534001906879364
s2
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.051027414463856856 mse :  0.0055256615625797765 smape : 19.793990179722535
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.05672041492414554 mse :  0.007556830837838682 smape : 21.677879190743067
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.05898383112879794 mse :  0.008927139746532649 smape : 22.04251920897987
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06005908921700849 mse :  0.008317070285597472 smape : 23.748918369301457
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.049225785304007084 mse :  0.005487550038881366 smape : 20.271391692087576
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06658320984419316 mse :  0.008846154914567875 smape : 23.426479068932174
s3
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.056586225457138095 mse :  0.006502327983731681 smape : 16.87635053427756
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.058101622555234725 mse :  0.007113193089374219 smape : 19.60172194542431
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.0583787454625127 mse :  0.007001331968108376 smape : 16.68101102806014
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.05481045160645503 mse :  0.006659005200593434 smape : 17.173045071133362
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.051345924674864 mse :  0.004908717825739612 smape : 14.197056981266716
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.0822022260848167 mse :  0.013275828619170149 smape : 22.740241568848838
s4
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06826425028425259 mse :  0.009635833919667247 smape : 20.53342913749295
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06802062528176592 mse :  0.008713843795610313 smape : 21.119227600659933
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.08042837874333593 mse :  0.012620378801132228 smape : 22.139813408108047
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.057036021177481015 mse :  0.007446776143604652 smape : 16.414521592816953
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.062085638003860646 mse :  0.0065461875074845416 smape : 17.48235699333583
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.08152924387550156 mse :  0.01369085920153616 smape : 22.601973147022075
s5
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06320113381226969 mse :  0.008286741237655826 smape : 20.72897387067211
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.0540134190464568 mse :  0.005814032678264049 smape : 17.918629720469696
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.05890942328163715 mse :  0.00687329119136996 smape : 17.534567680508477
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.04325948125359217 mse :  0.0037559347025710064 smape : 17.68547227732787
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.05050479110539858 mse :  0.004823622774946041 smape : 18.78932383565357
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06403787607226896 mse :  0.008700383967815669 smape : 21.636870078109435
s6
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06875671565673243 mse :  0.009735890848022108 smape : 21.840276082554652
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06735685455237318 mse :  0.010317057596623509 smape : 24.316632932140546
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.07121649154456722 mse :  0.01019788855575494 smape : 20.958574942829365
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.08034859987581505 mse :  0.013517172214750742 smape : 26.49682906481887
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.07180203688530819 mse :  0.009999464815378313 smape : 21.312058595234085
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.07966659102434323 mse :  0.012325028572039964 smape : 25.117885280412004
e1
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.07399790040088756 mse :  0.010997831530630824 smape : 21.978528948755713
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.0752460479154308 mse :  0.013044553218954286 smape : 28.799754296462147
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.10010250969278178 mse :  0.019412955361347174 smape : 23.852530166142884
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.09025834592368143 mse :  0.016889559869257446 smape : 25.41293224591027
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.07728740306407292 mse :  0.016617041349559554 smape : 19.888492471034457
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.09826339038860936 mse :  0.017840372330987887 smape : 27.756844951913813
e2
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06993243228826872 mse :  0.010074564639153917 smape : 25.238349947715196
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.08124082514106395 mse :  0.013480378532815819 smape : 28.545653989969402
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.09699156519114499 mse :  0.018881001723605195 smape : 25.129319468960094
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.09382452804886242 mse :  0.018056885254992754 smape : 28.56056306036216
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.07949694728044993 mse :  0.015777114191975188 smape : 23.400907326965577
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.09301963828265798 mse :  0.0156307177695595 smape : 27.9051885657264
e3
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.054131709705337455 mse :  0.005852718949632834 smape : 17.085024605631823
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.04833820481706614 mse :  0.00532490590873113 smape : 18.481267963325394
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.05488553364022301 mse :  0.007094270263834783 smape : 20.02022554051922
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.05136513221100214 mse :  0.005525263945828414 smape : 22.011645047456245
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.04230876802479414 mse :  0.0036834855912024995 smape : 17.05002628534743
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06851434569250094 mse :  0.009415977182966957 smape : 22.44767135188464
e4
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06099978600039816 mse :  0.007575625502419398 smape : 18.263459586389605
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06788881190038402 mse :  0.009269813076328431 smape : 22.386748319034908
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.07114055315152638 mse :  0.009730977234359232 smape : 19.374299457918
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06338257578837127 mse :  0.009050621190822058 smape : 21.971871788042417
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.051931729221112125 mse :  0.005139930888939057 smape : 14.733613311638736
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.0864004235755995 mse :  0.014495296907763737 smape : 23.751275704601113
e5
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06912678504003957 mse :  0.00987381950215373 smape : 20.90493120660136
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.07002015713810858 mse :  0.00902494733040644 smape : 22.150533342006906
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.08146934377968676 mse :  0.012846723729064374 smape : 22.376024752100477
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.0579316940581913 mse :  0.007933888508631012 smape : 16.864120237174895
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06374665414267652 mse :  0.007093985196780417 smape : 18.735584972510456
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.08353639351677623 mse :  0.014217958286801006 smape : 23.266701363574203
e6
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06654219324666787 mse :  0.009152045085674436 smape : 21.276570199295165
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06586789313692608 mse :  0.008500603366648256 smape : 19.90524591122906
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.07770666534341616 mse :  0.012121424258714908 smape : 22.09176959022577
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.04968760320290132 mse :  0.005531358939157888 smape : 16.239150013720227
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.05774337380162745 mse :  0.006135393667266947 smape : 16.675465448238374
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.07148583658220337 mse :  0.010140902710438143 smape : 20.70936974847903
e7
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06980016653791606 mse :  0.009818056049433074 smape : 22.178281417637386
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.05747070572821338 mse :  0.007286435581174803 smape : 20.76342206924179
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.052702587655780515 mse :  0.0054611200250572695 smape : 17.582093814961386
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.06809250442134569 mse :  0.008574542809660659 smape : 23.938414364722508
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.05985910078074837 mse :  0.00670284859294515 smape : 18.333539260258835
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.07751533746672469 mse :  0.011659681271791962 smape : 23.327939737632096
e8
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.07539508515179466 mse :  0.011800482737578492 smape : 23.430767179989218
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.07996429454067966 mse :  0.014582159237737934 smape : 27.6686104302034
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.08625248826175091 mse :  0.014318956855232675 smape : 24.72564778873591
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.08437562677933075 mse :  0.014770011408748042 smape : 28.545043071210404
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.08466014310196233 mse :  0.015045087287312443 smape : 24.78092954540656
use_feature :  ['num', 'temperature', 'humidity', 'month', 'day', 'hour', 'weekday', 'weekend2', 'heat_index', 'work_hour', 'lunch_hour', 'lunch_hour2', 'dinner_hour', 'dinner_hour2', 'THI', 'CDH', 'mean_use_electric']
mae :  0.0901617397550279 mse :  0.015255376816357887 smape : 27.839343608966672
for subset in subsets:
    train_region2[subset] = pd.concat(train_region2[subset].values()).sort_values(['num', 'date']).reset_index(drop=True)
    test_region2[subset] = pd.concat(test_region2[subset].values()).sort_values(['num', 'date']).reset_index(drop=True)
    
for col in ['oof_lgb']:
    for subset in subsets:
        train_region2[subset][col+'2'] = np.concatenate([transform_region[subset][num].inverse_transform(train_region2[subset].loc[train_region2[subset]['num']==num, [col]]) for num in range(1, 61)])
        test_region2[subset][col+'2'] = np.concatenate([transform_region[subset][num].inverse_transform(test_region2[subset].loc[test_region2[subset]['num']==num, [col]]) for num in range(1, 61)])
        
for df in [train_region2, test_region2]:
    df['afternoon_morning'] = pd.concat([df['afternoon'], df['morning']]).sort_values(['num', 'date']).reset_index(drop=True)
    df['working_noworking'] = pd.concat([df['working'], df['noworking']]).sort_values(['num', 'date']).reset_index(drop=True)
    df['q1234'] = pd.concat([df['q1'], df['q2'], df['q3'], df['q4']]).sort_values(['num', 'date']).reset_index(drop=True)
    df['s123456'] = pd.concat([df['s1'], df['s2'], df['s3'], df['s4'], df['s5'], df['s6']]).sort_values(['num', 'date']).reset_index(drop=True)
    df['e12345678'] = pd.concat([df['e1'], df['e2'], df['e3'], df['e4'], df['e5'], df['e6'], df['e7'], df['e8']]).sort_values(['num', 'date']).reset_index(drop=True)
for subset in ['all', 'afternoon_morning', 'working_noworking', 'q1234', 's123456', 'e12345678']:
    print(smape(train_region2[subset]['oof_lgb2'], train['use_electric']))

smape(np.mean([train_region2['all']['oof_lgb2'],
                train_region2['afternoon_morning']['oof_lgb2'],
                train_region2['working_noworking']['oof_lgb2'],
                train_region2['q1234']['oof_lgb2'],
                train_region2['s123456']['oof_lgb2'],
                train_region2['e12345678']['oof_lgb2']], 0), train['use_electric'])
4.904486164267104
4.9381086017006
4.8948993577088356
4.9598043953166
4.9428339864017445
4.951370227115714
4.721349836159994
# 4.904486164267104
# 4.9381086017006
# 4.8948993577088356
# 4.9598043953166
# 4.9428339864017445
# 4.951370227115714
# 4.756103473189231
# 4.721349836159994
for df in [train2, train_cluster2, train_region2]:
    temp = np.zeros(len(train))
    for subset in ['all', 'afternoon_morning', 'working_noworking', 'q1234', 's123456', 'e12345678']:
        temp += df[subset]['oof_lgb2']
    df['all']['oof_lgb_mean'] = temp/6
    
for df in [test2, test_cluster2, test_region2]:
    temp = np.zeros(len(test))
    for subset in ['all', 'afternoon_morning', 'working_noworking', 'q1234', 's123456', 'e12345678']:
        temp += df[subset]['oof_lgb2']
    df['all']['oof_lgb_mean'] = temp/6
sub = pd.read_csv('energy/sample_submission.csv')
sub['answer_subset'] = ((np.concatenate(list(pred_lgb678.values()))*.7 + np.concatenate(list(pred_xgb678.values()))*.3)*.45 +
                        (np.concatenate(list(pred_lgb78.values()))*.7 + np.concatenate(list(pred_xgb78.values()))*.3)*.45 +
                        (np.concatenate(list(pred_lgb8.values()))*.7 + np.concatenate(list(pred_xgb8.values()))*.3)*.1)

sub['answer_time'] = (test2['all']['oof_lgb_mean']*0.35 + 
                        test_cluster2['all']['oof_lgb_mean']*0.35 + 
                        test_region2['all']['oof_lgb_mean']*0.3)

post processing

# subset models
w1 = [1.001, 1.013, 1.001, 0.962, 0.985, 1.025, 1.0, 1.045, 0.994, 1.02 , 
 0.958, 0.983, 1.009, 0.993, 0.991, 0.989, 1.007, 0.997, 1.028, 1.03 , 
 1.029, 1.041, 1.029, 1.009, 1.011, 1.014, 1.046, 0.998, 0.969, 1.02 , 
 1.006, 1.003, 0.999, 0.967, 1.049, 1.03 , 1.006, 1.031, 1.018, 0.965, 
 0.981, 0.964, 1.007, 1.029, 1.008, 0.99 , 0.998, 1.05 , 1.038, 1.0  , 
 0.999, 0.991, 1.015, 1.021, 1.027, 1.038, 1.05 , 0.993, 0.957, 0.996]
w2 = [i if i>1.0 else 1.0 for i in w1]

sub['answer_subset'] = np.expm1(subset_best)
sub['num'] = test['num']
for num in range(1, 61):
    sub.loc[sub['num']==num, 'answer_subset'] = sub.loc[sub['num']==num, 'answer_subset']*w2[num-1]
## time model weight
w1 = [1.0, 1.009, 1.005, 0.981, 0.99, 1.03, 0.989, 1.049, 0.986, 1.01, 0.95,
     0.968, 1.006, 0.984, 0.982, 0.966, 0.996, 0.96, 0.973, 1.004, 1.023,
     1.05, 1.03, 1.0, 0.99, 1.02, 1.034, 0.956, 0.951, 0.997, 1.004, 1.002,
     0.995, 0.95, 1.05, 1.032, 1.001, 1.033, 1.032, 0.956, 0.97, 0.95, 1.0,
     1.033, 0.99, 0.975, 0.992, 1.048, 1.023, 0.994, 0.973, 0.98, 1.014,
     1.025, 1.027, 1.05, 1.05, 0.974, 0.95, 0.977]
w2 = [i+0.02 if i<0.98 else 1.0 for i in w1]
for num in range(1, 61):
    sub.loc[sub['num']==num, 'answer_time'] = sub.loc[sub['num']==num, 'answer_time']*w2[num-1]
sub['answer'] = sub['answer_subset']*.7 + sub['answer_time']*.3
sub[['num_date_time', 'answer']].to_csv('submission.csv', index=False)