In this project, I used an image dataset that contains 58,000 images of apparel, such as T-shirts, trousers, pullovers, dresses, and so on. The images are in greyscale, and they are just 28*28 pixels. The image below shows you an overview of the dataset. By using the convolutional neural network, I'm able to identify different types of apparel. It can be implemented in the real world and Echo Look is an example of it. This project just shows how I use CNN to classify apparel.

Echo Look
Echo Look is a product introduced by Amazon in 2017. It can just use your voice, easily take full-length photos and short videos with a hands-free camera. Plus, get a second opinion with Style Check on which outfit looks best. This video below can tell you more about Echo Look.
Convolutional Neural Network
The preprocessing of this dataset is relatively complicated, even though it is a cleaned dataset. After scaling the features and splitting the dataset into training and validating datasets, I could build a CNN model. I used dropout regularization to improve the model and reduce overfitting. To further improve the model, I could use 128 kernels in the model. The process is shown below.

Saving the Model
After several hours of training, I got a 91.7% accuracy in the testing dataset. Then I save the model. It is not like a simple linear regression model. I don't want to wait several hours again if I need to use the model in the future. In practice, training a model may take days, so saving your model is very necessary.


Evaluating the Model
I used the confusion matrix to evaluate my model. In the classification report, you can see precision, recall, f1-score, and support for each class. Also, I used seaborn to visualize my confusion matrix.




Software used: Python

Packages used: Sklearn, Tensorflow, Keras, Seaborn