Metadata-Version: 2.4
Name: InformativeFeatureSelection
Version: 4.0.0
Summary: Package which provides an feature selection algorithm which considers class separability and an implementation of Informative Normalized Difference Index (INDI)
Home-page: https://gitlab.com/rustam-industries/feature_extractor
Author: Mukhin Artem
Author-email: artemmukhinssau@gmail.com
License: MIT
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numba==0.65.1
Requires-Dist: numpy==2.4.4
Requires-Dist: opencv_python==4.13.0.92
Requires-Dist: opencv_python_headless==4.13.0.92
Requires-Dist: pyod==3.2.1
Requires-Dist: Requests==2.34.0
Requires-Dist: scikit_learn==1.8.0
Requires-Dist: scipy==1.17.1
Requires-Dist: setuptools==82.0.1
Requires-Dist: tqdm==4.67.3
Provides-Extra: smart
Requires-Dist: segment_anything==1.0; extra == "smart"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license
Dynamic: license-file
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: summary

# Install

`pip install InformativeFeatureSelection`

## Features

* Several implementations of feature selection algorithms based on discriminant analysis
* Binary implementation of Informative Normalized Difference Index (INDI)
* Multiclass implementation of INDI 

INDI may be extremely usefully in hyperspectral imaging analysis.

Implemented algorithms were proposed in the following papers:
1. [Paringer RA, Mukhin AV, Kupriyanov AV. Formation of an informative index for recognizing specified 
objects in hyperspectral data. Computer Optics 2021; 45(6): 873-878. DOI: 10.18287/2412-6179-CO-930.](http://www.computeroptics.ru/KO/PDF/KO45-6/450611.pdf)

2. [Mukhin, A., Paringer, R. and Ilyasova, N., 2021, September. Feature selection algorithm with feature space
separability estimation using discriminant analysis. In 2021 International Conference on Information Technology
and Nanotechnology (ITNT) (pp. 1-4). IEEE.](https://ieeexplore.ieee.org/document/9649144)

## Requirements

To simplify usage, two Docker images were created:

1. `banayaki/feature-selection:base`
This image serves as a base image for InformativeFeatureSelection.
It includes the necessary `python` and its packages.

2. `banayaki/feature-selection:notebook`
This image serves as an extension of the base image for InformativeFeatureSelection.
It includes an additional tool: Jupyter Notebook.
The Jupyter server starts automatically when the container begins.

### How to use them?

Just run the following command:

```bash
docker container run --rm -p 8888:8888 -v ./project:/home/workdir banayaki/feature-selection:notebook
```

Then just copy jupyter's token from container's log.


## Usage example

See jupyter notebook file in `examples` folder. 

## License

[MIT License](LICENSE)
