기존에 있는 데이터를 가지고 예측하는 것을 진행해봅시다.

이러한 형태로 예측을 보통 진행하게 됩니다. (아주 간단한 예제)
여러가지(ex 강화학습,지도학습,비지도학습 등)방법을 통해 예측할 수있만 너무 깊은 지식이 필요하여 이 강의에서는 간단한 숫자로 예측하는 "레모네이드 판매예측"실습을 통해 알아보겠습니다.
1. 데이터 준비
Pandas(표 형태를 가진 데이터(ex : 엑셀)을 다루기 위한 라이브러리) 예제
Pandas에서 사용되는 표 형태로써 시리즈(Series) , 데이터프레임(DataFrame)이 있습니다.
시리즈(Series)는 1차원 배열의 형태를 가진 표입니다. 왼쪽에 인덱스 또한 표현됩니다.
데이터프레임(DataFrame)은 2차원 배열의 형태를 가진 표입니다. 각 행과 열에 인덱스가 표현됩니다.

레모네이드 데이터를 가져오기

위와 같이 데이터 프레임( 행렬) 형태로 나오는것을 알 수 있습니다.

2. Tensorflow를 사용한 예측 모델 만들기
x(온도)로 부터 y(판매량)를 예측하기 위해 각 변수에 각 열의 데이터를 저장합니다.
x를 독립, y를 종속이라고 부르기도 합니다.

X = tf.keras.layers.Input(shape=[1]) : shape=[1]은 x데이터는 1개 열을 가지기 때문에 이 층(Layer)에 들어갈 열의 갯수를 지정해줍니다.
Y = tf.keras.layers.Dense(1)(X) : Dense는 중간층 즉,입력과 출력을 연결해주는 층입니다.
여기서 1도 마찬가지로 예측할 열의 갯수가 1개 이기 때문입니다.
model = tf.keras.models.Model(X, Y) : 모델을 직접 설계 합니다.
model.compile(loss='mse') : MSE공식을 활용한 손실 함수를 통해 모델을 만듭니다.
MSE(Mean Squared Error) :평균 제곱 오차로서 간단히 말하면 오차의 제곱에 대해 평균을 나타낸것입니다. 이 때 값이 작을 수록 정확성이 높은것 입니다.
3. 모델 학습하기
모델을 학습합니다. 10번 반복합니다.

10번 반복한 결과 : loss값이 높아 1000번 다시 한번 학습시켜보도록 하겠습니다.


loss 값이 확실히 줄었다는 것을 알 수 있습니다.
4. 예측 하기
model.predict(x) : x를 매개체로 y값을 예측 합니다.

온도x값이 30도일 때 판매량을 예측 합니다.


정답과 예측 한 값이랑 많이 차이가 나는 것을 볼 수 있습니다.
→ 해결방법은 loss를 줄여 예측 값을 높이는 것입니다. 그래서 loss가 최대한 0에 수렴할 때 까지 학습시키면 예측률이 높아집니다.