1. 학습
  2. /
  3. 강의
  4. /
  5. Python으로 설계하는 Machine Learning 워크플로

Connected

연습 문제

임계값 최적화하기

이론적으로는 기본값 0.5가 정확도를 최대화한다고 하지만, 실제로도 그런지 확인해 보려고 해요. 여러 임계값을 시도해 보고 각 임계값에서의 정확도를 계산해, 가장 성능이 좋은 임계값을 찾으세요. 같은 실험을 F1 점수에도 반복해 보세요. 0.5가 최적인가요? 정확도와 F1 점수의 최적 임계값이 동일한가요? 직접 확인해 보세요! 테스트 데이터로부터 계산된 scores 행렬이 제공돼요. 테스트 데이터의 정답 레이블은 y_test로 제공돼요. 마지막으로 두 개의 numpy 함수 argmin()과 argmax()가 미리 로드돼 있으며, 이는 각각 배열에서 최소값과 최대값의 인덱스를 찾아줘요. 또한 지표 함수 accuracy_score()와 f1_score()도 사용할 수 있어요.

지침

100 XP
  • 0.0, 0.25, 0.5, 0.75, 1.0을 포함하는 임계값 범위를 만드세요.
  • 이중 리스트 컴프리헨션으로 위 범위의 각 임계값에 대한 예측값을 저장하세요. 임계값 thr를 사용해 점수 행렬에서 레이블을 얻는 방법은 [s[1] > thr for s in scores]임을 기억하세요.
  • 그 리스트를 순회하며 각 임계값의 정확도를 계산하세요. F1 점수도 동일하게 계산하세요.
  • argmin() 또는 argmax()를 사용해 정확도와 F1 각각에 대한 최적 임계값을 찾으세요.