역전파 : 역산하는 거 (== 역으로 계산)

임포트 패키지

import torch
import torch.nn as nn                                   # 신경망을 만드는 클래스
import torch.optim as optim                             # 학습을 원활하게 도와주는 도구
import seaborn as sns
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler

GPU 설정

# device 설정
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
print(f'현재 사용 중인 Device : {device}')

image.png

tips 데이터 가져오기

tips = sns.load_dataset('tips').dropna()     # 결측치 제거
tips.head()

image.png

데이터 분리

# 데이터 분리
x = tips[['total_bill', 'size']].values      # 두 변수 가져오기   
## 딥러닝은 기본적으로 행렬 연산임
## padnas는 사이킬런과 다르게 ~~
## numpy 배열 형태로 바꿔줘야함.
y = tips['tip'].values.astype(np.float32)    # 회귀 대상

++ 딥러닝 모델에 데이터를 넣으려면 numpy 배열 또는 tensor 형태여야 한다.

pandas DataFrame은 그대로 넣으면 안된다.

pytorch, tensorflow와 같은 딥러닝 라이브러리는 숫자 배열만을 받아들임

하지만,

데이터프레임은 행과 열이 존재.

따라서,

values 를 사용해서 numpy 배열로 변경해줌.

++ pandas DataFrame은 행,열로 이름이 포함되어 있음

total_bill size
0 16.99 2
1 10.34 3
2 21.01 3
... ... ...