A

A3SOM

88eb5430 Update index.rst · by Constance Creux

A3SOM

Documentation Status Python version

Introduction

A3SOM is a semi-supervised classifier, made explainable and visualizable by the integration of a self-organizing map. It offers the option of performing abstained classification to detect class overlaps and discover new classes in the data.

Overview of A3SOM method

Quick start

From the command line, clone this project:

git clone https://forge.ibisc.univ-evry.fr/ccreux/A3SOM.git

Move to the directory containing source files:

cd A3SOM/A3SOM

From there, A3SOM can be used in a Python script with from A3SOM import A3SOM. Usage is similar to Keras models:

model = A3SOM(input_dim, n_classes, n) # input_dim = nb of features, n_classes = nb of classes, n = dimension of the SOM
model.compile()
model.fit(data_train, target_train, validation_split, batch_size, epochs)

Importing the Dataset.py module is optional, but makes formatting the input easier. For abstained classification, import abstention.py to apply global or local abstention thresholds and study the effects of abstention. Finally, utils.py contains various functions for visualization purposes, as well as a function to mask some of the labels in a target object.

Examples

Examples of how to train A3SOM and study its results are given in examples.ipynb.

Documentation

Documentation of the different modules can be found here: https://a3som.readthedocs.io/en/latest/.

Cite

Creux C, Zehraoui F, Hanczar B, Tahi F (2023) A3SOM, abstained explainable semi-supervised neural network based on self-organizing map. PLoS ONE 18(5): e0286137. https://doi.org/10.1371/journal.pone.0286137