Metadata-Version: 2.1
Name: lazuardy_anfis
Version: 0.0.6
Summary: Adaptive Neuro Fuzzy Inference System Implementation in Python.
Home-page: https://github.com/lazuardy-tech/anfis
Download-URL: https://github.com/lazuardy-tech/anfis/releases
Author: Lazuardy
Author-email: contact@lazuardy.tech
License: MIT
Keywords: anfis,fuzzy logic,neural networks,fnn,lazuardy,lazuardy anfis
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: certifi==2024.8.30
Requires-Dist: charset-normalizer==3.4.0
Requires-Dist: contourpy==1.3.1
Requires-Dist: cycler==0.12.1
Requires-Dist: docutils==0.21.2
Requires-Dist: fonttools==4.55.0
Requires-Dist: idna==3.10
Requires-Dist: importlib_metadata==8.5.0
Requires-Dist: jaraco.classes==3.4.0
Requires-Dist: jaraco.context==6.0.1
Requires-Dist: jaraco.functools==4.1.0
Requires-Dist: keyring==25.5.0
Requires-Dist: kiwisolver==1.4.7
Requires-Dist: markdown-it-py==3.0.0
Requires-Dist: matplotlib==3.9.2
Requires-Dist: mdurl==0.1.2
Requires-Dist: more-itertools==10.5.0
Requires-Dist: nh3==0.2.18
Requires-Dist: numpy==1.26.4
Requires-Dist: packaging==24.2
Requires-Dist: pillow==11.0.0
Requires-Dist: pkginfo==1.10.0
Requires-Dist: Pygments==2.18.0
Requires-Dist: pyparsing==3.2.0
Requires-Dist: python-dateutil==2.9.0.post0
Requires-Dist: readme_renderer==44.0
Requires-Dist: requests==2.32.3
Requires-Dist: requests-toolbelt==1.0.0
Requires-Dist: rfc3986==2.0.0
Requires-Dist: rich==13.9.4
Requires-Dist: scikit-fuzzy==0.5.0
Requires-Dist: scipy==1.14.1
Requires-Dist: setuptools==75.5.0
Requires-Dist: six==1.16.0
Requires-Dist: twine==5.1.1
Requires-Dist: urllib3==2.2.3
Requires-Dist: wheel==0.45.0
Requires-Dist: zipp==3.21.0

<div>
  <img alt="CodeQL Analysis" src="https://github.com/lazuardy-tech/anfis/actions/workflows/github-code-scanning/codeql/badge.svg" />
  <img alt="Build" src="https://github.com/lazuardy-tech/anfis/actions/workflows/build.yml/badge.svg" />
  <img alt="PyPI License" src="https://img.shields.io/pypi/l/lazuardy-anfis" />
  <img alt="PyPI Version" src="https://img.shields.io/pypi/v/lazuardy-anfis" />
  <img alt="PyPI Python Version" src="https://img.shields.io/pypi/pyversions/lazuardy-anfis" />
  <img alt="PyPI Implementation" src="https://img.shields.io/pypi/implementation/lazuardy-anfis" />
</div>

## ∑ anfis

Adaptive Neuro Fuzzy Inference System Implementation in Python.

This project is a fork of [twmeggs/anfis](https://github.com/twmeggs/anfis), with bug fixes, optimizations, and improvements so that the package can be used in further projects. All credits goes to [twmeggs](https://github.com/twmeggs) for the original implementation.

<br/>

### ℹ️ About

This ANFIS package is essentially a Python refactoring of the R code created by the team a the BioScience Data Mining Group.

As an example of an ANFIS system, this Python code works (install and run the tests.py script to see it fit the some test data) but there is much left to do in order to improve the project. Documentation and doc strings still need a large amounts of work.

All useful contributions to make this a better project will be happily received.

<br/>

### 🚀 Getting Started

This package may then be installed by running:

```bash
pip install lazuardy_anfis
```

<br/>

### 🧪 Testing

Install anfis and navigate to the location of `lazuardy_anfis/tests.py`.

From the command line run:

```bash
python -m lazuardy_anfis.tests
```

This will set up and fit an ANFIS model based on the data contained in `training_set.txt`, using 10 epochs. Plots of the fitting errors and the model predicted output are graphed.

<br/>

### ⭐ Features

Currently the implementation will support the use of three types of membership function:

- `gaussmf` : Gaussian
- `gbellmf` : Generalized bell
- `sigmf` : Sigmoid

This naming is taken from [scikit-fuzzy](https://github.com/scikit-fuzzy/scikit-fuzzy), a fuzzy logic toolkit for SciPy.

Each input variable can have an arbitrary number and mix of these membership functions.

A user can define the number of epochs that will be run. The returned ANFIS object can plot training errors, fitted results and the current shape of its membership functions (pre or post training).

<br/>

> This project is licensed under [MIT License](https://github.com/lazuardy-tech/anfis/blob/main/LICENSE).

> © [Lazuardy](https://lazuardy.tech) 2024. All rights reserved. <br/>
> PT Inovasi Kolektif Digital. <br/> [Terms of Service](https://lazuardy.tech/terms) | [Privacy Policy](https://lazuardy.tech/privacy)
