[생활코딩/머신러닝야학] 레몬네이드 판매량 예측(2) - neural network

2021. 1. 11. 23:47·개발/머신러닝
728x90

[개발/머신러닝] - [생활코딩/머신러닝 야학] 레모네이드 판매량 예측(1) - pandas

 


지도학습 - neural network(신경망)

 

1. 독립변수와 종속변수를 준비

2. 독립변수를 모델에 넣어주면, 모델은 예측 결과③를 만들어 준다.

3. 이모델이 얼마나 좋은지 평가하기 위해 준비한 실제 정답(종속변수)④과 예측 결과③를 비교해야 한다.

4. 모든 예측③과 정답④을 비교해서, 차이⑤를 구한다.

차이의 제곱을 한 결과를 만들고, 그 결과들의 평균을 구하면 그 값이 [Loss]

예측이 정답을 모두 맞히고 있으면, 그 차이 값은 0이 된다.(loss값=0)

loss가 0에 가까워질수록 학습이 잘 된 모델이라 할 수 있다.

[epochs 한 번마다 모든 데이터에 대해 예측 결과를 내고, loss의 평균을 구함]

※매 epochs마다 loss가 0에 가까워지고 있는지 확인 것이 중요하다.

loss가 원하는 수준으로 떨어질 때까지 반복해서 학습을 시키면 된다.

epochs loss
전체 데이터를 몇번반고하여 학습할 것인지를 결정해 주는 숫자(학습 횟수) - loss가 0에 가까울수록 얼마나 정답에 가까이 맞추고있는지, 평가하는 지표
- loss값을 보면서 0에 가까워 지고있는지, 반복학습(fit)을 해야한다.
- (예측값-결과값)^2 의 평균값

 


실습

10,100번 학습하다가 loss가 낮아 100000번 학습시켰다.

#!/usr/bin/env python
# -*- coding: utf-8 -*-

# 라이브러리 사용
import tensorflow as tf # pip install --upgrade tensorflow
import pandas as pd # pip install pandas

#1. 과거의 데이터 준비
lemonade = pd.read_csv('https://raw.githubusercontent.com/blackdew/tensorflow1/master/csv/lemonade.csv')
print('lemonade head = {}',lemonade.head)
independent_var = lemonade[['온도']] # 독립변수
dependent_var = lemonade[['판매량']] # 종속변수
print('lemonade의 독립변수 = {}, 종속변수 = {}\n'.format(independent_var.shape ,dependent_var.shape))

#2. 모델의 구조를 만듬(모델생성)
# 모델구조 만들 때, 독립,종속변수의 개수가 중요하다 - 독립(x),종속(y)
X = tf.keras.layers.Input(shape=[1]) # 1 = 독립변수의 컬럼개수
Y = tf.keras.layers.Dense(1)(X) # 1 = 종속변수의 컬럼개수
model = tf.keras.models.Model(X, Y) # 모델 생성
model.compile(loss='mse') # 모델이 학습할 방법

# 3. 데이터로 모델을 학습(FIT)
# - 학습이 얼마나 진행되었는지(정답에 가까워 지었는지 평가)
# - 학습을 많이 할수록 정답에 가까움
model.fit(independent_var, dependent_var, epochs=10) # epochs = 전체 데이터를 몇번반고하여 학습할 것인지를 결정해 주는 숫자
# 100000번 학습
model.fit(independent_var, dependent_var, epochs=100000, verbose=0) # verbose =0 출력(로그) 표시안함

# 4. 모델을 이용
print(model.predict(independent_var)) # 독립변수 예측값 확인
print(dependent_var) # 종속변수결과 출력하여 예측한 값이 맞는 지 확인
print(model.predict([[15]])) # 독립변수 값으로 15 입력 후, 예측 값 확인

정답 확인 및 예측결과


opentutorials.org/course/4570/28974

 

첫번째 딥러닝 - 레모네이드 판매 예측 - 생활코딩

수업소개 레모네이드 판매량을 예측하는 딥러닝 모델을 텐서플로우를 이용하여 만들어 봅니다.  강의  손실의 의미  실습  소스코드 colab |  backend.ai ########################### # 라이브러리 사용 i

opentutorials.org

728x90
저작자표시 비영리 변경금지 (새창열림)

'개발 > 머신러닝' 카테고리의 다른 글

[생활코딩/머신러닝야학] 아이리스 품종 분류  (0) 2021.01.13
[생활코딩/머신러닝야학] 보스턴 집값 예측  (0) 2021.01.12
[생활코딩/머신러닝야학] 레몬네이드 판매량 예측(1) - pandas  (0) 2021.01.11
[생활코딩/머신러닝야학] 머신러닝의 분류  (0) 2021.01.08
[생활코딩/머신러닝야학] 독립변수? 종속변수?  (0) 2021.01.08
'개발/머신러닝' 카테고리의 다른 글
  • [생활코딩/머신러닝야학] 아이리스 품종 분류
  • [생활코딩/머신러닝야학] 보스턴 집값 예측
  • [생활코딩/머신러닝야학] 레몬네이드 판매량 예측(1) - pandas
  • [생활코딩/머신러닝야학] 머신러닝의 분류
호이호이209
호이호이209
이것저것 기록하는 메모장
    250x250
  • 호이호이209
    R=VD
    호이호이209
    • R=VD전체글 (83)
      • 개발 (63)
        • Linux (19)
        • 머신러닝 (10)
        • Git (6)
        • Python (9)
        • 프로그래밍 언어 (2)
        • Docker (5)
        • ETC (12)
      • 일상기록 (20)
        • 여행 (5)
        • 일상-이모저모 (8)
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
호이호이209
[생활코딩/머신러닝야학] 레몬네이드 판매량 예측(2) - neural network
상단으로

티스토리툴바