인공 신경망 (Neural Network)
- 사람의 뇌세포를 묘사해서 구조를 만들고 사람의 두뇌처럼 연결해 놓은것이 인공 신경망이다.
학습의 순서
- 과거의 데이터를 준비하고 -> 모델의 선택 및 구조를 만든다. -> 데이터로 모델을 학습 합니다 -> 모델을 이용한다.
데이터 준비
import pandas as pd
lemon_df = pd.read_csv("https://raw.githubusercontent.com/blackdew/ml-tensorflow/master/data/csv/lemonade.csv")
x = lemon_df[['온도']]
y = lemon_df[['판매량']]
모델의 구조
import tensorflow as tf
X = tf.keras.Input(shape = [1])
Y = tf.keras.layers.Dense(1)(X)
model = tf.keras.Model(X,Y)
model.compile(loss = "mse")
- Input shape 와 Dense 안에 수치는 종속변수와 독립변수의 개수를 말한다.
- 모델과 예측의 차이를 제곱해서 평균을 내는것이 "MSE" 이다 회귀 문제에서 사용된다.
모델의 학습
model.fit(x,y,epochs = 1000)
- epochs = 학습을 몇번 할것인지 를 나타낸다.
- 학습이 끝나는것을 확인하는 방법은 loss 값이 꾸준히 작아지는것을 확인하는것이다.
모델의 예측
model.predict([[15]])
- 예측은 sklearn 이랑 똑같이 predict 함수를 사용한다.
선형식
model.get_weights()