-
카테고리
-
세부 분야
딥러닝 · 머신러닝
-
해결 여부
미해결
안녕하세요. precision_recall_curve()함수 적용할 때 질문드리겠습니다.
22.09.22 09:50 작성 조회수 255
0
강의 내용 중에
처음 precision_recall_curve함수 적용하는 부분에서ㅗ
thresholds의 shape와 precision, recalls의 shape 자체가 본래의 자료보다는 개수가 적어지는데 그 이유가 무엇일까요??
예를 들어 저희가 이용하였던, y_test의 shape는 원래 (179, ) 였는데 precision_recall_curve를 적용하면 개수가 줄어들더라구요.. 그리고 강의 내용 중에서는 반환된 thresholds나 나머지 것들이 147, 148개의 자료들이 생성되는데..
저는 코딩을 다시해봐도 165개, 166개가 나오더라구요.. 제가 어떤 부분에서 놓쳤는지 잘 몰라 질문드립니다.
감사합니다.
답변을 작성해보세요.
0
권 철민
지식공유자2022.09.22
안녕하십니까,
precision_recall_curve에서 반환하는 precision, recall, thresholds 데이터의 건수는 y_true 건수와 동일하지 않습니다. 반환하는 데이터 건수는 thresholds 데이터 건수를 기준으로 합니다. threshold 데이터 건수는 y_true건수와 예측 확률을 기반으로 만들어지지만 y_true건수와는 동일하지 않습니다.
pred_proba_class1 = lr_clf.predict_proba(X_test)[:, 1]
precisions, recalls, thresholds = precision_recall_curve(y_test, pred_proba_class1 )
따라서 y_test의 건수가 179 건이더라도 반환된 threshold의 값은 147건이되고 precision과 recall은 여기에 1건을 더해서 148건이 됩니다.
감사합니다.
ycc3819
질문자2022.09.23
아.. 저는 뭔가 규칙이 있는 줄 알았는데,
러프하게 받아들여야할 것을 너무 집요하게 파고들었네요...
답변해주셔서 정말 정말 감사합니다 :D
답변 1