Short Description
This is the package provides functionality for visualizing the classifiers decision boundaries.
It is based on the work of Cristian Grosu for the master thesis project for 2023 at Utrecht University.
If you use this package, please cite the following paper:
[Decision Boundary Maps for Supporting User-Driven Pseudo-labeling](https://drive.google.com/file/d/12PlvWEYmDpdhF0HefwSeEEbx4VUFtDGA/view?usp=sharing)
The package is available on PyPI and can be installed using pip: pip install decision-boundary-mapper
Documentation
See more details at https://decisionboundarymapper.000webhostapp.com/
Usage exmaples
- This package comes with a simple GUI that allows you to visualize the decision boundaries of a classifier. The GUI is based on the
PySimpleGUIpackage and can be started by running the following code:
from decision_boundary_mapper import GUI
GUI().start()
- The package comes with two examples of complete pipelines for visualizing the decision boundaries of a classifier.
Both examples use
MNIST(handwritten digits) dataset. The first exampleDBM_usage_exampleusest-SNEto project the data from thenDspace to the2Dspace, then neural network is trained to fit the inverse projection from2DtonDand the decision boundaries are visualized using the2Dprojection. The second exampleSDBM_usage_exampleuses a neural network with an autoencoder architecture to learn the projection and the inverse projection. After which a simple classifier is used to color each point of the2Dprojection. The examples can be found in theexamplesfolder.
from decision_boundary_mapper import DBM_usage_example, SDBM_usage_example
DBM_usage_example() # run the first example
SDBM_usage_example() # run the second example
- The package main functionality comes in two classes
DBM(i.e. learns inverse projection when a 2D projection is given) andSDBM(i.e. learns both the projection and the inverse projection). The classes can be used as follows:
from decision_boundary_mapper import DBM, SDBM
from matplotlib import pyplot as plt
# load the data
...
X_train, X_test, y_train, y_test = load_data()
...
# create a simple neural network
...
classifier = ... # for compatibility with the package the classifier should be constructed using tensorflow.keras
...
dbm = DBM(classifier) # create a DBM object
img, img_confidence, _, _ = dbm.generate_decision_boundary(X_train, y_train, X_test, y_test, resolution = 256) # generate the decision boundary
sdbm = SDBM(classifier) # create a SDBM object
img, img_confidence, _, _ = sdbm.generate_decision_boundary(X_train, y_train, X_test, y_test, resolution = 256) # generate the decision boundary
...
# visualize the decision boundaries
plt.imshow(img)
plt.show()
Created by Cristian Grosu for the master thesis project for 2023 at Utrecht University
Metadata
Release files for decision-boundary-mapper 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| decision-boundary-mapper-1.0.1.tar.gz | 145.8 kB | Details |
Release files / decision-boundary-mapper-1.0.1.tar.gz
| Download URL | decision-boundary-mapper-1.0.1.tar.gz |
|---|---|
| Size | 145.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
64693263fe3f47869bf3e1eb1b5b4c30a1783495f672d359d6d4bb965d7d6e65
|
|
BLAKE2b-256 checksum How to use checksums |
25897c85982766e0c64fcb1dc53c9b26b1f406e5a45dda794b9cb3a2856ad723
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.10.10
|