섹션3
154
작성한 질문수 2
from sklearn.metrics import precision_recall_curve
# 실제값 데이터 셋과 레이블 값이 1일 때의 예측 확률을 precision_recall_curve 인자로 입력
precisions, recalls, thresholds = precision_recall_curve(y_test, pred_proba_class1 )
print('반환된 분류 결정 임곗값 배열의 Shape:', thresholds.shape)
print('반환된 precisions 배열의 Shape:', precisions.shape)
print('반환된 recalls 배열의 Shape:', recalls.shape)
print('thresholds 5 sample:', thresholds[:5])
print('precisions 5 sample:', precisions[:5])
print('recalls 5 sample:', recalls[:5])
precision_recall_curve 함수를 이용해 precisions, recalls, thresholds 값을 반환받는 과정입니다.
여기서 thresholds의 개수가 precisions, recalls보다 1개 더 적게 나오는 이유가 궁금합니다.
위에서 개수 차이로 인해 thresholds값에 따른 precisions, recalls값들이 대응되지 않는 위치에 존재하지 않나요?
print('thresholds 5 sample:', thresholds[:5])print('precisions 5 sample:', precisions[1:6])
print('recalls 5 sample:', recalls[1:6])
이렇게 하는게 옳다 생각했는데 제 생각이 잘못되었는지 궁금합니다.
답변 2
0
안녕하십니까,
아래 인프런 AI 인턴이 잘 답해줬군요.
precision_recall_curve에서 precision과 recall은 threshold보다 1개가 더 있습니다. precision의 경우 마지막 원소가 1, recall의 경우 마지막 원소가 0 입니다.
아래 API 설명을 참조하시면 좋을 것 같습니다.
https://scikit-learn.org/stable/modules/generated/sklearn.metrics.precision_recall_curve.html
요약하자면 맨 마지막 precision과 recall에 대응 되는 threshold가 없으며, 이는 그래프를 그릴 때 y축 시작 지점으로 간주한다는 의미 입니다.
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다.
정구님께서 질문하신 “precision_recall_curve 함수를 이용해 반환받는 값”에 대한 궁금증에 답변드리겠습니다.
thresholds의 개수가 precisions, recalls보다 1개 적게 나오는 이유: 이 부분에 대한 궁금증은 threshold 질문드립니다. 질문에서 다루어졌습니다. 간단히 요약하자면,
precision_recall_curve함수에서 반환되는precisions와recalls가치는thresholds보다 1개 더 많은 이유는precisions배열의 마지막 원소가 1이고,recalls배열의 마지막 원소가 0이기 때문입니다. 이는 함수가 작동하는 방식의 일부로, 이렇게 설정된 추가적인 값들은 모델의 성능 평가 시 좀 더 연속적이고 완전한 곡선을 생성하기 위한 목적으로 제공됩니다.thresholds값에 따른 precisions, recalls값들의 대응 관곀: 정구님의 관찰처럼,
thresholds의 각 값에 정확하게 대응되기 위해precisions와recalls의 값을 샘플링할 때 인덱스를 조정하는 것이 맞습니다. 이는 precision_recall_curve() 관련 질문드립니다.에서 언급된 내용과 일맥상통하며,thresholds의 각 값에 대해 대응되는precisions와recalls값을 얻기 위해 인덱스를 조정하는 접근 방식이 적절합니다.
결론적으로, 정구님의 생각이 올바르며, 이는 precision_recall_curve 함수의 반환 값 사이에 존재하는 관계를 정확히 이해하는 데 도움이 됩니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
모델 서빙과 관련된 강좌가 출시되는지 질문드립니다.
0
19
2
안녕하세요 열심히 수강중인 학생입니다
0
63
2
정수 인덱싱
0
69
2
넘파이 오류
0
85
2
11강 numpy의 axis 축 질문 드립니다.
0
87
2
Kaggle 에서 Santander customer satisfaction data 를 다운로드 되지가 않습니다.
0
79
2
Feature importances 를 보여주는 barplot 이 그래프로 안보여져요.
0
70
2
타이타닉 csv 파일이 주피터 화면에 보이지 않습니다.
0
75
2
타이타닉 csv 파일이 주피터 화면에 보이지 않습니다.
0
64
2
5강 강의 오류가 있어요.
0
85
1
실무에서 LTV 관련 모델 선택 질문입니다!
0
72
2
14강 강의 듣는중에 궁금한게 있어서 질문합니다~
0
69
3
파이썬 다운그레이 후 사이킷런 재설치
0
119
2
좋은 강의 감사합니다.
0
74
2
scoring 함수 음수값
0
67
2
6번 강의에 사이킷런, 파이썬, 아나콘다 각각 버전 일치 안 시키고 진행해도 강의 따라가 지나요?
0
101
2
분류 평가 정확도 예측
0
79
2
안녕하세요. 강의 들으면서 업무에 적용하고 싶은 수강생입니다.
0
99
1
카카오톡 채널 있나요
0
108
1
혹시 강의에서 사용하시는 ppt 받을 수 있는건가요
0
190
2
pca 스케일링 관련하여 질문드립니다.
0
100
2
주피터 대신 구글 코랩
0
172
2
강의에서 사용하는 pdf or ppt자료는 따로 없는 건가요?
0
148
2
실루엣 스코어..
0
86
2





