ROC AUC와 F1 점수 중에서 선택하는 방법은 무엇입니까?


26

나는 최근 경쟁 요구 사항에 따라 roc auc 점수가 사용되는 Kaggle 경쟁을 완료했습니다. 이 프로젝트 이전에는 일반적으로 f1 점수를 메트릭으로 사용하여 모델 성능을 측정했습니다. 앞으로이 두 지표 중에서 어떻게 선택해야하는지 궁금합니다. 언제 어떤 것을 사용해야하며 각각의 장단점이 무엇입니까?

Btw, 나는 기사를 읽었습니다. AUC와 F1 점수의 차이점은 무엇입니까? 그러나 언제 어느 것을 사용해야하는지 알려주지는 않습니다.

도움을 주셔서 감사합니다.

답변:


14

여기에 나열된 측정 값 중 올바른 정확도 점수 규칙, 즉 올바른 모델로 최적화 된 규칙은 없습니다. 의사 와 같은 로그 점수 및 로그 우도 기반 측정 값을 고려하십시오 . -index (AUROC, 일치 확률)은 적절하지 않지만 하나의 모델을 설명하는 것이 좋다. 모델을 선택하거나 두 개의 모델 만 비교하는 데 사용할만큼 민감하지 않습니다. c아르 자형2기음


답장을 보내 주셔서 감사합니다 프랭크! 좀 더 설명이 필요합니다. ROC AUC 및 F1 점수 만 선택할 수 있다면 어떤 것을 선택하고 왜 선택해야합니까? 두 가지의 장단점은 무엇입니까?
George Liu

2
index와 F1 중에서 만 선택할 수 있다면 충분히 논란의 여지가 없습니다. 금본위 제는 로그 우도, 불이익을받은 로그 우도 또는 베이지안 등가물입니다 (예 : DIC). 그 옆에는 브리 어 점수가 있습니다. 기음
Frank Harrell

2
citeulike.org/user/harrelfe/article/14321176을 참조하십시오 . 나는 이것을 내 자신의 시뮬레이션으로 보여 주었다. 불균형이 오버 샘플링 / 언더 샘플링으로 인한 것이 아닌 경우 불균형에 관계없이 적절한 점수 규칙을 사용할 수 있습니다.
Frank Harrell

1
@ FrankHarrell : 링크가 죽었습니다. 다시 확인할 수 있습니까?
SiXUlm

13

계산식 :

  • 정밀 TP / (TP + FP)
  • 리콜 : TP / (TP + FN)
  • F1- 점수 : 2 / (1 / P + 1 / R)
  • ROC / AUC : TPR = TP / (TP + FN), FPR = FP / (FP + TN)

ROC / AUC는 동일한 기준이며 PR (Precision-Recall) 곡선 (F1-Score, Precision, Recall)도 동일한 기준입니다.

실제 데이터는 양수 샘플과 음수 샘플 사이에 불균형이있는 경향이 있습니다. 이 불균형은 PR에 큰 영향을 주지만 ROC / AUC에는 영향을 미치지 않습니다.

따라서 실제로는 포지티브 및 네거티브 샘플이 매우 고르지 않기 때문에 PR 곡선이 더 많이 사용됩니다. ROC / AUC 곡선은 분류기의 성능을 반영하지 않지만 PR 곡선은 그 성능을 반영합니다.

연구 논문에서 실험을하는 경우 ROC를 사용할 수 있습니다. 실험 결과가 더 아름답습니다. 다른 한편으로, PR 곡선은 실제 문제에 사용되며 해석 성이 더 좋습니다.


7

위의 답변은 모두 좋습니다.

에스케이이자형=이자형에이나는V이자형이자형엑스에이이자형에스영형에스나는나는V이자형이자형엑스에이이자형에스

불균형 데이터로 AUC는 여전히 0.8 정도의 가치를 제공합니다. 그러나 TP (True Positive)가 아니라 FP가 많기 때문에이 값이 높습니다.

아래 예와 같이

TP=155,   FN=182
FP=84049, TN=34088

따라서 AUC를 사용하여 분류기의 성능을 측정 할 때 문제는 AUC의 증가가 실제로 더 나은 분류기를 반영하지 않는다는 것입니다. 너무 많은 부정적인 예의 부작용 일뿐입니다. 당신은 단순히 당신에게 데이터 셋을 시도 할 수 있습니다.

성능 지표 사용에 대한 불균형 데이터 권장 사항 페이퍼 백서에 따르면 "ROC는 기울어 짐에 영향을받지 않지만 정밀 리콜 곡선은 ROC가 일부 경우 성능 저하를 가리킬 수 있음을 시사합니다." 좋은 성능 지표를 찾는 것은 여전히 ​​미심쩍은 질문입니다. 일반적인 F1- 점수는 도울 수 있습니다

