Okay, I am having way too much fun with this project…
As a part of my cloud computing course, I have to train and deploy a machine learning solution. I chose to create a password strength classifier, which consists of two major parts.
The first is an input vectorizer, which accepts text input and converts it to an array of floats that describe how the characters in your password relate to one another and to other passwords. The second part is the machine learning model, which is a multi-layer perception classifier. The model was fed over 500k passwords and their associated strength rating, which it used to fine tune the 500 neurons in each of its hidden layers. The training process took almost four hours, but as you can see by the F1 score and confusion matrix, it was worth the wait!
This is my first time developing a machine learning model without a tutorial or textbook, and honestly the experience has been a blast so far. Even though my system is quite simple, building it reinforced a lot of the skills that I have been learning throughout this academic year. It also taught me how to vectorize text for deep learning, which is something I hope to apply to develop chatbots and NLP applications in the future.
Next, I will be learning how to deploy this model in a Docker container and develop and API to allow clients to access it. I can’t wait to see how it turns out!