2017-05-03 4 views
2

sklearn 분류 자의 예측 함수를 사용할 때, 나는 신뢰도를 추정하기 위해 예측에 사용되는 확률 분포를 살펴보고 싶습니다. 나는 다음과 같은 간단한 분류 구성을 사용하고python sklearn 분류 자에 의해 사용 된 확률 분포는 무엇입니까

는 :

clf = SGDClassifier(loss='log',penalty='l2',alpha=1e-3, n_iter=5, random_state=42).fit(X, Y) 

그리고 예측에 내가 사용 : 확률 분포 'proba'을 볼 때

predicted = clf.predict(X_test) 
    proba = clf.predict_proba(X_test)[0] 

, 나는 수업 실현 최대 probabliity 값을 가진 변수가 '예측 변수'의 클래스와 항상 같지는 않습니다. 왜 그런가요? 예측 기능에서 사용되는 것과 동일한 가능성있는 분포를 얻으려면 어떻게해야합니까? SGDClassifier.predict_proba() 문서에서

+0

실례를 재현 할 수 있습니까? –

답변

2

은 : loss=”modified_huber”에 대한

진 확률 추정치는 (clip(decision_function(X), -1, 1) + 1)/2에 의해 주어진다. 다른 손실 함수의 경우, 대신에 sklearn.calibration.CalibratedClassifierCV으로 분류자를 감싸서 적절한 확률 교정을 수행해야합니다. 귀하의 예제 코드에서

, 당신은 loss="log"를 사용하지만 predict()predict_proba() 사이의 불일치를보고하는 이유가 될 수있는, 지시로 분류 포장 아닙니다.

관련 문제