UOMOP
배치 경사 하강법 using keras (boston) 본문
1. 데이터 불러와서 feature, target 분리하기
import pandas as pd
import numpy as np
from sklearn.preprocessing import MinMaxScaler
from sklearn.datasets import load_boston
from tensorflow.keras.layers import Dense
from tensorflow.keras.models import Sequential
from tensorflow.keras.optimizers import Adam
boston = load_boston()
boston_df = pd.DataFrame(boston.data, columns = boston["feature_names"])
feature_df = boston_df[["RM", "LSTAT"]]
target_df = boston.target
2. feature 전처리 (Scaling)
mms = MinMaxScaler()
scaled_feature_df = mms.fit_transform(feature_df)
3. model 생성 및 layer 추가
model = Sequential()
model.add(Dense(1, input_shape = (2, ), activation = None, kernel_initializer = "zeros",
bias_initializer = "ones"))
input_shape : 특성이 2가지 이므로 특성에 대한 data 2개가 입력이 될 것이다.
activation : '분류' 확률로 바꿔줘야해서 sigmoid, unit step, tanh 등을 사용. 해당 예제에서는 사용 안함.
kernel_initializer : 초기 선형식의 가중치(weight)를 설정
bias_initializer : 초기 선형식의 절편(bias)를 설정
4. 모델 설정
model.compile(optimizer = Adam(learning_rate = 0.01), loss = "mse", metrics = ["mse"])
최적화 방법, 손실함수, 성능지표 등을 설정
5. 모델 훈련
model.fit(scaled_feature_df, target_df, epochs = 1000)
6. 위 모델로 에측 진행
predict = model.predict(scaled_feature_df)
boston_df["PRICE"] = boston.target
boston_df["PREDICT_using_keras"] = predict
'Ai > DL' 카테고리의 다른 글
Functional API (0) | 2022.02.06 |
---|---|
미니배치 경사 하강법 using algorithm (boston) (0) | 2022.02.01 |
확률적 경사 하강법 using algorithm (boston) (0) | 2022.02.01 |
배치 경사 하강법 using algorithm (boston) (0) | 2022.02.01 |
기본적인 케라스(keras)모델 구현 (0) | 2022.01.30 |
Comments