본문 바로가기

data science/machine learning5

Naïve Bayes (나이브 배이스) Classifier B가 true일때 A가 발생할 수 있는 확률은 A가 true일때 B가 발생할 수 있는 확율 곱하기 A의 확률을 B의 확률로 나눈것 (뭔말인지 모르겠다.)머신러닝에서 표현하면 아래와 같다.B =여러가지  Evidence(=특징) A = Outcome(=결과) P(A | B) = 여러가지 Evidence가 있을 때 Outcome이 나올수 있는 확률(=Likelihood) P(Multiple Evidence)는 모든 Outcome 확율 계산시 똑같이 사용하는 조건이므로 계산에서 제외해도 OK 설명 샘플) 과일(=Outcome)로써 Banana, Orange, Other Fruit 이 있고 특징(=Evidence)으로써 Long, Sweet, Yellow 가 있다고 하자.기본확률값 Evidence확률값 P(Ba.. 2025. 2. 9.
바이너리 분류 모델에 있어서 평가 항목 Confusion Matrix 샘플 결과 TP 1 FN 29 FP 0 TN 970 Accuracy (정확도) 전체 결과에 대한 True 의 비율 Accuracy = (TP + TN) / (TP + FN + FP + TN) = 971 / 1000 = 0.971 Precision (정밀도) (모델의 관점) True(=1) 이라고 예측한 것 중에 실제 True의 비율 Precision = TP / (TP + FP) = 1.0 Recall (재현율) (True 입력 데이터의 관점) True 입력데이터중에 True라고 예측한 비율 Recall = TP / (TP + FN) = 1 / 30 = 0.033 F1 Score Precision과 Recall의 밸랜스도를 나타낸다. 어느 한쪽이 극단적으로 낮으면 F1 도 .. 2024. 1. 16.
일반 데이터 학습용/테스트용 분리 지난번에는 이미지 데이터가 대상인 Data Augmentation의 ImageDataGenerator 를 이용하여 학습데이터를 분리하였다. 이번에는 단순히 pandas 로 읽어들인 숫자 문자등의 데이터를 분리해 보겠다. 1. numpy 를 이용하는 방법 import numpy as np def shuffle_and_split_data(data, test_ratio): np.random.seed(42) # np.random.permutation(length) : 랜덤으로 일련번호의 순서를 바꿈 shuffled_indices = np.random.permutation(len(data)) # 테스트 사이즈를 계산 test_set_size = int(len(data) * test_ratio) # 초반 test_.. 2024. 1. 14.
학습 데이터 준비 샘플데이터는 Food-11 을 사용하겠다. 구조는 아래와 같고 training은 학습용, validation은 학습중 배치별 학습평가용, evaluation은 최종 모델의 평가용이다. Data Data Augmentation 인위적으로 학습 데이터를 이용하여 변형된 데이터셋을 만드는 기술을 Data Augmentation 이라 한다. 목적은 아래와 같다. 모델이 overfitting되는 걸 방지 초기 학습데이터가 적을시 모델의 정확도를 향상 새롭게 데이터를 늘리는 라벨링과 클리닝의 오퍼레이션 코스트를 삭감 ImageDataGenerator 학습(training)용과 밸리데이션용을 따로 정의. from keras.preprocessing.image import ImageDataGenerator train_.. 2024. 1. 2.