
- 과거의 데이터를 준비
- 모델의 구조를 만든다.
- 데이터로 모델을 학습(FIT)한다
- 모델을 이용한다.


loss가 0에 가까워질수록 학습이 잘 된 것!
필요한 라이브러리 가져오기
import pandas as pd
import tensorflow as tf
데이터 불러오기
# 1. 데이터 불러오기
lemonade = pd.read_csv("csv/lemonade.csv")
# 독립변수 종속변수
lemonade_x = lemonade[['온도']]
lemonade_y = lemonade[['판매량']]
모델 만들기
# 2. 모델 만들기
# 1 depth layer
# 독립변수 1개 shape= [1]
X = tf.keras.layers.Input(shape=[1])
# 종속변수 1개 Dense(1)
Y = tf.keras.layers.Dense(1)(X)
model = tf.keras.models.Model(X,Y)
model.compile(loss= 'mse')
X = tf.keras.layers.Input(shape=[1]) 독립변수가 1개이기 때문에 shape = [1]Y = tf.keras.layers.Dense(1)(X) 종속변수가 1개이기 때문에 shape = [1]mse사용 (mean squre error)학습하기

epoch은 전체 데이터를 몇 번 학습할 것인지 
verbose =0으로 지정하면 해당 학습 과정이 프린트 되지 않음예측하기

학습한 모델에 따라서 예측(결과)값을 출력독립변수가 여러개인 모형(퍼셉트론)

독립변수가 여러개인 것을 확인 가능 shape과 tail(head)로 확인하는 습관 들이기
shape=[13]
예측하기

가중치

get_weights를 사용하면 각 변수의 weight(계수)를 알 수 있음bias종속변수가 연속형 데이터가 아닌 범주형 데이터

One hot encoding - 범주형 데이터-> 확률로 표현


get_dummies로 one-hot-encoding가능

독립변수 : 4개 (['꽃잎길이', '꽃잎폭', '꽃받침길이', '꽃받침폭'])
X = tf.keras.layers.Input(shape=[4])
종속변수 : 3개 (['품종_setosa', '품종_versicolor',
'품종_virginica'])
Y = tf.keras.layers.Dense(3, activation="softmax")(X)활성함수(activation function)는softmax를 사용
loss function -
categorical_crossentrophy를 사용
인공 신경망에서 입력을 변환하는 함수 - 입력값으로 종속변수의 확률을 추측하는 함수

softmax vs sigmoid
모델 학습

accuracy로 분류를 몇 %의 정확도로 예측하는 지 확인가능
품종_setosa가 0.7 ~ 0.8로 확률이 가장 크다는 것을 확인할 수 있음

각 활성함수는 가중치를 세로의 수로 한다.
예시 ) 품종_setosa = 9.8x1 + 6.9x2 + -6.9x3 + -1.39 x4 + 0.1256(bias)
perceptron를 여러개 연결해서 학습 효과를 향상시킬 수 있음