Inspiration
Machine learning and artificial intelligence are extremely promising technologies in virtually every field. However, few fields have a deficit between the supply and demand of machine learning skills as much as scientific research does. With the potential to save lives in ICU triage, determine correct doses of medications, or identify novel trends in spreading diseases, machine learning would be truly revolutionary - if it wasn't for two limiting factors. First, a lack of training in machine learning in the scientific and healthcare communities means that oftentimes perfect opportunities to deploy models are being passed up due to a lack of knowledge. Second, when those opportunities are taken advantage of and machine learning models are created, the results are often difficult to be trusted due to a reproducibility crisis, due to a combination of three major factors. First, a lack of knowledge about the algorithms leads to inaccurate assumptions and faulty models, seconds, a lack of knowledge about how to prepare data. and lastly, misinterpretation of the model itself. You can read more about it here.
What it does
EasyAI comes in and eliminates those problems by streamlining the process for the user by providing them the most accurate, and efficient machine learning algorithm for their data, all on a beautiful web application that will be hosted on the domain name easyai.space in the future.
EasyAI is a user interface that acts like a drag and drop machine learning software. It allows the user to input their data and the program takes over for them by using the best, most accurate machine learning algorithm. This removes the middle ground and allows the researcher to focus on collecting, and interpreting the data rather than figuring out the best algorithm to use. EasyAI also gives the user the option of visualizing the data through different charts and graphs. The best part is that they are formatted in a professional way so that they can be used immediately.
How we built it
EasyAI was built with a foundation of Django and Wagtail. Django is a Python-based backend web framework, and wagtail is a content management system built on top of Django. Using custom backend logic, a drag-and-drop code-free solution was built to make machine learning workflows as simple as possible. Using a combination of inputs designed to reduce repetitive use cases, EasyAI allows you to select what specific data cleaning, preprocessing, and model training algorithms you'd like to use - or let it decide for you. TPOT, an automated Machine Learning tool that optimizes machine learning pipelines using genetic programming that simulates natural evolution, allows the end user to sit back and watch as their data is preprocessed, transformed, fitted, tuned, validated, and scored in a matter of minutes with upwards of 98% accuracy in real-world tests we performed. You can learn more about TPOT here. Once you've defined your workflow, training new models or finding novel insights with predictions is just a mouse click away. In order to assist with the public validation of these models, the user is able to easily select which graphs to display on the frontend, which was built using a mixture of javascript, react, and react-chart-js2. These graphs are modeled around those in scientific publications, meaning you - and whoever is using your models - will know with absolute certainty that they are highly accurate.
Challenges we ran into
We ran into many problems as a team due to how extensive and ambitious our idea was. The first problem we ran into was getting the wagtail admin interface to work correctly with custom database models that had both custom admin views and admin functions. To solve this problem, we used custom object logic, in additions we had to create custom URL and button helpers, as well as create server-side views that utilized the newly customized models. The next the problem we ran into was getting the user input in the form of blocks into a format that could be parsed by scikit-learn in order to build the machine learning pipeline. To fix this issue we used our knowledge of Django models and machine learning to create a program that would be able to dynamically parse the user input blocks and use custom attributes in the models that helped construct the machine learning pipeline on the fly.
Additionally, there were some hiccups when integrating the backend with the frontend. The data format went through multiple iterations before it settled down, and even then, it was complex to parse through. We had to constantly compare the chart.js data format and the API response data format in order to connect the bridge between both formats. Creating the dynamic chart was not a simple task as a single React component would have to take in the data and pump out the respective charts, and configure the respective charts to look good. Furthermore, we ran into difficulties integrating the frontend and backend together. As we had no prior experience with each other's language, the debugging process was made even more tedious.
Accomplishments that we're proud of
As a team we are proud to have built a practical tool that has not been done before. We are also proud that our project is able to help solve a problem that is persisting in the research world, while also streamlining the research process by making it easier to implement machine learning models, and visualizing their data.
We're quite proud of how the UI of the website turned out, especially the graphs. It captures the sleek and modern feeling as well as the usability that we envisioned it to have when we first ideated the project, making it simple for the average person to hop on and use our application. The future of this project looks bright given how easily it could be scaled and potentially become successful and we are very excited to expand upon our idea.
What we learned
While building this project we learned a multitude of things. First we learned how to create a website using Django and Wagtail that was centered around complex database models. This will help us in virtually any web development project, as the backbone of any advanced website is its models.
The next process that we became proficient in was using chart.js to create beautiful modernistic charts. We learned how to create both flexible and aesthetically pleasing graphs to showcase our data exactly how we wanted it to look. This will be invaluable when preparing data-oriented websites and web applications.
Lastly, we learned not just about machine learning, but how to implement machine learning and artificial intelligence in a flexible manner. Given the precise input and training requirements of each algorithm, being able to implement an error-resilient and flexible machine learning workflow will allow us to skip to the actual model training in future projects.
What's next for EasyAI
The next step for EasyAI is to begin testing it with people who do research to get a feel on how it can be improved upon, and how to improve upon it. While testing we also begin marketing it to the right audience, and begin deploying it for use.





Log in or sign up for Devpost to join the conversation.