Metadata-Version: 2.4
Name: mistic-svm
Version: 0.1.1
Summary: Model-informed feature selection through importance and contribution for SVMs
Author-email: BioModSquad <group@biomodsquad.org>
License-Expression: MIT
Project-URL: Homepage, https://github.com/biomodsquad/interpretable-explainable-svms
Project-URL: Repository, https://github.com/biomodsquad/interpretable-explainable-svms
Project-URL: Issues, https://github.com/biomodsquad/interpretable-explainable-svms/issues
Keywords: machine learning,support vector machine,feature selection,explainability,interpretability
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: matplotlib>=3.7
Requires-Dist: numpy>=1.24
Requires-Dist: pandas>=2.0
Requires-Dist: scikit-learn>=1.4
Requires-Dist: scipy>=1.10
Provides-Extra: dev
Requires-Dist: bandit>=1.8; extra == "dev"
Requires-Dist: build>=1.2; extra == "dev"
Requires-Dist: pip-audit>=2.7; extra == "dev"
Requires-Dist: pytest>=8; extra == "dev"
Requires-Dist: ruff>=0.6; extra == "dev"
Requires-Dist: sphinx>=7; extra == "dev"
Requires-Dist: furo>=2024.8; extra == "dev"
Requires-Dist: tomli>=2; python_version < "3.11" and extra == "dev"
Requires-Dist: twine>=5; extra == "dev"
Dynamic: license-file

<p align="center">
  <img
    src="docs/_static/mistic-logo.jpg"
    alt="MISTIC logo: hands interpreting a selected feature"
    width="220"
  >
</p>

# MISTIC

**Model Informed Feature Selection Through Importance and Contribution**

MISTIC provides feature selection, boundary counterfactuals, and attribution
for interpretable and explainable support vector machines.

## Installation

Install the release from PyPI:

```bash
python -m pip install mistic-svm
```

The PyPI distribution is named `mistic-svm` because `mistic` is already used
by an unrelated project. The Python import remains concise:

```python
from mistic import cvSet, kernelWrapper, paramSet, score_svc, svmSet
```

For development, install the repository and its development tools in editable
mode:

```bash
python -m pip install -e ".[dev]"
```

The package requires Python 3.10 or newer. Example classification and
regression workflows are available in `mistic/examples`.

Synthetic-data validation studies and their generated results are kept in
`validation` so they remain separate from the user-facing examples.

## Documentation and tests

Read the complete installation guide, framework overview, tutorials, examples,
and API reference at
[biomodsquad.org/interpretable-explainable-svms](https://biomodsquad.org/interpretable-explainable-svms/).

Build the documentation locally with
`sphinx-build -W docs docs/_build/html` and run the test suite with `pytest`.

## Repository

The canonical source repository is
[biomodsquad/interpretable-explainable-svms](https://github.com/biomodsquad/interpretable-explainable-svms).
