반응형
37. 회귀분석(keras)
37.1 케라스(keras)
37.1.1 케라스의 개요
- 파이썬으로 구현된 쉽고 간결한 딥러닝(deep learning) 라이브러리
- 구글의 엔지니어인 프랑소와 숄레(Francois Chollet)가 2015년 3월에 발표
- 최근 버전: 2019년 10월 현재 2.3.0
- 내부적으로는 텐서플로우(tensorflow) 엔진이 구동되지만 직관적인 API로 쉽게 딥러닝 실험을 할 수 있도록 지원함
37.1.2 케라스의 주요 특징
- 모듈화(Modularity): 독립적인 모듈들을 조합하여 구현
- 최소주의(Minialism): 각 모듈은 짧고 간결
- 쉬운 확장성: 클래스나 함수로 모듈을 쉽게 추가할 수 있음
- 파이썬 기반: 별도의 설정이 필요없음
37.1.3 케라스 설치
pip install keras
37.1.4 케라스를 이용한 실습 순서
데이터셋 생성
데이터로부터 학습용, 검증용 데이터셋 구분
딥러닝 모델의 학습 및 검증을 할 수 있도록 케라스에서 요구하는 형태로 변환을 해야 함
모델 구성
Sequence 모델을 생성한 후 필요한 Layer를 추가하여 구성
모델 학습과정 설정
손실 함수 및 최적화 방법 정의
모델 컴파일
모델 학습
학습용 데이터를 이용하여 모델 학습
학습과정 출력
학습 시 학습용, 검증용 데이터셋의 손실 및 정확도 측정
모델 평가
검증용 데이터셋으로 학습한 모델을 평가
새로운 데이터 사용하여 값을 예측
37.2 실습소스1 - keras 기반의 회귀분석 예제
%matplotlib inline
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
from matplotlib import font_manager, rc
import keras
from keras.models import Sequential
from keras.layers.core import Dense
from keras.optimizers import RMSprop
from mpl_toolkits.mplot3d import Axes3D
# 한글 처리를 위해 폰트 설정
font_name
font_manager.FontProperties(fname = "c:/Windows/Fonts/malgun.ttf").get_name()
rc('font', family = font_name)
np.random.seed(7)
# 데이터 로딩, 시작 36행은 건너뜀
data = np.genfromtxt("d:/data/regression/x09.txt", skip_header = 36)
data[:10]
xdata = np.array(data[:,2], dtype = np.float32)
ydata = np.array(data[:,3], dtype = np.float32)
37.3 실습예제2 - eras 기반의 회귀분석(주택가격 데이터셋)
import keras
# 케라스의 버전 확인
keras.__version__
# 주택 가격 예측: 회귀분석
# 회귀분석: 연속적인 값을 예측
# 예) 과거 기상 데이터를 입력하여 내일의 기온을 예측
# 보스턴 주택 가격 데이터셋
# 1970년 중반 보스턴 외곽 지역의 범죄율, 지방세율 등의 데이터로 주택 가격 예측
# 샘플 갯수: 506개(학습용 404개, 검증용 102개)
from keras.datasets import boston_housing
(train_data, train_targets), (test_data, test_targets) = boston_housing.load_data()
# 학습용 404개, 검증용 102개, 13개의 변수
train_data.shape
test_data.shape
반응형