[Python] 회귀분석(keras)

37. 회귀분석(keras)

37.1 케라스(keras)

37.1.1 케라스의 개요

  1. 파이썬으로 구현된 쉽고 간결한 딥러닝(deep learning) 라이브러리
  2. 구글의 엔지니어인 프랑소와 숄레(Francois Chollet)가 2015년 3월에 발표
  3. 최근 버전: 2019년 10월 현재 2.3.0
  4. 내부적으로는 텐서플로우(tensorflow) 엔진이 구동되지만 직관적인 API로 쉽게 딥러닝 실험을 할 수 있도록 지원함

37.1.2 케라스의 주요 특징

  1. 모듈화(Modularity): 독립적인 모듈들을 조합하여 구현
  2. 최소주의(Minialism): 각 모듈은 짧고 간결
  3. 쉬운 확장성: 클래스나 함수로 모듈을 쉽게 추가할 수 있음
  4. 파이썬 기반: 별도의 설정이 필요없음

37.1.3 케라스 설치

pip install keras

37.1.4 케라스를 이용한 실습 순서

  1. 데이터셋 생성

    데이터로부터 학습용, 검증용 데이터셋 구분

    딥러닝 모델의 학습 및 검증을 할 수 있도록 케라스에서 요구하는 형태로 변환을 해야 함

  2. 모델 구성

    Sequence 모델을 생성한 후 필요한 Layer를 추가하여 구성

  3. 모델 학습과정 설정

    손실 함수 및 최적화 방법 정의

    모델 컴파일

  4. 모델 학습

    학습용 데이터를 이용하여 모델 학습

  5. 학습과정 출력

    학습 시 학습용, 검증용 데이터셋의 손실 및 정확도 측정

  6. 모델 평가

    검증용 데이터셋으로 학습한 모델을 평가

  7. 새로운 데이터 사용하여 값을 예측

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

'programming > python' 카테고리의 다른 글

[Python] DNN(Keras)  (0) 2019.10.30
[Python] 인공신경망 실습(Keras)  (0) 2019.10.29
[Python] 회귀분석(keras)  (0) 2019.10.25
[Python] Tensorflow 실습  (0) 2019.09.11
[Python] Tensorflow 기초  (0) 2019.09.10
[Python] Java와 Python 연동  (4) 2019.09.04

댓글(0)

Designed by JB FACTORY