Inspiration
In a world where businesses create more and more value for their customers than ever before, it is imperative to facilitate their growth, and the key to this? Collaboration. Gone are the days when professionals could network at your local bars. With accelerating globalization, social networks like LinkedIn, Facebook, Instagram, and many more, have made connecting between individuals much easier. Why can’t the same be done for businesses?
What it does
Given a graph of known business connections and each business’s key features, our team learned and used Facebook’s open source machine learning library, PyTorch, to create a dynamic model for predicting business connections.
How we built it
Our methodology was simple, straightforward, and effective. First, we imported all the necessary libraries for our computations. Then, we organized the raw training data in a way that recognized patterns between the page types and features of connected businesses. As an example, we simplified the page type data to values of 1 or 0 based on whether or not the pair of businesses shared the same page type. Additionally, since the given training data set was too large, we took a randomized sample of both connected business pairs and unconnected business pairs. Furthermore, we compressed the data to more efficiently make predictions by removing 50 of the most common features shared by businesses. Finally, we trained our model over 10 epochs with linear layers. Using stochastic gradient descent to train and mean squared error as our loss function, we achieved a validation loss of 0.11.
Challenges we ran into
Training the model was the most difficult task for us. We were all quite experienced in Python, so preprocessing the data was straightforward. However, we had minimal knowledge of machine learning libraries like PyTorch and TensorFlow, so we had to familiarize ourselves with the fundamentals in a very short time frame. We thoroughly researched different models, optimization functions, and loss functions to arrive at our final solution, and each additional step posed an exciting challenge to overcome.
Accomplishments that we're proud of
We're proud that we were able to tackle a challenge in a field that we had minimal knowledge and experience in. Learning PyTorch and understanding the underlying processes was an exciting experience, and we're proud of our ability to learn and create quickly in unfamiliar territory.
What we learned
We learned a lot about different machine learning models, optimizers, and loss functions. We also learned how to leverage PyTorch to make sense of infeasibly large amounts of data. Overall, this project opened our eyes to the power of data science and machine learning in today's world of big data.
What's next for business_buddies
Limited by time and power, our team can improve our model in the future by tweaking initial data manipulation, adding additional neural layers, and training over more epochs to better predict business to business compatibility.
Log in or sign up for Devpost to join the conversation.