This app has been moved here. This repo is likely outdated and will not be updated.
This is a learning tool and exploration app made using the Dash interactive Python framework developed by Plotly.
Dash abstracts away all of the technologies and protocols required to build an interactive web-based application and is a simple and effective way to bind a user interface around your Python code. To learn more check out our documentation.
Try out the demo app here.
This demo lets you interactive explore Support Vector Machine (SVM).
It includes a few artificially generated datasets that you can choose from the dropdown, and that you can modify by changing the sample size and the noise level of those datasets.
The other dropdowns and sliders lets you change the parameters of your classifier, such that it could increase or decrease its accuracy.
First create a virtual environment with conda or venv inside a temp folder, then activate it.
virtualenv dash-svm-venv
# Windows
dash-svm-venv\Scripts\activate
# Or Linux
source venv/bin/activate
Clone the git repo, then install the requirements with pip
git clone https://github.com/plotly/dash-svm.git
cd dash-svm
pip install -r requirements.txt
Run the app
python app.py
This app is fully written in Dash + scikit-learn. All the components are used as input parameters for scikit-learn functions, which then generates a model with respect to the parameters you changed. The model is then used to perform predictions that are displayed on a contour plot, and its predictions are evaluated to create the ROC curve and confusion matrix.
In addition to creating models, scikit-learn is used to generate the datasets you see, as well as the data needed for the metrics plots.
An SVM is a popular Machine Learning model used in many different fields. You can find an excellent guide to how to use SVMs here.
- Dash - Main server and interactive components
- Plotly Python - Used to create the interactive plots
- Scikit-Learn - Run the classification algorithms and generate datasets
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
- Xing Han Lu - Initial Work - @xhlulu
- Matthew Chan - Code Review - @matthewchan15
See also the list of contributors who participated in this project.
This project is licensed under the MIT License - see the LICENSE.md file for details
The heatmap configuration is heavily inspired from the scikit-learn Classification Comparison Tutorial. Please go take a look!
The idea of the ROC Curve, the Matrix Pie Chart and Thresholding came from @nickruchten. The app would not have been as complete without his insightful advice.
dash-svm's People
Forkers
hal2001 ilyaselitser jingweiz bigrlab kcompher biranjan xhluca romakoks masumsoft linghanqian databill86 alhaol cristianpachacama zhyhy austinlasseter onurkoc nivedhithae vkr75 vanessakamara cdalgicdir egenius01 frenchlam john-james-ai ramnathselagamsetty adheesh123 sardarnb fghcdp sts-sadr oliversieweke vgaurav3011 hemanthsagarb philmonaco actuarial-tools michelangelo367 plantly lepy josephelambert leonardo-dias-up fcas syl-ohdash-svm's Issues
Demo app url links to non-existent site
https://dash-svm.plot.ly/ is listed in README.md and redirects to https://dash-gallery.plotly.host/dash-svm
https://dash-gallery.plotly.host/dash-svm throws a 404 error
There are several dead links here as well: https://dash.plot.ly/gallery
Threshold should reset to 0 whenever an SVM parameter is changed
Improvements in app.py
. Beginners welcome.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.