https://opentutorials.org/course/4570/28974
7강 레모네이드 판매 예측
지도학습의 과정
- 과거의 데이터를 준비
레모네이드 = pd.read_csv('lemonade.csv') 독립 = 레모네이드[['온도']] 종속 = 레모네이드[['판매량']] print(독립.shape, 종속.shape)
- 모델의 구조 만들기 --> 이 코드가 핵심
X = tf.keras.layers.Input(shape[1]) #독립변수의 개수가 온도라는 칼럼 하나이기 때문에 shape[1] Y = tk.keras.layers.Dense(1)(X) #종속변수의 개수가 판매량 하나이기 때문에 Dense(1) model = tf.keras.models.Model(X, Y) model.compile(loss='mse')
- 데이터로 모델을 학습(FIT)
model.fit(독립, 종속, epochs=1000) #epoch: 전체 데이터를 몇번 반복하여 학습할 것인지 결정
- 만들어진 모델 이용
print("Predictions: ", model.predict([[15]]))
8강 손실의 의미
Loss
파란 부분: 이번 학습이 몇 번째 학습인지 알려주는 부분
주황색 부분: 각 학습마다 얼마의 시간이 걸렸는지 알려주는 부분
초록 부분: 학습이 얼마나 진행되었는지 알려주는 부분. 각 학습이 끝날 때마다 그 시점에 모델이 얼마나 정답에 가까이 맞추고 있는지 평가하는 지표. 학습이 진행되면 될수록 점점 더 정확하게 정답을 맞추게 됨. --> loss
독립변수를 모델에 넣어주면 모델이 예측 결과를 만들어줌
-> 이 예측 결과를 실제 정답인 종속변수와 비교해야 함.
-> 그 차이의 제곱을 한 결과(예측 - 결과)^2의 평균이 바로 loss
-> loss가 0에 가까울수록 학습이 잘 된 결과. loss가 원하는 수준으로 떨어질 때까지 학습을 시켜야 함.
9강 레모네이드 판매 예측(실습)
###########################
# 라이브러리 사용
import tensorflow as tf
import pandas as pd
###########################
# 데이터를 준비합니다.
파일경로 = 'https://raw.githubusercontent.com/blackdew/tensorflow1/master/csv/lemonade.csv'
레모네이드 = pd.read_csv(파일경로)
레모네이드.head()
# 종속변수, 독립변수
독립 = 레모네이드[['온도']]
종속 = 레모네이드[['판매량']]
print(독립.shape, 종속.shape)
###########################
# 모델을 만듭니다. 가장 간단한 형태의 모델을 뉴럴넷으로 구성(뇌세포 하나만으로 모델을 만든 것)
X = tf.keras.layers.Input(shape=[1]) #input layer를 만드는 부분
Y = tf.keras.layers.Dense(1)(X) #dense layer를 만드는 부분
model = tf.keras.models.Model(X, Y)
model.compile(loss='mse') #모델이 학습할 방법을 정해주는 것
###########################
# 모델을 학습시킵니다.
model.fit(독립, 종속, epochs=1000, verbose=0) #verbose=0 : 화면 출력을 하지 않도록
model.fit(독립, 종속, epochs=10) #학습 결과 확인용
###########################
# 모델을 이용합니다.
print(model.predict(독립)) #우리가 준비한 독립변수를 넣어서 종속변수의 정답과 가까이 정답을 맞추는 지 확인
print(model.predict([[15]])) #15도일때 몇개의 레모네이드를 준비해야 하는지 예측
'스터디📖 > ML, DL' 카테고리의 다른 글
Tensorflow (python) - 13강 학습의 실제 (0) | 2021.08.27 |
---|---|
Tensorflow (python) - 10, 11, 12강 두번째 딥러닝 - 보스턴 집값 예측 (0) | 2021.08.25 |
Tensorflow (python) - 5, 6강 표를 다루는 도구 '판다스' (0) | 2021.08.23 |
Tensorflow (python) - 1, 2, 3, 4강 (0) | 2021.08.21 |
머신러닝 처음 시작하기(인프런) - 18강 최종 실습 - 타이타닉3 (0) | 2021.08.19 |