상세 컨텐츠

본문 제목

'Sequential' object has no attribute 'predict_classes' 오류

Tips

by 힐둔 2022. 1. 21. 22:50

본문

'Sequential' object has no attribute 'predict_classes' 오류

 

tensorflow에서 분류 문제를 위해 입력 데이터의 class probability를 predict 해주던 predict_classes는 2.6 이상 버전 부터 더 이상 지원하지 않는다. 하여 2.6 이상에서 predict_classes를 대신해서 사용하는 방법에 대해 알아 보도록 하자. 

 

분류는 흔히 둘 중 하나를 선택하는 것(binary classification)과 여러개 중에 하나를 선택하는 경우 (multi class classification)가 있기 마련이다. 그 두가지 방법은 acivation funtion으로 각각 sigmoid와 softmax 를 사용하게 되는데 그 두가지 방법에 대해 predic_classes를 대신해 사용할 수 있는 방법은 다음과 같다.

 

 

1. softmax 을 사용하는 multi class classification인 경우

np.argmax(model.predict(x), axis=-1)

 

 

2. sigmoid을 사용하는 binary classification인 경우.

(model.predict(X_test) > 0.5).astype("int32")

 0.5 보다 크면 true, false로 반환하고 이걸 int32로 변환하면 0 혹은 1로 return 된다. 결국 값이 0.5 보다 크면 1이고, 작게 되면 0으로 된다.

 

 

 

관련글 더보기

댓글 영역