실습 | 주택 가격 예측하기
from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense from tensorflow.keras.callbacks import EarlyStopping from sklearn.model_selection import train_test_split import matplotlib.pyplot as plt import seaborn as sns import pandas as pd import numpy as np # 깃허브에 준비된 데이터를 가져옵니다. !git clone https://github.com/taehojo/data.git # 집 값 데이터를 불러옵니다. = pd.read_csv("./data/house_train.csv") # 카테고리형 변수를 0과 1로 이루어진 변수로 바꾸어 줍니다. = pd.get_dummies( ) # 결측치를 전체 칼럼의 평균으로 대체해 채워 줍니다. = .fillna( .mean()) # 데이터 사이의 상관관계를 저장합니다. = .corr() # 집 값과 관련이 큰 것부터 순서대로 저장합니다. = .sort_values('SalePrice', = ) # 집 값을 제외한 나머지 열을 저장합니다. = ['OverallQual','GrLivArea','GarageCars','GarageArea','TotalBsmtSF'] = [ ] # 집 값을 저장합니다. = ['SalePrice']. # 전체의 80%를 학습셋으로, 20%를 테스트셋으로 지정합니다. , , , = train_test_split( , , =0.2) # 모델의 구조를 설정합니다. = Sequential() .add(Dense(10, = .shape[1], ='relu')) .add(Dense(30, ='relu')) .add(Dense(40, ='relu')) .add(Dense(1)) .summary() # 모델을 실행합니다. .compile( ='adam', ='mean_squared_error') # 20번 이상 결과가 향상되지 않으면 자동으로 중단되게끔 합니다. = EarlyStopping( ='val_loss', =20) # 모델의 이름을 정합니다. = "./data/model/Ch15-house.hdf5" # 최적화 모델을 업데이트하고 저장합니다. = ModelCheckpoint( = , ='val_loss', =0, = ) # 실행 관련 설정을 하는 부분입니다. 전체의 20%를 검증셋으로 설정합니다. = .fit( , , =0.25, =2000, =32, =[ , ])