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으로 된다.
[linux] dpkg: error: 2 expected programs not found in PATH or not executable 오류 (0) | 2023.04.13 |
---|---|
Docker Failed to Initialize on Windows 10 (Docker 오류) (0) | 2022.08.10 |
[tip] jupyter notebook kernel 여러개 만들기 (0) | 2022.01.12 |
[tip] jupyter notebook background로 실행 시키기 (0) | 2022.01.11 |
우분투 nvidia gpu 메모리 모니터링 방법 (0) | 2022.01.11 |
댓글 영역