# precision

28개의 포스트
post-thumbnail

Instant 시간 정밀도

배경) 서버 개발 시 가장 중요한 부분은 하위 호환입니다. 이번 포스팅에서는 java version에 따라 Instant.now()의 출력값이 달라지는 이유와 문제를 해결했던 방법을 공유하려고 합니다. JDK8 - Instant.now() JDK17 - Instant.now() 내용) Instant.now() 의 데이터가 다르니 해당 부분부터 탐색 시작! 먼저 JDK8 부터 확인해보겠습니다. (OpenJDK8) [Instant.java](https://github.com/openjdk/jdk8/blob/maste

2023년 8월 23일
·
0개의 댓글
·
post-thumbnail

[머신러닝] 분류 모델의 성능 평가 지표 (Confusion Matrix, Accuracy, Precision, Recall, F1 score, ROC CURVE, AUC)

머신러닝 모델은 일반적으로 회귀와 분류에 따라 다른 평가 지표를 사용한다. 회귀의 경우 MAE, MSE, RMSE 등을 사용하지만, 분류의 경우는 다르다. 오늘은 분류 모델의 평가 지표에 대해 알아보겠다. Confusion Matrix 분류 모델의 성능을 평가하는 기본적인 방법은 원하는 대상 A를 제대로 예측한 경우와 그렇지 못한 경우가 얼마나 있는지 세어보는 것이다. 이를 확인하기 위해 만들어진 것을 Confusion Matrix, 혼동 행렬이라 부른다. Confusion Matrix 를 그림으로 나타내면 다음과 같다. > Confusion Matrix 결과 TN $\,$ FP FN $\,$ TP $\,$ 순으로 출력 TN

2023년 5월 14일
·
0개의 댓글
·

분류 모델 평가 지표 - Confusion Matrix

교차 검증의 정확도를 알 수 있는 함수의 종류는 다음과 같다. accuracy_score precision_score recall_score crossvalscore cross_validate KFold StratifiedKFold LeaveOneOut LeavePOut ShuffleSplit > 분류 모델의 예측 결과와 실제값을 비교하여 행렬 형태로 나타낸 것을 Confusion Matrix(혼동 행렬)이라고 한다. 이는 분류 모델의 성능 평가 지표가 되며 최적화에 중요한 역할을 한다. 📌 Confusion Matrix Confusion Matrix는 다음과 같이 4개의 값으로 구성된다. True Positiv

2023년 3월 30일
·
0개의 댓글
·
post-thumbnail

Confusion_Matrics, precision, recall, precision_recall_curve

분류분석의 평가지표로 실제값과 예측값을 통하여 얼마나 잘 예측했는가를 평가할 수 있는 지표이다. 실습을 통하여 확인해 보겠습니다. [[405 0] [ 15 30]] 정확도: 0.9666666666666667 정밀도: 1.0 재현율: 0.6666666666666666 precisionrecallcurve 분류알고리즘은 바로 label값을 예측하는 것이아닌 그확률을 통하여 임계값 0.5를 기준으로 큰 레이블을 출력해준다 그러나 그 임계값을 변화함에 따라 precision값과 recall 값 사이에 trade_off 가 있으므로 적절한 임계값을 찾는것이 중요하다. 이 알고리즘을 사용하기 전에 sklearn안에 있는 Binarizer를 통하여 임계값을 변화함에 따라 결과값이 어떻게 변화는지 확인해 보겠습니다. confusion matrix [[245 21] [ 2 150]] 정확도: 0.945,정밀도0.8772, 재현율0.9868, f1_Score0

2023년 2월 14일
·
0개의 댓글
·
post-thumbnail

분류 성능 평가 지표 - Precision(정밀도), Recall(재현율) and Accuracy(정확도)

기계학습에서 모델이나 패턴의 분류 성능 평가에 사용되는 지표들을 다루겠습니다. 어느 모델이든 간에 발전을 위한 feedback은 현재 모델의 performance를 올바르게 평가하는 것에서부터 시작합니다. Confusion Matrix (오차 행렬) 모델을 평가하는 요소는 결국, 모델이 내놓은 답과 실제 정답의 관계로써 정의를 내릴 수 있습니다. 정답이 True와 False로 나누어져 있고, 분류 모델 또한 True False의 답을 내놓습니다. 그러면 분류 모델의 예측 값과 실제 값의 관계를 아래와 같이 2X2 matrix로 case를 나누어 볼 수 있는데 이러한 행렬을 Confusion Matrix(오차 행렬)라고 합니다. 예시를 들어보겠습니다. 만약 암을 예측하는 모델을 만들었다면 그 결과는 아래

2023년 2월 2일
·
1개의 댓글
·

[PaperReview] Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference

abstract 모바일 장치의 인기가 많아지고 있지만, 딥 러닝 기반 모델은 압도적인 계산 비용이 요구되므로 장치 내에서 효율적이고 정확한 추론 방식이 요구된다. Introduction AlexNet의 등장으로 classification, detection task에서 CNN의 성능이 향상 되었지만, 모델 복잡도와 연산의 효율성이 고려하지 않은 채로 네트워크의 아키텍처가 발전해 왔다. CNN을 모바일 플랫폼에 성공적으로 배포하기 위해서는 장치의 제한적인 메모리 크기로 인하여 모델의 크기가 작아야 하고, 사용자들의 입장을 고려하여 짧은 지연 시간이 요구된다. 이러한 이유로 모델의 크기와 추론 시간을 줄이는 것이 연구의 주제로 떠올랐다. 방법으로는 새로운 네트워크 아키텍처를 디자인 하는 것과 CNN의 가중치와 중간 값을 양자화(Quantize)하는 방법이 있다. 양자화 방법은 32bit floting point를 낮은 bit로 표현하는 방법이기 때문에 정확도(accur

2022년 11월 25일
·
0개의 댓글
·

[PaperReview] Training with Quantization Noise for Extreme Model Compression

Abstract 매 iteration forward 때 마다 서로 다른 가중치의 일부분에 양자화 하는 방법이다. 이렇게 할 경우 편향성 없는 gradient를 다른 가중치에 흐르게 할 수 있다. Introduction 실 생활에서 쓰이는 성능 좋은 대부분의 NN architecture는 수 많은 파라미터를 가진다. 또 효율적인 모델 구조를 가진 NN 일지라도 수백 메가바이트가 요구되므로 로봇과 가상 환경에서 사용하기 제한적이다. Quantization은 NN architecture 관점에서 이미 최적화가 잘되어 있는 모델을 압축 할 수 있다는 점이 특징이다. Scalar quantization 이 흔한 방법이며, 가중치를 FP에서 INT로 대체하는 방법이다. 이럴 경우, gradient가 null을 가진다는 문제점과 이 문제점을 해결하기 위한 방안을 사용할 때 train과 test 때의 불일치를 발생한다. QAT에서는 이러한 문제(gradient가 n

2022년 11월 25일
·
0개의 댓글
·

[Classification] Evaluation Metric

Confusion Matrix 오차행렬(confusion matrix)은 학습된 모델이 얼마나 혼동하고(confused) 있는지 보여주는 지표로, 이진 분류의 예측 오류가 얼마인지, 어떤 유형으로 발생하고 있는지를 나타낸다. 오차 행렬은 실제 클래스 값과 예측 클래스 값을 기준으로 4분면 행렬에 어떠한 유형으로 예측되는지 보여준다. 아래 표는 오차 행렬과 평가 지표를 도식화한 것이다. True Positive(TP): 실제 클래스 값이 긍정이고 긍정으로 잘 예측한 경우 False Positive(FP): 실제 클래스 값이 부정인데 긍정으로 잘못 예측한 경우 True Negative(TN): 실제 클래스 값이 부정이고 부정으로 잘 예측한 경우 False Negative(FN): 실제 클래스

2022년 11월 16일
·
0개의 댓글
·
post-thumbnail

분류 모델 성능 검증 confusion matrix, 정밀도(precision), 재현율(recall)에 대해서 알아보자.

회귀 모델(Regression)의 경우 정확도나 오차를 보면 되지만 분류 모델은 정밀도, 재현율, confusion matrix 등 머리 아픈 용어가 많다. 더 이상 머리 아프게 생각하지 말고 이번 기회에 정리해보자. 분류 모델 성능 검증 분류 모델은 confusion matrix를 통해 성능을 검증할 수 있다. Confusion Matrix 위의 그림이 우리가 한번쯤 본 그림인데 봐도봐도 이해가 잘 되지 않는다. 조금 쉽게 생각해보면 우리가 예측한 측면과 실제 정답이 같은 경우와 다른 경우로 나눌 수 있다. 조금 더 들어가서 보면 제대로 예측한 것은 TN(True Negutive)와 TP(True Positive)이다. 각각의 의미는 아래 와 같다. 설명의 편의상 분류 모델을 양성 음성의 경

2022년 10월 15일
·
0개의 댓글
·
post-thumbnail

파이썬 머신러닝 완벽 가이드 - 4. Evaluation

Evaluation 평가 ( in 분류) 1. 평가 지표 1. 정확도 Accuracy 실제 데이터에서 예측 데이터가 얼마나 같은지 판단하는 지표 특히 정확도는 불균형한 레이블 값 분포에서는, 적합한 평가 지표가 아님 ex) MNIST 데이터 셋을 다중분류에서 이진분류로 바꾸면 (7을 True, 나머지를 False) ⇒ 0과 1중 0을 찍으면 90%의 정확도가 나오게 됌 $$ 정확도(Accuracy) = \frac{TN+TP}{TN+FP+FN+TP} $$ 2. 오차 행렬 Confusion Matrix T/F : ‘같은가 틀린가' & N/P : $\widehat{y}$ 이 ‘neg 0 인가 pos 1 인가’ | | $

2022년 9월 28일
·
0개의 댓글
·

정밀도와 재현율

📎 **정밀도, 재현율은 Positive 데이터 세트의 예측 성능에 좀더 초점을 맞춘 평가 지표 정밀도(Precision) : precision_score(실제 결과, 예측 결과)** 예측을 Positive로 한 대상(FP + TP) 중 예측과 실제 값이 Positive로 일치한 데이터(TP)의 비율(Positive 예측 성능을 더욱 정밀하게 측정하기 위한 평가 지표로 양측 예측도) TP / (FP + TP) —> 예측은 Positive인데, 예측이 맞은 것 재현율(Recall) : recall_score(실제 결과, 예측 결과) 실제가 Positive인 대상(FN + TP) 중 예측과 실제 값이 Positive로 일치한 데이터(TP)의 비율 TP / (FN + TP) —> 실제로 Positive인데 예측도 잘한 것 이진 분류 모델의 업무 특성에 따라 특정 평가 지표가 더

2022년 9월 14일
·
0개의 댓글
·
post-thumbnail

Precision과 Recall

자신이 어떤 기술을 개발하였다. 예를 들어 이미지에서 사람을 자동으로 찾아주는 영상 인식 기술이라고 하자. 이 때, 사람들에게 "이 기술의 검출율은 99.99%입니다"라고 말하면 사람들은 "오우...!!!" 하면서 감탄할 것이다. 반면에 "이 기술의 검출율은 50%입니다"라고 말하면 사람들은 별 관심을 보이지 않거나 "그것도 기술이라고..." 생각할 것이다. tl;dr precision은 검출된 결과의 정확도를 나타낸다 recall은 실제 물체를 얼마나 덜 빠뜨리고 검출하였는지에 대한 지표이다. 자신이 어떤 기술을 개발하였다. 예를 들어 이미지에서 사람을 자동으로 찾아주는 영상 인식 기술이라고 하자. 이 때, 사람들에게 "이 기술의 검출율은 99.99%입니다"라고 말하면 사람들은 "오우...!!!" 하면서 감탄할 것이다. 반면에 "이 기술의 검출율은 50%입니다"라고 말하면 사람들은 별 관심을 보이지 않거나 "그것도 기술이라고..." 생각할 것이다. 이것은 전형적인 일

2022년 7월 17일
·
0개의 댓글
·
post-thumbnail

AIB: N223 Evaluation Metrics for Classification

1. Evaluation Metrics for Classification 1.1 Confusion matrix(혼동 행렬) TP, TN, FP, FN으로 이루어진 매트릭스 분류모델의 성능 평가지표 1.1.1 TP(True Positive) 실제 양성인데 검사 결과도 양성 잘 맞춰서, Positive(1)를 잡아냈다. 올바르게 1을 1이라고 예측. 찐양성, 찐양성 1.1.2 TN(True Negative) 실제 음성인데 검사 결과도 음성 잘 맞춰서 Negative(0)를 잡아냈다. 1.1.3 FP 실제 음성인데 검사 결과가 양성 잘 못해서 Positive라고 예측 → 원래는 Negative(0)인 것을 Positive(1)로 예측 1.1.4 FN 잘 못해서 Negative라고

2022년 3월 4일
·
0개의 댓글
·
post-thumbnail

[ML/DL] 모델성능평가 F1-score

사이킷런에는 모델의 성능을 평가할 수 있는 여러 다양한 라이브러리들이 존재한다. binary classification도 가능하지만 multi class 인 경우에도 파라미터를 설정하면 평가할 수 있다. 정확도 (Accuracy) 올바르게 예측된 데이터의 수를 전체 데이터의 수로 나눈 값 정밀도 (Precision) 모델이 True로 예측한 데이터 중 실제로 True인 데이터 재현율 (Recall) 모델이 True로 예측한 데이터 중 실제로 True인 데이터 F1-score 정밀도와 재현율의 조화 평균 Confusion Matrix (혼동행렬) 기계 학습 분야의 통계적 분류 같은 문제에서 컨퓨전 행렬, 이란 지도 학습으로 훈련된 분류 알고리즘의 성능을 시각화 할 수 있는

2022년 2월 3일
·
0개의 댓글
·
post-thumbnail

Eval Metrics

Confusion Matrix confusion_matrix confusion_plot Recall, Precision & F1 PR curve pr curve ROC-AUC ![roc-auc](https://images.velog.io/images/hajeongjj/post/d62ff674-eda6-41da-ab60-c4bc4

2021년 12월 26일
·
0개의 댓글
·

Macro F1 Score

$Macro\ F1\ Score$ VS $F1\ Score$ $F1\ Score$ : $Recall$과 $Precision$의 조화 평균 → $F1\ Score = \frac {2}{\frac{1}{Recall} + \frac {1}{Precision}}$ → $Recall = \frac{True\ Positive}{True\ Positive + False\ Negative}$ : 실제 정답 중 정답을 맞춘 비율 → $Precision = \frac{True\ Positive}{True\ Positive + False\ Positive}$ : 정답이라고 예측한 것 중 정답을 맞춘 비율 $Macro\ F1 \ Score$ : 1개 클래스가 아닌 다중 클래스에서 활용하는 성능 지표 → $F1\ Score$가 1개의 클래스에 대해서 점수를 측정하는 방식이라고 한다면, $Macro

2021년 12월 25일
·
0개의 댓글
·
post-thumbnail

Evaluation Metrics for Classification

Confusion matrix 정밀도(precision), 재현율(recall) 정확도(Accuracy)는 전체 범주를 모두 바르게 맞춘 경우를 전체 수로 나눈 값 $\large \frac{TP + TN}{Total}$ 정밀도(Precision)는 Positive로 예측한 경우 중 올바르게 Positive를 맞춘 비율 즉 예측값이 얼마나 정확한가 $\large \frac{TP}{TP + FP}$ 재현율(Recall, Sensitivity)은 실제 Positive인 것 중 올바르게 Positive를 맞춘 것의 비율 즉 실제 정답을 얼마나 맞췄느냐 $\large \frac{TP}{TP + FN}$ `F1점수(F1 score)는 정밀도와 재현율의 조화평균(ha

2021년 12월 24일
·
0개의 댓글
·

[TIL] 210823

오늘 한 것 테크니컬 글쓰기 특강 듣기 sprint challenge 인프런 ROC, AUC 강의 끝까지 다 듣기 sprint wrap up : n221 트리모델과 선형모델을 비교해봤을때 어떤점이 더 좋았나요? 간결하다 원핫인코딩보다 오디널 인코딩 쓸 수 있어서 좋았다 표준화 안해도 되서 좋았다 특성선택을 알아서 해줘서 편하다 트리모델이 가지고 있는 단점은 뭐라고 생각하나요? 과적합이 되기 쉽다 하이퍼파라미터가 선형회귀보다 많다 변수 영향력이 선형회귀에 비해 해석이 어렵다 데이터가 아주 적을때는 학습이 어렵다 기타 사이킷런 Pipelines 지니불순도 (트리를 만드는 기준) 엔트로피 (트리를 만드는 기준) 특성상호작용 (트리모델에서는 상호작용이 의미가 없어진다?) ❓ 선형모델은 각 feature가 독립적이여야 결과가 잘 나온다. 하지만 트리모델에서는 아니다! (노트 다시 확인해보기) n2

2021년 8월 23일
·
0개의 댓글
·
post-thumbnail

Precision&Recall

Precision 범죄자라고 판단한 사람들 중 진짜 범죄자인 사람이 몇명인가의 비율 Recall 실제 범죄자들 중 범죄자들 중 범죄자라고 판단한 사람이 몇명인가의 비율 ![](https://images.velog.io/images/cosmicdev/post/bfcb51bb-d8c8-4148-b04a-380056d7400e/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%

2021년 8월 19일
·
0개의 댓글
·

[인사이드 머신러닝] 분류모델의 성능 평가를 위한 지표들

Confusion Matrix 분류기의 성능을 평가하는 기본적인 방법은 A라는 클래스를 A라고 제대로 예측한 경우와 그렇지 않은 경우가 얼마나 많은지 세어보는 것이다. 이렇게 만들어진 일종의 table을 confusion matrix라 부르며 우리말로는 오차행렬, 정오행렬 혹은 혼동행렬로 번역한다. 아래의 [그림1]은 confusion matrix의 예시를 나타낸다. [그림 1] confusion matrix 예시 [그림 1]을 자세히 살펴보자. Confusion matrix의 각 행은 실제 클래스를 나타내고 열은 예측한

2021년 8월 6일
·
0개의 댓글
·