본문 바로가기

개발7

Kaggle - London Bike Sharing (6) 머신러닝 기반 예측값 분석 각 모형별로 어떤 차이가 있는가? * 방법별 예측 결과를 pd.DataFrame에 넣어서 비교하기 xgb = pd.DataFrame(xgb_pred) lgbm = pd.DataFrame(lgb_pred) dnn = pd.DataFrame(y_pred) rf = pd.DataFrame(rf_result) compare = pd.DataFrame(y_test).reset_index(drop=True) # 방법 별 에측한 시간대별 자전거 이용객 수 할당 compare['xgb'] = xgb compare['lgbm'] = lgbm compare['dnn'] = dnn compare['rf'] = rf compare.head() >> * 예측 결과의 분포 비교 sns.kdeplot(compare['cnt'], .. 2023. 10. 5.
Kaggle - London Bike Sharing (5) 머신러닝 기반 학습,예측 * 모형 평가 metric 설정 - RMSE from sklearn.metrics import mean_squared_error def RMSE(y_test, y_pred): return np.sqrt(mean_squared_error(y_test, y_pred)) * RandomForestRegressor RandomForest를 사용한 회귀 방식 RandomForestRegressor 함수에는 수많은 옵션이 있지만, n_estimators와 random_state만 사용해서 진행했다. from sklearn.ensemble import RandomForestRegressor rf = RandomForestRegressor(n_estimators=100, random_state=16) #100개의 모형.. 2023. 10. 3.
Kaggle - London Bike Sharing (4) 딥러닝 모델 구성, 학습 keras를 사용한 학습 방법이다. * 필요 라이브러리 import import keras from keras.models import Sequential from keras.layers import Dense from keras.callbacks import EarlyStopping * 위 라이브러리를 사용한 학습 모델 구성 (layer 쌓기) Dense layer 4개로만 이루어진 간단한 모델을 쌓는다. 이전 단계에서 만들어둔 x_train의 개수가 57개이다. (아래 코드에서는 57 대신 shape의 크기를 가져왔다) model = Sequential() model.add(Dense(units=160, activation='relu', input_dim=int(x_train.shape[1])) ) .. 2023. 10. 3.
Kaggle - London Bike Sharing (3): 데이터셋 split # y에는 이용객 수를, x에는 그 외 값들을 넣는다. # timestamp 정보는 year/hour 등으로 나뉘어 들어가있으므로 df_x에서는 'timestamp'와 'cnt'를 제거 df_y = df_out['cnt'] df_x = df_out.drop['timestamp','cnt'],axis=1) # 열 기준으로 'timestamp', 'cnt' 값에 해당하는 데이터 drop from sklearn.model_selection import train_test_split x_train, x_test, y_train, y_test = train_test_split(df_x, df_y, random_state=66, test_size=0.3, shuffle=False) ''' random_state :.. 2023. 10. 3.