티스토리 뷰
멀티캠퍼스 AI과정/05 Machine Learning
Machine Learning 09 - Google Colab에서 MNIST 예제, Tensorflow 1.x version
jhk828 2020. 10. 12. 09:35Google Colab 사용
- Google Drive 마운트 하기, 런타임 유형 GPU로 변경, 상단 우측에 런타임 '연결' 클릭 => ram, 디스크표시
- 우선 학습 용으로, 내장된 tensorflow를 지우고 1.15.0버전으로 설치 후 런타임 재연결. (다운그레이드)
!pip uninstall tensorflow
!pip install tensorflow==1.15 # 1.15 버전 Tensorflow 설치
# 런타임 다시 실행
import tensorflow as tf
print(tf.__version__)
# 1.15.0
성능평가 (Precision, Recall, Accuracy, F1-score)
- sklearn, metric
classification_report(, , ,)
from sklearn.metrics import classification_report
y_true = [0, 1, 2, 2, 2] # 정답, one hot 말고 label 형태
y_pred = [0, 0, 2, 2, 1] # 우리 model이 예측한 값
target_name = ['thin', 'normal', 'fat']
print(classification_report(y_true, y_pred, target_names=target_name))
# - 첫번째 인자 : **t값(정답)** - 1차원 array
# - Multinomial인 경우 one-hot으로 2차원이라면 1차원으로 변경해야 한다.
# - 두번째 인자 : **pred (예측)** - 1차원 array
# - 세번째 인자 : 출력 시 label을 표현하기 위한 문자열
# precision : true로 분류한 것 중 맞는 것
# - thin의 precision 0.5 : 1/2 (0으로 예측하고 정답이 0 / 0으로 예측)
# recall : 실제 true인 것 중 model이 ture로 예측한 것
# - thin의 recall이 1.0 : 1/1 (정답이 0이고 0으로 예측 / 정답이 0)
# thin의 support 1 => 정답 중 thin이 몇개 있는 지, 데이터 편향을 알 수 있다.
# Accuracy : 맞는 예측 (TP + TN) / 모둔 경우
# - 가장 직관적이나, domain에 대한 bias가 존재한다.
# - 질병에 걸릴 확률은 잘 찾아내나, 희귀병은 잘 찾아내지 못하는 경우
confusion_matrix
from sklearn.metrics import confusion_matrix
y_true = [2, 0, 2, 2, 0, 1]
y_pred = [0, 0, 2, 2, 0, 2]
confusion_matrix(y_true, y_pred)
epoch 결정
- 1 epoch = 전체 training data로 1번 학습
- epoch 수가 너무 작으면 => underfitting - 대충 학습 됨
- epoch 수가 너무 많으면 => overfitting - 과적합
'멀티캠퍼스 AI과정 > 05 Machine Learning' 카테고리의 다른 글
댓글