ML Dashboard – a place where developers can store, edit and share code templates. ML Dashboard – also a place where starting programmers can download fully-described machine learning algorithm in order to include it in their own project or even see it in action once implemented on the use case.
- Create a web application that allows users to store and easily access machine learning templates.
- Build relational database to store them.
- Create the backend code and frontend form to allow users to add new templates to the site.
- Create the backend code to group and summarises the templates on the site, based on their attributes (type of algorithm).
- Matplotlib visualisations.
- CRUD operations can be carried out using either SQL (e.g. MySQL/SQLite/Postgres) or NoSQL (e.g. MongoDB).
- Use Flask micor-framework.
- Create the backend code to retrieve a list of recipes.
- Basic user registration and authentication to the site.
- Make sure your site is as responsive as possible.
- Logic must be written in Python. HTML, CSS, and JavaScript can be used to enhance the look and feel of the dashboard.
- The website must be data-driven and can rely on structured data, unstructured data or a mix of structured and unstructured data.
flask | wtforms | werkzeug
flask_sqlalchemy
pandas | numpy | matplotlib | seaborn
sklearn | scipy
SQLite
selenium | unittest
HTML | CSS | Bootstrap | Materialize | JavaScript | JQuery | Docker
Database structure can be divided into 3 main parts:
Stored in a one table, password additionally secured with SHA-256
Database tables that are building blocks for a data-table displayed on a main page. Additionally those tables are guaranteeing add/edit function integrity. Relationship type: one-to-one
Three separate tables with many-to-many relationship compiled within “Assembler Table”.
Main page on an application. Built with three main components:
Contains all available code templates. Main features are:
- Contribute – redirect to “add template” page
- Records per page button – allows to scale table view (10- 100)
- Search – datatable keyword search
- Clickable headers - datatable sorting functionality
- “Type of Estimator” button – redirects to type summary
- “Edit” button – redirect to “edit template”
- “Delete” button – removes code template from database
- “Download” button – downloads the code template in a *.py form
- “Downloads” – downloads counter
- Previous/Next - pagination feature
Each button redirects to type summary page
Github Repository View, defaulting to my own repo, with an option to change to another contributor.
Page contains form that allows user to upload template. Built with Materialize accordion, requires all fields to be filled. Accepts only .py files format.
Page contains form that allows user to edit existing template.
Pages that allows user to get an idea about each time and how to differ between them. At the top of the page there is a high overview about each of the algorithm types. “Preprocessing” & “Possible Issues” are supplied by database (many-to-many relationship).
“ML Regression in action” part starts with a business case, which answers question “Why?” We can also see dataset characteristics – size, stats & first 10 rows. Those information will allow user to answer question “What?”
All of the above is getting summarized by formulated “Data Question” and then we are ready for some “live” machine learning action.
First column allows user to choose from one of three available algorithms. Once backend finishes analyzing dataset, results and plots are being deployed in remaining columns.
Top right corner dropdown menu gives user basic sign in/login functionality. Available credentials: User: Test Password: testtest
Robin Selmer:
https://codepen.io/robinselmer/pen/vJjbOZ
Enjoy,
Lukasz Malucha