Metadata-Version: 2.4
Name: neuro-fuzzy-toolbox
Version: 0.1.0
Summary: PyTorch-based toolbox for designing, training, and analyzing ANFIS-based neuro-fuzzy models. Includes classical and rule-reduced ANFIS variants, hybrid and optimizer-based training strategies, SONFIS structural adaptation, and rule-inspection utilities.
Project-URL: Homepage, https://github.com/jsuarez2001/neuro-fuzzy-toolbox
Project-URL: Documentation, https://neuro-fuzzy-toolbox.readthedocs.io/en/latest/
Project-URL: Issues, https://github.com/jsuarez2001/neuro-fuzzy-toolbox/issues
Author-email: Juan Suárez <juan.suareza@usm.cl>
License-Expression: MIT
License-File: LICENSE
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: Natural Language :: English
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: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: <3.13,>=3.10
Requires-Dist: matplotlib>=3.10
Requires-Dist: numpy>=2.2
Requires-Dist: pandas>=2.2
Requires-Dist: torch>=2.5
Description-Content-Type: text/markdown

# Neuro-Fuzzy Toolbox

A PyTorch-based library for the design, training, and analysis of ANFIS-based
neuro-fuzzy models. The toolbox provides ready-to-use model variants and training
algorithms, a structural adaptation algorithm, and utilities for rule inspection
and local contribution analysis. Its modular design also makes it a flexible
basis for building custom training procedures and deep neuro-fuzzy architectures.

## Features

- **Three ANFIS model variants**: classical `ANFIS`, homogeneous `h_ANFIS`, and
  `rule_reduced_ANFIS` for high-dimensional settings.
- **Multiple training strategies**: hybrid learning algorithm, single-optimizer
  training, and dual-optimizer training with independent premise and consequent
  optimizers. All strategies integrate with PyTorch loss functions and support
  early stopping.
- **Structural adaptation**: a modified SONFIS algorithm for `rule_reduced_ANFIS`
  models, supporting rule growing, splitting, and pruning during training.
- **Rule inspection and analysis**: tabular export of premises and consequents,
  membership function visualization, intermediate layer access, and local
  rule-contribution analysis via `RulesAnalyzer`.
- **Low-level API**: direct access to premise and consequent parameter subsets
  for custom optimizer instantiation, and programmatic rule addition and removal
  at runtime.

## Requirements
 - torch >= 2.5 (tested in 2.5.1)
 - numpy >= 2.2 (tested in 2.2.1)
 - pandas >= 2.2 (tested in 2.2.3)
 - matplotlib >= 3.10 (tested in 3.10.0)


## Documentation

[![Documentation Status](https://readthedocs.org/projects/neuro-fuzzy-toolbox/badge/?version=latest)](https://neuro-fuzzy-toolbox.readthedocs.io/en/latest/)

Full documentation including a usage guide, API reference, and end-to-end
examples is available at: **https://neuro-fuzzy-toolbox.readthedocs.io/en/latest/**