Inspiration
With two of us coming from computer science backgrounds and one of us being a finance major, we identified a large gap of knowledge from technical backgrounds and the business/medical fields. This is where EZ ML comes in! EZ ML allows anybody to drag csv files into our platform to train their own models without ever writing a line of code. They will be able to receive accurate, predictive models that could help discover cancer in patients earlier, who is most likely to default on credit loans, or what links are likely to be used for phishing. The best parts of EZ ML? It super easy to use, very accurate & precise, and flexible with the problems it can solve!
What it does
- Take in a csv file that you can drag and drop into a specified area
- Reads the data and dynamically start to train models.
-We use 3 classification algorithms: SVM, RF, and NN and those give us non tuned recall, accuracy, precision, and f1 scores.
-The 3 different algorithms are then dynamically hypertuned with 3 different algorithms linked respectively with SVM, RF, and NN to find the ideal parameters for the classification algorithms.
-Another algorithm then chooses which method is the best and that is used to pick the best model - With their own trained model, the user is able to input new data and receive an output that can accurately solve their problems.
- Analytics
The platform is very useful because people who are not technical are able to upload data that is subsequently trained using our dynamic hyper tuning. This produces high degrees of accuracy, precession, recall, and f1 for the user's output whilst having to write no code.
How we built it
The backend uses SKLearn library in order to run the 3 algorithms mentioned above. This is process is written in python. The other aspect of our backend is written in node.js to upload files.
Frontend is a react app that allows you to drag and drop and upload csv files. That then queries an AWS Lambda function which uploads the given csv to S3. Then the frontend queries a Flask server which pulls down the file, trains models on it, and then stores the most optimal model in a file. Sockit.io allows for real time 2-way communication so the server can update the user after each step.
The cloud uses Amazon’s API gateway using web sockets with AWS Lambda.
Challenges we ran into
The major problems we dealt with were with respect to the cloud with dependency management. This was unique because Lambda does not provide anyway to install dependencies so we could not get code to run. We could not install dependencies on the server, but when we provided it ourselves, it was too large of a file. Other dependencies would also not show up on the server. We ended up having to throw out our cloud architecture but then put together a simpler version.
Accomplishments that we're proud of
We created a machine learning algorithm that creates models with high accuracy with dynamic hypertune.
What we learned
We learned about AWS cloud architecture and its user interactions, user permission on the server, and structuring. We also learned about AWS Lambda and its benefits and issues.
What's next for EZ ML
Creating a better interface for users and also distribute it to the public for anybody to train their own models.
Built With
- aws-api-gateway
- aws-lambda
- machine-learning
- node.js
- numpy
- pandas
- python
- sklearn
Log in or sign up for Devpost to join the conversation.