Bài này đề cập đến việc đánh giá mô hình và dự đoán mô hình trong Keras.
Ta sẽ bắt đầu bằng cách tìm hiểu đánh giá mô hình.
1. Đánh giá mô hình
Đánh giá là một quá trình trong quá trình phát triển mô hình để kiểm tra xem liệu mô hình có phù hợp nhất với vấn đề đã cho và dữ liệu tương ứng hay không. Keras cung cấp chức năng, đánh giá mà không đánh giá của mô hình. Nó có ba đối số chính,
- Test data
- Test data label
- verbose – true hay false
Ta tiến hành đánh giá mô hình, mà đã tạo trong bài trước bằng cách sử dụng dữ liệu thử nghiệm.
score = model.evaluate(x_test, y_test, verbose = 0)
print('Test loss:', score[0])
print('Test accuracy:', score[1])
Đoạn code sẽ đưa ra kết quả sau:
0
Độ chính xác là 98,28%. Ta đã tạo ra một mô hình tốt nhất để xác định các chữ số viết tay. Về mặt tích cực, vẫn có thể mở rộng phạm vi để cải thiện mô hình của mình.
2. Dự đoán mô hình :
Dự đoán là bước cuối cùng và là kết quả mong đợi của chúng tôi về việc tạo mô hình. Keras cung cấp một phương pháp, dự đoán để có được dự đoán của mô hình được đào tạo. Chữ ký của phương pháp dự đoán như sau,
predict(
x,
batch_size = None,
verbose = 0,
steps = None,
callbacks = None,
max_queue_size = 10,
workers = 1,
use_multiprocessing = False
)
Ở đây, tất cả các đối số là tùy chọn ngoại trừ đối số đầu tiên, tham chiếu đến dữ liệu đầu vào không xác định. Hình dạng nên được duy trì để có được dự đoán thích hợp.
Ta tiến hành dự đoán cho mô hình MPL đã tạo trong bài trước bằng cách sử dụng đoạn code sau:
pred = model.predict(x_test)
pred = np.argmax(pred, axis = 1)[:5]
label = np.argmax(y_test,axis = 1)[:5]
print(pred)
print(label)
Trong đó :
- Dòng 1 gọi hàm dự đoán bằng cách sử dụng dữ liệu thử nghiệm.
- Dòng 2 năm dự đoán đầu tiên
- Dòng 3 gắn năm label tiên của dữ liệu thử nghiệm.
- Dòng 5 – 6 đưa ra dự đoán và label thực tế.
Kết quả của ứng dụng trên như sau:
[7 2 1 0 4]
[7 2 1 0 4]
Đầu ra của cả hai mảng là giống hệt nhau và nó chỉ ra rằng mô hình dự đoán chính xác năm hình ảnh đầu tiên.