훈련 샘플이 어떤 클래스에 속할 확률은 predict_proba 메서드를 사용하여 계산합니다. 예를 들어 테스트 데이터셋에 있는 처음 세 개의 샘플 확률을 다음과 같이 예측할 수 있습니다.
>>> lr.predict_proba(X_test_std[:3, :])
이 코드는 다음 배열을 반환합니다.
array([[1.52213484e-12, 3.85303417e-04, 9.99614697e-01],
[9.93560717e-01, 6.43928295e-03, 1.14112016e-15],
[9.98655228e-01, 1.34477208e-03, 1.76178271e-17]])
첫 번째 행은 첫 번째 붓꽃의 클래스 소속 확률입니다. 두 번째 행은 두 번째 꽃의 클래스 소속 확률에 해당합니다. 당연하지만 열을 모두 더하면 1이 됩니다(lr.predict_proba(X_test_std[:3, :]).sum(axis=1) 코드를 실행해서 확인할 수 있습니다).
첫 번째 행에서 가장 큰 값은 대략 0.999 정도입니다. 첫 번째 샘플이 클래스 3(Iris-virginica)에 속할 확률이 99.9%라는 뜻입니다. 눈치챘을지 모르지만 행에서 가장 큰 값의 열이 예측 클래스 레이블이 됩니다. 예를 들어 넘파이 argmax 함수를 사용하면 다음과 같이 씁니다.
>>> lr.predict_proba(X_test_std[:3, :]).argmax(axis=1)