Skip to main content

highFIS is a comprehensive Python package for training and evaluating high-dimensional TSK fuzzy systems, built on PyTorch and compatible with the scikit-learn API.

Project description

highFIS

CI Documentation DOI PyPI - Python Version PyPI - Version PyPI - License

Python library for high-dimensional Takagi–Sugeno–Kang (TSK) fuzzy inference systems, built on PyTorch with a scikit-learn compatible API.

📦 Installation

Install from PyPI:

pip install highfis

🧠 Quick Start

from highfis import HTSKClassifierEstimator

clf = HTSKClassifierEstimator(
    n_mfs=3,
    rule_base="en",
    epochs=200,
    learning_rate=1e-3,
    ur_weight=0.01,
    random_state=42,
)
clf.fit(X_train, y_train)
print(clf.score(X_test, y_test))

Works with sklearn.pipeline.Pipeline, GridSearchCV, and cross_val_score.

🧩 Key Components

Class Module Description
GaussianMF highfis.memberships Differentiable Gaussian membership function.
MembershipLayer highfis.layers Evaluates all membership functions.
RuleLayer highfis.layers Computes firing strengths with configurable t-norm and rule base.
NormalizationLayer highfis.layers Normalizes firing strengths.
ClassificationConsequentLayer highfis.layers Linear TSK consequent aggregation.
HTSKClassifier highfis.models Full TSK pipeline as nn.Module.
HTSKClassifierEstimator highfis.estimators sklearn-compatible estimator.
InputConfig highfis.estimators Per-feature membership function configuration.

🧪 Testing & Quality

Running tests

Run the full test suite with coverage:

hatch test -c -a

This project is tested on Python 3.11 | 3.12 | 3.13 | 3.14 across Linux, Windows and macOS.

Linting & Formatting

hatch fmt

Typing

hatch run typing

Security

hatch run security

📚 Documentation

Comprehensive guides, API reference, and examples: dcruzf.github.io/highFIS.

🤝 Contributing

Issues and pull requests are welcome! Please open a discussion if you'd like to propose larger changes.

📄 License

Distributed under the GPLv3.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

highfis-0.1.0a3.tar.gz (31.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

highfis-0.1.0a3-py3-none-any.whl (38.8 kB view details)

Uploaded Python 3

File details

Details for the file highfis-0.1.0a3.tar.gz.

File metadata

  • Download URL: highfis-0.1.0a3.tar.gz
  • Upload date:
  • Size: 31.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for highfis-0.1.0a3.tar.gz
Algorithm Hash digest
SHA256 da55b7861dd5d035f6e8bb893dd1463834968bdcf740c55d18f1ae52cddc02f0
MD5 69398c324931d6e54e08ca901a91e2a8
BLAKE2b-256 00fef01e44cf7bd330abd33186cc8a7055171ea3b2c65b3fbbe96e1eda6ddfcc

See more details on using hashes here.

File details

Details for the file highfis-0.1.0a3-py3-none-any.whl.

File metadata

  • Download URL: highfis-0.1.0a3-py3-none-any.whl
  • Upload date:
  • Size: 38.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for highfis-0.1.0a3-py3-none-any.whl
Algorithm Hash digest
SHA256 4f5c50d4a4303e5ff42fb8cc8943bab34fc66539fd4a581f907cada234403869
MD5 2424db95c689ea700d211febd2bf8513
BLAKE2b-256 6c67c94ba0156d2a8368ff75277aff2d593c346ea113913ccdc5bf76a7c5826a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page