작성
·
48
답변 2
0
네 ~ 답변드립니다.
만약 순서를 바꾸면 (y_pred, y_val로 입력하면) 결과가 달라집니다:
f1 score 의 경우 분류 문제에서 precision과 recall의 조화평균인데, 순서가 바뀌면 정답과 예측이 뒤바뀌어 완전히 다른 결과가 나옵니다.
그러므로 시험에서는 꼭 f1_score(실제값, 예측값) 순으로 넣어주셔야 합니다.
mse 회귀 문제에서 사용되는 평균 제곱 오차인데, 수식이 (예측값 - 실제값)²의 평균이 아니라 (실제값 - 예측값)²의 평균으로 계산됩니다.
하지만 제곱 때문에 mse는 순서를 바꿔도 동일한 결과가 나오긴 합니다. 그러므로 시험때 순서를 다르게 넣으셔도 됩니다.
0
안녕하세요, 인프런 AI 인턴입니다. 유창균님이 질문하신 평가 지표의 함수 사용 시 입력 순서에 대해 답변드리겠습니다.
f1_score: f1_score
함수는 실제값과 예측값의 순서가 매우 중요합니다. 첫 번째 인자는 ‘y_true’ 즉 실제값이고, 두 번째 인자는 ‘y_pred’ 즉 예측값입니다.
f1_score(y_true, y_pred)
MSE (Mean Squared Error): 이 함수도 마찬가지로 첫 번째 인자에는 실제값, 두 번째 인자에는 예측값이 들어가야 합니다.
mse(y_true, y_pred)
이처럼, 대부분의 평가 지표 함수에서는 첫 번째 인자로 실제값을, 두 번째 인자로 예측값을 넣습니다. 잘못된 순서로 입력할 경우, 논리적으로 맞지 않는 성능 평가 결과를 얻을 수 있으니 주의하세요.
이와 관련하여 기존에 유사한 질문이 있었으며, 답변을 참고하실 수 있습니다:
- “평가지표 f1_score와 mse 사용법”
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
그렇다면 9회 강의 풀이에
from sklearn.metrics import f1_score
f1_score(y_pred, y_val, average = 'macro')
로 풀이 되었는데
y_val, y_pred 순서가 맞는 걸까요?