에프β=(1+β2)아르 자형이자형기음나는에스나는영형아르 자형이자형기음에이(β2아르 자형이자형기음나는에스나는영형)+아르 자형이자형기음에이

β

그런 다음 불균형 데이터에 대한 나의 제안은 이 게시물 과 비슷합니다 . 또한 "2 가지 분류 및 10 가지 테이블"을 검색하여 구성 할 수있는 10 가지 테이블을 시도 할 수 있습니다. 한편, 나는이 문제에 대해서도 연구하고 있으며 더 나은 척도를 줄 것입니다.


분석법의 성능에 관심이있는 경우 ROC를 사용하여 분류 성능을 표시하는 것이 좋습니다. 그러나 실제 긍정적 인 예측에 대해 더 관심이있는 경우 F1- 점수가 업계에서 환영됩니다.
Xiaorui Zhu

2
실제 비즈니스 환경에서는 오 탐지 비용과 오 탐지 비용을 추정 할 수 있습니다. 그런 다음 최종 분류는 확률 적 모델과 잘못된 분류 비용을 최소화하기 위해 선택된 분류 임계 값을 기반으로해야합니다. 나는 정확하게 정확성을 생각하지 않거나 F 점수는 훈련 된 데이터 과학자를위한 많은 실제 응용 프로그램을 가지고 있습니다.
Matthew Drury

그렇습니다, 나는 허위 분류 비용과 컷오프 확률 및 모델의 비용을 최소화하는 결정 방법의 절차에 동의합니다. 경우에 따라 비대칭 비용이 FP 및 FN에 적용될 수 있습니다. 그러나 정확도와 F 점수는 모델의 전체 성능을 확인하거나 여러 모델 간의 성능을 비교하는 것입니다. 실제로 데이터 과학자로서 데이터를 보유하고 있으면 비용을 최소화 할 수 있습니다. 그러나 의사 결정 솔루션의 배포 (또는 변형)가 실제로 필요한 데이터 과학자가 궁금합니다. 당신이 나와 공유 할 수 있는지 알고 싶습니다. Thx
Xiaorui Zhu

1
개인적으로, 나는 그것이 예측하는 조건부 확률에 기초하여 항상 모델의 적합도를 평가할 것입니다. 따라서 항상 로그 손실과 같은 적절한 점수 규칙을 사용하여 모델을 비교하고 개선이 소음이 아닌지 확인하기 위해 부트 스트랩을 사용하고 AUC를 보완 할 수 있습니다.
Matthew Drury

2
나는 그것이 사실이라고 생각하지 않습니다. AUC는 클래스 불균형에 민감하지 않도록 특별히 설계되었으며, 이에 대한 광범위한 시뮬레이션을 수행했으며 사실임을 알았습니다. 또한 모델을 비교할 때 동일한 모집단에서 샘플링 한 데이터 세트를 기반으로하여 클래스 불균형 문제가 발생합니다.
Matthew Drury

4

데이터 불균형이있을 때 매우 간단한 단어를 넣으려면, 예를 들어 긍정적 클래스와 부정적인 클래스에 대한 예제 수의 차이가 크면 항상 F1- 점수를 사용해야합니다. 그렇지 않으면 ROC / AUC 곡선을 사용할 수 있습니다.


"데이터 불균형"에 대한 정의는 거의 항상 F1- 점수를 사용하는 것이므로 큰 도움이되지 않습니다. 어쩌면 당신은 이것을 조금 확장 할 수 있습니까?
jbowman

나는 거기에서 매우 중요한 단어를 놓쳤다 ... 사과. 내 답변을 수정했습니다. 더 자세한 설명이 필요하면 알려주십시오.
balboa

1

일부 다중 클래스 분류 문제의 경우 ROC / AUC를 분석하고 시각화하는 것이 간단하지 않습니다. 이 질문, 다중 클래스 분류에서 ROC 곡선을 그리는 방법은 무엇입니까? . 이러한 상황에서 F1 점수를 사용하는 것이 더 나은 메트릭이 될 수 있습니다.

그리고 F1 점수는 정보 검색 문제에 대한 일반적인 선택이며 산업 환경에서 널리 사용됩니다. 다음은 ML 모델 작성이 어렵다는 잘 설명 된 예 입니다. 실제 비즈니스 환경에서 배포하기가 더 어렵습니다 .


1

분류의 목적이 확률로 점수를 매기는 경우 가능한 모든 임계 값을 평균하는 AUC를 사용하는 것이 좋습니다. 그러나 분류의 목적이 가능한 두 클래스 사이에서 분류해야하고 각 클래스가 모델에 의해 예측 될 가능성을 요구하지 않는 경우 특정 임계 값을 사용하여 F- 점수에 의존하는 것이 더 적절합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.