2016-07-24 3 views
2

SKlearn을 사용하고 이진 분류 [1, 0]에 대해 predict_proba (x) 함수로 확률을 얻으면이 함수는 분류가 각 클래스에 속할 확률을 반환합니다. 예 [.8, .34].이진 컴퓨터 학습 분류에 대한 신뢰도

모든 요인을 고려한 단일 분류 신뢰도를 낮추는 표준 방법이 커뮤니티에 채택 되었습니까?

옵션 1) 단지 본 실시 예에서 예측 된 분류 (0.8 대한 가능성을 가지고)

옵션 2) 참작 일부 수학 식 또는 함수 호출 다른 확률과 모든 단일 숫자를 반환합니다. 이러한 신뢰 접근법은 다른 클래스의 확률을 줄이고 다른 클래스간에 별다른 차이가없는 경우 낮은 신뢰를 반환하는 사람을 고려할 수 있습니다.

+2

예에서 - 클래스 확률이 1로 합쳐져서는 안됩니까? –

답변

0

해당 사항 없음. 그러나 당신이 할 수있는 것은 문턱을 변화시키는 것입니다. 정확히 말하면 predict을 사용하는 대신 데이터 세트를 분류하는 바이너리를 내 보낸다. 예측을 위해 임계 값을 0.5로 취하고있다. 1에서 분류 할 확률이> 0.5 인 경우 마찬가지로 1과 0으로 분류합니다. < = 0.5 인 경우 그러나 이로 인해 경우에 따라 f1 점수가 낮아질 수 있습니다.

따라서 임계 값을 변경하고 최대 f1 점수 또는 점수 기능으로 사용하려는 다른 측정 항목을 산출하는 방법을 선택해야합니다. ROC(Receiver operating characteristic) 커브는이 용도로만 사용됩니다. 그리고 사실상,이 클래스에 대한 확률을내어주는 sklearn의 동기는 을 선택하는 것이 가장 좋습니다.

아주 좋은 예는 환자의 암이 있는지 여부를 예측하는 것입니다. 그래서 당신은 현명하게 당신의 임계 값을 선택해야합니다. 당신이 그것을 높게 선택한다면, 당신은 가짜 음수를 많이 얻게 될 것입니다. 그렇지 않다면 당신은 가양 성을 많이 얻게 될 것입니다. 따라서 사용자는 필요에 따라 임계 값을 선택하기 만하면됩니다 (가양 성을 높이는 것이 더 좋습니다).

희망이 있습니다.

+0

멀티 클래스 문제 일 경우 어떻게해야합니까? 우리는 어떻게 threashold를 선택합니까? – Sandeep

+0

@Sandeep 기본적으로 여러 ROC 커브를 표시합니다. 도움이 될 수도 있습니다 - http://stats.stackexchange.com/questions/2151/how-to-plot-roc-curves-in-multiclass-classification – hashcode55

관련 문제