학교/인공지능

레모네이드 실습 코드

서윤-정 2024. 4. 19. 10:23

import tensorflow as tf

import pandas as pd

 

# 데이터 준비 

# 레모네이드 데이터셋 불러오기

filepath = '/content/lemonade.csv'

lemonade = pd.read_csv(filepath)

lemonade.head()

 

# 독립 변수(temp)와 종속변수(sales)를 선택

independent = lemonade[['temp']]

dependent = lemonade[['sales']]

# 데이터 형태 확인

print(lemonade.shape)

print(independent.shape, dependent.shape)

 

# 모델 생성 

# TesorFlow 사용하여 모델 만들기

X = tf.keras.layers.Input(shape=[1])

Y = tf.keras.layers.Dense(1)(X)

model = tf.keras.models.Model(X,Y)

# 모델 컴파일하기. 평균 제곱 오차(MSE)를 손실 함수로 사용

model.compile(loss='mse')

 

# 모델 학습

# 모델 학습시키기. fit 메서드 사용하여 독립 변수, 종속 변수 전달하고, 학습 횟수(epochs) 지정

model.fit(independent, dependent, epochs=10000, verbose=0)

model.fit(independent, dependent, epochs=10)

 

# 모델 예측

# 학습된 모델 사용하여 예측 수행

print(model.predict(independent))

print(model.predict([[15]]))

 

 

 

 

 

 

 

1. 과거 데이터 준비

2. 모델 구조 제작

3. 모델 학습

4. 모델 예측

 

 

 

 

 

 

 

 

 

import tensorflow as tf

import pandas as pd

 

: TensorFlow, Pandas 라이브러리를 tf, pd라는 이름으로 가져온다.

(텐서플로: 구글에서 개발한 딥러닝을 지원하는 대표적인 라이브러리)

 

 

 

 

filepath = '/content/lemonade.csv'

 

: lemonade.csv 파일의 경로를 지정한다. 과거의 데이터를 준비한다.

 

 

 

 

lemonade = pd.read_csv(filepath)

 

: lemonade.csv 파일을 Pandas의 read_csv 함수를 사용하여 데이터프레임으로 읽어온다.

 

 

 

 

 

lemonade.head()

 

: 데이터프레임의 처음 5개 행을 출력한다.

 

 

 

 

 

independent = lemonade[['temp']]

 

: 독립 변수를 설정한다. temp 열의 데이터를 independent에 할당한다.

(원인이 되는 것) (온도)

 

 

 

 

 

dependent = lemonade[['sales']]

 

: 종속 변수를 설정한다. sales 열의 데이터를 dependent에 할당한다.

(결과) (판매량)

 

 

 

 

 

print(lemonade.shape)

 

: 데이터프레임의 행과 열의 개수를 출력한다.

 

 

 

 

 

print(independent.shape, dependent.shape)

 

: 독립 변수와 종속 변수의 형태를 출력한다.

이를 통해 각 변수에 몇 개의 행과 열이 있는지 확인할 수 있다. 

 

 

 

 

X = tf.keras.layers.Input(shape=[1])

 

: 입력 레이어를 정의한다. 하나의 특성을 가진 데이터를 입력으로 받는다.

독립변수 개수는 온도 컬럼 하나이므로 첫 번째 줄의 숫자 부분에 1.

 

 

 

 

 

 

Y = tf.keras.layers.Dense(1)(X)

 

: Dense 레이어를 정의한다. 하나의 유닛을 가진 출력층을 생성한다. 입력은 이전에 정의한 X이다.

종속변수는 개수가 판매량 하나이기 때문에 숫자 부분에 1.

 

 

 

 

 

 

model = tf.keras.models.Model(X,Y)

 

: 입력과 출력을 정의하여 모델을 만든다.

 

 

 

 

 

model.compile(loss='mse')

 

: 모델을 컴파일한다. 손실 함수로 평균 제곱 오차(Mean Squared Error, MSE)를 사용한다.

loss는 학습이 얼마나 진행되었는지를 알려주는 지표. 학습이 진행될수록 값이 떨어짐. 

데이터의 원래 종속변수(정답)과 예측된 값의 차의 제곱.

 

 

 

 

 

 

model.fit(independent, dependent, epochs=10000, verbose=0)

 

: 모델을 학습한다. 10000번의 에포크를 수행하고, verbose=0으로 설정하여 학습 과정을 출력하지 않는다. Epoch라는 단어는 전체 데이터를 몇 번 반복해 학습할지를 결정해주는 숫자.

 

 

 

 

 

model.fit(independent, dependent, epochs=10)

 

: 추가적으로 10번의 에포크를 더 학습한다. 이번에는 verbose를 설정하지 않았으므로 학습 과정이 출력된다.

 

 

 

 

 

print(model.predict(independent))

 

: 학습된 모델을 사용하여 독립 변수에 대한 종속 변수의 예측 값을 출력한다.

 

 

 

 

 

print(model.predict([[15]]))

 

: 온도가 15일 때의 매출을 예측한다. 2차원 배열 형태로 입력을 주어야 하므로 이중 대괄호를 사용한다.

 

'학교 > 인공지능' 카테고리의 다른 글

4_인공지능개론  (0) 2024.06.06
3_인공지능개론  (0) 2024.04.21
2_인공지능개론  (1) 2024.04.20
결정 트리 코드  (0) 2024.04.19
SVM 코드  (0) 2024.04.19