Macro-F1 score
·
ML_DL/딥러닝 공부하기
Accuracy 모든 예측 가운데 올바른 예측의 비율 그러나 정확도는 예측하고자 하는 class가 균형적일 때 효과적이다. 가령 강아지 사진 90장과 고양이 사진 10장이 있을 때, 전부 강아지라고 예측해도 정확도는 90%가 된다. F1 score accuracy와는 달리, 올바른 예측의 비율 뿐 아니라 오류의 종류도 함께 계산한다. Precision(정밀도) : 모델이 True라고 예측한 것 가운데 실제 True인 것의 비율 (질병 예측 등) $$ Precision = \frac{True Positive}{True Positives + False Positive} $$ Recall(재현율) : 실제 True인 것 가운데 모델이 True라고 예측한 것의 비율 (스팸메일 분류 등) $$ Recall = \..
[Pytorch] 모델 작성과 모델 학습 과정 정리
·
ML_DL/딥러닝 공부하기
Seed 고정 seed = 22 random.seed(seed) np.random.seed(seed) torch.manual_seed(seed) torch.cuda.manual_seed(seed) torch.backends.cudnn.deterministic = True torch.backends.cudnn.benchmark = False torch.backends.cudnn.deterministic = True - 같은 input에 대해 결과 재현이 가능하도록 한다. torch.backends.cudnn.benchmark = False - 하드웨어에 따라 최적화된 알고리즘을 사용할 수 있도록 한다. (따라서 옵션을 끈다) CustomDataset from torch.utils.dataset import..
Bias와 Variance
·
ML_DL/딥러닝 공부하기
Bias란? 편향이라는 뜻의 Bias는 (실제값 - 예측값)의 평균이다. $[\hat{f}(x)] = E[\hat{f}(x) - f(x)]$ Variance란? 분산이라는 뜻의 variance는 예측값의 변화 정도이다. $Var[\hat{f}(x)]=E[(\hat{f}(x)−E[\hat{f}(x)])^2]=E[\hat{f}(x)^2]−E[\hat{f}(x)]^2$ Bias와 Variance의 관계 low bias & low variance : 예측값이 정답에 가깝고(편향 낮음) 그 값들이 모여있다(분산 낮음). low bias & high variance : 예측값이 정답에 가깝고(편향 낮음) 그 값들이 퍼져있다(분산 높음). high bias & low variance : 예측값이 정답과 멀고(편향 높..
MUJAKJUNG - 개와 고양이 분류
·
ML_DL/MUJAKJUNG (무작정 시리즈)
1. 라이브러리 정의 import pandas as pd import numpy as np import matplotlib.pyplot as plt import os import tensorflow from tensorflow import keras 2. 데이터 확인 # 데이터 확인하기 data_path = "./cats_and_dogs/" for idx in range(1,5): plt.subplot(2,2,idx) img = plt.imread(data_path + "cats/cat_" + f"{idx}.jpg") plt.imshow(img) 3. 이미지 데이터 전처리 각 이미지를 image.load_img를 통해 PIL.Image.Image 형태로 불러온다. image를 img_to_array를 통..
무작정 시리즈의 시작
·
ML_DL/MUJAKJUNG (무작정 시리즈)
개와 고양이를 분류하는 모델은 예제로 많이 다루었잖아! 쉽잖아! 바로 할 수 있지? 무작정 시리즈의 시작은 이 질문이었다. 과연 나는, 비어있는 jupyternotebook의 마지막에, 개와 고양이를 분류한 결과를 출력할 수 있을까. 단숨에 MUJAKJUNG이라는 파일 이름을 정하고는 코드를 작성하기 시작했다. 무언가를 하려면, 또 무언가를 안다고 말하려면 아이러니하게도 '아는 것과 모르는 것'을 명확히 해야 한다. 목표를 이루기 위해 코드 작성을 이어나가면서, 새로 배운것과 더해지는 지식들은 별도로 정리해보려고 한다.