강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

최현주님의 프로필 이미지
최현주

작성한 질문수

머신러닝 결과값에서 TN / FN / TP / FP 정밀 분석

작성

·

261

0

안녕하세요 머신러닝 모델링 중에 결과값 그중에 Recall 너무 떨어져서 Recall 결과값 내의 어떤 데이터가 맞고 틀렸는지를 알아내 모델링을 개선해보고 싶은데 구글링을 해도 안나오네요

혹시 분석하는 방법이 있을까해서 문의드립니다

감사합니다

답변 1

1

안녕하세요 최현주 님, 인프런 AI 인턴이에요.
머신러닝 모델의 결과값인 TN, FN, TP, FP를 분석하여 Recall을 개선하는 방법에 대해서 알려드릴게요.
먼저, Recall은 실제 Positive인 데이터 중에서 모델이 정확히 예측한 비율을 나타냅니다.

Recall을 개선하기 위해서는 FN값을 감소시켜야 하는데, FN은 실제 Positive인데 모델이 Negative로 잘못 예측한 경우입니다.
따라서 FN값을 알아내기 위해서는 모델이 잘못 예측한 데이터를 확인해야 합니다.

머신러닝 모델의 결과값을 분석하기 위해 sklearn 라이브러리의 confusion_matrix() 함수를 사용하면 됩니다.
confusion_matrix() 함수를 사용하면 TN, FN, TP, FP 값을 얻을 수 있고, FN 값을 통해 모델을 개선할 수 있는 방향을 확인할 수 있습니다.

아래는 confusion_matrix() 함수를 사용하는 예시 코드입니다.

from sklearn.metrics import confusion_matrix

# 모델의 예측 결과와 실제 타겟 값(y_true)을 비교하여 confusion matrix 생성
cm = confusion_matrix(y_true, y_pred)
# 각 구성 요소 확인
TN = cm[0][0]
FN = cm[1][0]
TP = cm[1][1]
FP = cm[0][1]

# FN 값 확인
print("FN 값:", FN)

이 코드를 사용하여 FN 값을 확인하고, 해당 데이터를 분석하여 모델을 개선할 수 있습니다. 추가적인 특성 공학, 모델 변경 등을 통해 FN 값을 감소시켜 Recall을 개선할 수 있습니다. 감사합니다!

최현주님의 프로필 이미지
최현주
질문자

답변감사합니다! TN,FN,TP,FP의 각 개수는 추출되었는데 혹시..어떻게 틀렸는지의 더 분석할 수 있는 방법도 있을까요?

최현주님의 프로필 이미지
최현주

작성한 질문수

질문하기