다음으로 변수 스케일링 과정을 실행한다.
df_prescaled = df.copy() df_scaled = df.drop(['fare_amount'], axis=1) df_scaled = scale(df_scaled) cols = df.columns.tolist() cols.remove('fare_amount') df_scaled = pd.DataFrame(df_scaled, columns=cols, index=df.index) df_scaled = pd.concat([df_scaled, df['fare_amount']], axis=1) df = df_scaled.copy()
그런 다음 DataFrame을 훈련 데이터셋과 테스트 데이터셋으로 나눈다.
X = df.loc[:, df.columns != 'fare_amount'] y = df.fare_amount X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
이제 케라스로 심층 전방향 신경망을 만들고 훈련시킨다.
model=Sequential() model.add(Dense(128, activation='relu', input_dim=X_train.shape[1])) model.add(Dense(64, activation='relu')) model.add(Dense(32, activation='relu')) model.add(Dense(8, activation='relu')) model.add(Dense(1)) model.compile(loss='mse', optimizer='adam', metrics=['mse']) model.fit(X_train, y_train, epochs=1)