◆ 인공 신경망
● Tensorflow, Keras 초기 설정
import tensorflow as tf
tf.keras.utils.set_random_seed()
tf.config.experimental.enable_op_determinism()
● 데이터 로드
from tensorflow import keras
(X_train, y_train), (X_test, y_test) = keras.datasets.fashion_mnist.load_data()
● 데이터 형태 확인
X_train.shape
-> (60000, 28, 28) # (데이터 개수, 행 픽셀, 열 픽셀)
● 이미지 데이터 픽셀로 변환(10개 예시)
import matplotlib.pyplot as plt
fig, axs = plt.subplots(1, 10 , figsize=(10, 10))
for i in range(10):
axs[i].imshow(train_input[i], cmap='gray_r') # 각 이미지 복호화(숫자를 픽셀로 변환)
axis[i].axis('off') # 격자 배경 제거
plt.show()
● 이미지 타겟 확인
[y_train[i] for i in range(10)]
import numpy as np
np.unique(y_train, return_counts=True) # 고유값 및 개수 확인 / return_counts=True : 타겟값 각각의 데이터 개수
◆ 로지스틱 회귀로 패션 아이템 분류
● 정규화 및 평탄화
train_scaled = X_train / 255.0 # 255.0 : 이미지 데이터 최대 픽셀값
train_scaled = train_scaled.reshape(-1, 28*28) # -1 : 모든 데이터 선택 / 28*28 : 평탄화 픽셀개수
● SGDClassifier
◆ 딥러닝의 개념(인공신경망)
- BGD(Batch Gradient Descent) : 손실함수 값이 최솟값이 되는 모델을 만드는 기법
- SGD(확률적 경사 하강법) : BGD는 전체 데이터를 사용하여 모델을 만들지만 SGD는 랜덤으로 데이터를 일부 추출하여 모델을 만듬
- Input Layer(입력층) : 독립변수
- Hidden Layer(은닉층) : Input Layer로 모델을 만들어 학습하여 나온 값들
- Output Layer(출력층) : 마지막 결과값들
- 활성화함수(relu, sigmoid, softmax) : 결과값들 사이에 차이를 줄이기 위해 결과 범위를 제한하는 함수
◆ 텐서플로와 케라스
● 라이브러리 임포트
import tensorflow as tf
from tensorflow import keras
● Dense(층) 설정
dense = keras.layers.Dense(10, activation = 'softmax', input_shape=(784, ))
# 10 : 분류 클래스 10개 / activation='softmax' : 활성화함수 softmax로 설정 / input_shape=(784, ) : 해당 층에 입력되는 데이터
● 케라스 모델 만들기
model = keras.Sequential(dense) # dense를 한번 넘겨주는 것이 1층
● 컴파일러 지정 - 모델을 훈련하기 전에 반드시 해줘야함
model.compile(loss='sparse_categorical_crossentropy', metrics='accuracy')
-> 손실함수 : 이진크로스 엔트로피 / 매트릭스 : 정확도
● 훈련
model.fit(train_scaled, train_target, epochs=5)
● 예측
model.evaluate(val_scaled, val_target)
=> [loss값, 정확도]
'데이터 분석' 카테고리의 다른 글
CNN 기초(Tensorflow, Keras) (0) | 2024.06.30 |
---|---|
DeepLearning_Depth(Tensorflow, Keras) (0) | 2024.06.30 |
공공데이터 프로젝트 : 고용불안의 원인 분석과 고찰 및 미치는 영향분석 (0) | 2024.01.21 |
PCA(주성분분석) (0) | 2023.12.18 |
k-평균 알고리즘 (0) | 2023.12.18 |