Source

GitHub - Rodin-Sh/CatDogClassificationModel: A convolutional neural network model classifying between cats and dogs, with highest validation accuracy achieved being 80.05%.

Description & Analysis

The project contains one Jupyter notebook (a well-known development system for Python). The Jupyter notebook contains the model. The model is able to predict and classify whether an image is cat or a dog based on the data provided.

The highest accuracy we achieved was 80.05%. For an ML algorithm with 10,000 images, based on experience with past ML projects, the accuracy result should be higher, especially considering that this is a binary classification, 0 or 1.

The algorithm architecture utilized in this project was a convolutional neural network. Specifically, there were two layers of convolutional operation, two layers of max pooling, one layer of flattening, and two layers of basic neurons. By playing with the architecture and number of epochs (the number of times the algorithm goes over the data to learn from it), the accuracy can be increased [see Conceptual: Machine Learning for defintion on terms].

The time taken to train this algorithm was an ~50 minutes. Considering the number of data, this figure is reasonable and not surprising. It has to be noted that this is the training time and not the actual classification time. The classification time for a custom image was less than 1 second.

In the small project that we developed in the link above, we practiced ML and Python development skills. In addition, we utilized Tensorflow and Keras to initialize, create, and compile the convolutional neural network algorithm. In addition, NumPy arrays were used to format and then predict custom data.

Conclusion

What did we learn?

Why is it useful?

How is it useful?

Based on this project, it can be understood that creating a binary classification image recognition algorithm that predicts whether there is a fire or not is simple and straightforward.

The simplicity and straightforwardness of the project indicate that with adequate number of (wild)fire images [see Wildfire Datasets] and the correct model architecture, an accuracy higher than 90% can be achieved.

The time and resources invested in the actual development of the algorithm should also be nominal in the scope of the whole project.