Machine learning is changing the world on a daily basis- from cars that drive themselves, AI capable of beating humans in our best games, and perhaps most important, predicting and classifying disease (e.g. strokes, seizures, or even cancer). It's possibilities are nothing but promising.
That being said, machine learning is like approaching the face of a rock climbing wall for the first time-- it looks too high and technical, but like climbing, it is entirely intuitive to us. Between multiple libraries in different languages with countless parameters, there exists a discouraging learning curve. We frequently meet people with brilliant ideas to solve real-life problems with the power of machine learning, but little have the technical background to do so. This is why we built ML4dummies.
What it does
ML4dummies is a responsive, intuitive, and autonomous web-application that allows anyone to upload their own dataset in order to "train" a model for analysis, model fitting, and prediction.
Here are just a few of the autonomous features ML4dummies offers:
- Comprehensive analysis of your data
- Interactive and insightful data visualizations
- Hyperparameter selection
- Model configuration file download for prediction and analysis
All ML4dummies asks of our users is to select the features and target on which to fit your machine learning model!
How we built it
Needless to say with love... our application's back-end, responsible for training the models and computing predictions, runs on Flask, a lightweight framework that allows our machine learning system to communicate (through efficient HTTP requests) with our beautiful front-end, responsible for generating insightful visuals of the responses from the back-end.
Challenges we ran into
As tech savvy students who only recently came to learn to harness the power of machine learning, we needed to reach a consensus on the easiest and most powerful way one can use machine learning for their unique data sets. The biggest challenge facing the technical side of the puzzle was creating the communication system through which the back-end and front-end could effectively transfer data regarding models and visualization data.
Accomplishments that we're proud of
In under 36 hours, Team ML4dummies built a general-purpose, back-end server capable of analyzing arbitrary data sets which can be modified via a responsive and easy-to-use webpage. It would be one thing for this to be done by only 4 individuals, but the fact we were putting our trust into who were originally complete strangers in the beginning is really something else.
What we learned
While thinking of notable use cases, we were astonished to consider how many different domains machine learning could play an overwhelming role. These include just about anything medical or business related, educational psychology, industrial psychology, churn prediction, and march madness brackets, just to name a few. The potential was perhaps what inspired us to pursue ML4dummies. Finally, we learned to work efficiently in a team to communicate our ideas, delegate responsibilities, and eventually integrate our components to complete the project.
What's next for ML4dummies
After PennApps, we plan to implement features to further simplify machine learning and optimize its effectiveness. In the long run, we plan to refactor the project so that the open-source community can contribute to improve the application. Our hope is that ML4dummies will make machine learning accessible to the masses, and thus enable more problem solvers, doing what they do best- solve problems (duh?), data set by data set.
Here's what's in the works for ML4dummies:
- More ML algorithms
- Autonomous hyperparameter optimization
- Batch predictions
- And much more... or at least that's what I predict