모델(Model): model.predict()와 accuracy_score 내부 동작 정리

calico·2025년 11월 25일

Artificial Intelligence

목록 보기
115/161

1. model.predict(X_test)의 내부 동작


  • 학습된 모델이 X_test의 각 샘플(행)을 입력받아 예측 라벨을 생성함.

  • 모델 종류별 예측 방식 예

    • 결정트리(Tree): 분기 기준을 따라 내려가 리프 노드의 클래스를 선택

    • 로지스틱회귀(Logistic Regression): 시그모이드로 확률 계산 후 임계값 0.5 기준으로 0/1 결정

    • SVM: 초평면 기준으로 어느 쪽에 속하는지 판단

  • 최종 출력은 y_pred 배열.



2. accuracy_score(y_test, y_pred)의 계산식


정확도(Accuracy)는 다음과 같은 공식으로 계산됨.

Accuracy=(맞게예측한샘플수)/(전체샘플수)Accuracy = (맞게 예측한 샘플 수) / (전체 샘플 수)

수식 표현:

Accuracy=(1/n)Σ(yi==y^i)Accuracy = (1/n) * Σ( y_i == ŷ_i )
  • yiy_i : 실제 라벨

  • y^iŷ_i : 모델이 예측한 라벨

  • nn : 전체 샘플 수

  • yi==y^iy_i == ŷ_i이면 1, 아니면 0으로 계산됨



3. accuracy_score 내부 구현


  • y_test와 y_pred를 같은 인덱스끼리 비교하여 맞으면 1, 틀리면 0

  • 모두 더한 뒤 전체 개수로 나눔



4. 예시



y_test = [0, 1, 1, 0]


y_pred = [0, 1, 0, 0]
  • 맞은 개수 = 3

  • 전체 = 4

  • Accuracy = 3 / 4 = 0.75



5. Accuracy 사용 시 주의사항


  • 데이터가 불균형(Class Imbalance)일 때 정확도는 왜곡됨.

    • 예: 정상 95%, 이상 5%

    • 모델이 전부 정상이라고만 예측해도 Accuracy = 0.95

  • 이런 경우 반드시 아래 지표도 함께 확인해야 함.

    • Precision

    • Recall

    • F1-score

    • ROC-AUC



profile
https://velog.io/@corone_hi/posts

0개의 댓글