2016-11-22 5 views
14

나는 model.predict와 model.predict_proba가 둘 다 각 행에 대해 각 카테고리의 확률을 나타내는 동일한 2D 행렬을 제공함을 발견했습니다.keras : model.predict와 model.predict_proba의 차이점은 무엇입니까

두 기능의 차이점은 무엇입니까?

+0

여기에 말씀해 주셔서 감사합니다. 그러나 다른 방법으로 메시지를 보내는 방법을 알아낼 수는 없습니다. 웹 사이트에서 파일을 읽는 것에 대한 귀하의 질문에 대한 답변이 있었지만 답변을 드릴 수 있기 전에 질문이 삭제되었습니다. 다시 묻는다면 나는 –

답변

20

predict(self, x, batch_size=32, verbose=0) 

이 일괄 방식으로 시료를 처리하는, 상기 입력 샘플의 출력 예측들을 생성 예측한다.

인수

x: the input data, as a Numpy array. 
batch_size: integer. 
verbose: verbosity mode, 0 or 1. 

반환

A Numpy array of predictions. 

predict_proba(self, x, batch_size=32, verbose=1) 

일괄하여 입력 샘플 배치에 대한 클래스 확률 예측을 생성 predict_proba.

인수

x: input data, as a Numpy array or list of Numpy arrays (if the model has multiple inputs). 
batch_size: integer. 
verbose: verbosity mode, 0 or 1. 

반환

A Numpy array of probability predictions. 

편집

는 : keras의 최근 버전에서는 예측하고 predict_proba은 모두 확률을 줄 즉 동일합니다. 클래스 레이블을 얻으려면 predict_classes를 사용하십시오. 설명서가 업데이트되지 않았습니다. (Avijit Dasgupta의 의견에서 수정)

+0

라고 대답 할 수 있습니다. 그러나 model.predict는 직접 샘플 레이블 – jingweimo

+0

이 아니라 실제로 예측할 수없는 예측의 배열을 제공합니다! 나는 그렇게 생각하지 않는다. 예측은 반드시 직접 라벨을 줄 필요는 없지만 라벨에 대한 점수를 줄 수 있습니다. 라벨에서 가장 좋은 라벨을 찾았지만 예측은 클래스 확률을 제공하지 않습니다. –

+8

최근 버전의 keras에서 predict와 predict_proba는 동일합니다. 즉, 둘 다 확률을 제공합니다. 클래스 레이블을 얻으려면 predict_classes를 사용하십시오. 설명서가 업데이트되지 않았습니다. –

1

이전 의견 (및 here)에서 언급했듯이 현재 차이점이 없습니다.
그러나 하나는 exist only for backward compatibility (분명히 어느 것이고 내가 알고 싶어하는지) 인 것 같습니다.

관련 문제