-
Tensorflow - 지도학습 순서(레모네이드 판매 예측)생활코딩/머신러닝야학 2020. 8. 14. 16:59
[강의 출처] opentutorials.org/module/4966/28974
지도학습 순서
데이터 준비 -> 모델 구조 생성 -> 모델 학습(FIT) -> 적용
# 라이브러리 사용 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]) # 독립변수의 개수가 1이어서 shape=[1] Y = tf.keras.layers.Dense(1)(X) # 종속변수의 개수가 1이어서 Dense(1)(X) model = tf.keras.models.Model(X, Y) model.compile(loss='mse') # 모델 학습 방법 설정 # 모델을 학습시킵니다. model.fit(독립, 종속, epochs=10) # epochs: 데이터를 몇 번 반복학습할 지 결정하는 변수 """ Epoch 1/10 # 몇 번째 학습인지 알려주는 부분 1/1 [==============================] - 0s 2ms/step - loss: 57.7534 # os 2ms/step: 학습에 소요된 시간 # loss: 학습이 얼마나 진행되었는지, 정답에 가까워졌는지를 평가하는 지표 (예측-결과)^2의 평균값 loss가 0에 가까워질수록 학습이 잘 된 모델이므로 loss가 원하는 수준으로 떨어질 때까지 반복학습 """ model.fit(독립, 종속, epochs=1000, verbose=0) # verbose: 진행 현황 출력, 0이 출력 삭제 # 모델을 이용합니다. print(model.predict(독립)) """ [[33.58464 ] [35.213554] [36.84247 ] [38.47138 ] [40.100292] [41.729206]] """ # epochs: 1000, loss: 54.6606 정도에서 학습을 멈췄기 때문에 위와 같은 값이 나옴. # epochs을 10000 정도로 늘리면 종속 정답값과 비슷한 값을 얻을 수 있음. print(model.predict([[15]])) # [[25.44008]] model.fit(독립, 종속, epochs=10000, verbose=0) # 다시 epochs 10000 학습시킨 후 결과를 확인해보면 print(model.predict([[15]])) # [[30.014782]]
*파이썬에서의 소수점 표기 중 2.2443e-04 = 2.2443 * 10^(-4) = 0.00022443
'생활코딩 > 머신러닝야학' 카테고리의 다른 글
Tensorflow - 데이터 타입과 N/A값 (전처리 Tip) (0) 2020.08.19 Tensorflow - 히든레이어와 인공신경망 (0) 2020.08.19 Tensorflow - 분류모델, 원핫인코딩, Softmax(아이리스 품종 분류) (0) 2020.08.18 Tensorflow - 딥러닝 모델과 퍼셉트론(보스턴 집값 예측) (0) 2020.08.17 Pandas 기초 - shape, indexing, columns, head (0) 2020.08.14