본문 바로가기
카테고리 없음

[AI] 딥러닝 분류의 문제 ANN TensorFlow 컴파일(Compile), confusion_matrix

by 처카푸 2024. 4. 17.

모델링이 끝나면 컴파일(Compile)을 해야한다

- 2개로 분류하는 문제 loss 는 'binary_crossentropy' 을 설정한다

 

컴파일이란 ?

: 옵티마이저(Optimizer)와 로스펑션(Loss Function), 검증방법을 셋팅하는 것을 말한다
- Loss Function = 오차함수 또는 손실함수

# 2개로 분류하는 문제 loss 는 'binary_crossentropy' 을 설정한다
model.compile(optimizer= 'adam', loss= 'binary_crossentropy', metrics= [ 'accuracy' ]) 
# metrics= [ 'accuracy' ] 정확도로 검증

 

컴파일이 끝나면 전처리한 데이터로 학습시키고 평가하여 정확도를 확인한다

전처리한 데이터

- 딥러닝은 무조건 피처스케일링이 되어 있는 상태에서 학습해야 한다

학습코드 실행

- 학습 코드를 실행한 후에 다시 학습하고 싶을 때는 모델링 부분(비어있는 인공지능)부터 다시 실행해야 한다

# 데이터를 10개씩 나눠서 20번을 반복
model.fit(X_train, y_train, batch_size= 10, epochs= 20)

# 학습이 끝나면 평가를 한다
model.evaluate(X_test, y_test)

# 컴퓨전 매트릭스를 확인하여 어떤 문제를 잘 맞추고 못 맞추는지 확인
from sklearn.metrics import confusion_matrix, accuracy_score
y_pred = model.predict(X_test)

# 비교할 수 있게 변환해준다
y_pred = (y_pred > 0.5).astype(int)

# 정확도 확인하기
confusion_matrix(y_test, y_pred)
accuracy_score(y_test, y_pred)