평가(Evaluation) -accuracy

2022. 2. 8. 00:53·머신러닝/sklearn
목차
  1. 정확도(Accuracy)

정확도(Accuracy)

정확도는 실제 데이터에서 예측 데이터가 얼마나 같은지를 판단하는 지표입니다.

정확도(Accuracy) = 예측 결과가 동일한 데이터 건수 / 전체 예측 데이터 건수

import sklearn
accuracy_score(y_test,mypredictions)

accuracy_score(정답값, 예측값) 함수로 정확도를 쉽게 구할수 있다.

하지만 데이터의 구성에 따라 왜곡될수 있기때문에 정확도만으로 평가하는것은 적합하지 않다..

(EX : 희귀병환자의 경우 병이 걸린 환자보다 병이 걸리지 않은 사람이 데이터가 훨씬 많기 때문에 컴퓨터가 어떤 과정을 거치지 않고, 단순하게 모든 경우를 정상적인 환자라 결과를 내놔도 정확도는 꽤 높게 형성될수 있는 경우가 있다.)

 

from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split
from sklearn.base import BaseEstimator
from sklearn.metrics import accuracy_score
import numpy as np
import pandas as pd

class MyFakeClassifier(BaseEstimator):
  def fit(self,x,y):
    pass

  def predict(self,x):
    return np.zeros((len(x),1),dtype=bool)

digits=load_digits()

y=(digits.target==7).astype(int)
x_train,x_test,y_train,y_test=train_test_split(digits.data,y,random_state=11)

print('레이블 테스트 세트 크기:',y_test.shape)
print('테스트 세트 레이블 0과 1의 분포도')
print(pd.Series(y_test).value_counts())

fakeclf=MyFakeClassifier()
fakeclf.fit(x_train,y_train)
fakepred=fakeclf.predict(x_test)
print('모든 예측을 0으로 하여도 정확도는:{0:.3f}'.format(accuracy_score(y_test,fakepred)))
#output
레이블 테스트 세트 크기: (450,)
테스트 세트 레이블 0과 1의 분포도
0    405
1     45
dtype: int64
모든 예측을 0으로 하여도 정확도는:0.900

mnist 데이터세트에서 임의로 7을 제외한 숫자의 레이블을 False(==0)으로 만든 후 0을 예측하는 코드를 짜보았는데 1이든0이든 상관없이 모든 예측을 0이라 하여도 정확도가 90%가 나오는것을 볼수 있다. 

728x90
저작자표시 (새창열림)

'머신러닝 > sklearn' 카테고리의 다른 글

평가(Accuracy)  (0) 2022.02.08
피처 스케일링(Feature Scaling)과 정규화(Normalization)  (0) 2022.02.06
  1. 정확도(Accuracy)
'머신러닝/sklearn' 카테고리의 다른 글
  • 평가(Accuracy)
  • 피처 스케일링(Feature Scaling)과 정규화(Normalization)
study ticket
study ticket
  • study ticket
    혼자하는 공부
    study ticket
  • 전체
    오늘
    어제
    • 개발 (77)
      • 오류 (1)
      • Spring (13)
      • Java (0)
      • Data structure (6)
      • Algorithm (49)
        • 백준 (17)
        • 프로그래머스 (2)
      • 문제풀면서 알게되는것들 끄적 (2)
      • 머신러닝 (4)
        • sklearn (3)
        • pandas (1)
      • 프로젝트 (0)
        • 핏두 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    백준1157
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
study ticket
평가(Evaluation) -accuracy
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.