OIKAN: Optimized Interpretable Kolmogorov-Arnold Networks
Project description
OIKAN
Optimized Interpretable Kolmogorov-Arnold Networks (OIKAN)
A deep learning framework for interpretable neural networks using advanced basis functions.
Key Features
- 🚀 Efficient Implementation ~ Optimized KAN architecture with SVD projection
- 📊 Advanced Basis Functions ~ B-spline and Fourier basis transformations
- 🎯 Multi-Task Support ~ Both regression and classification capabilities
- 🔍 Interpretability Tools ~ Extract and visualize symbolic formulas
- 📈 Interactive Visualizations ~ Built-in plotting and analysis tools
- 🧮 Symbolic Mathematics ~ LaTeX formula extraction and symbolic approximations
Installation
Method 1: Via PyPI (Recommended)
pip install oikan
Method 2: Local Development
git clone https://github.com/silvermete0r/OIKAN.git
cd OIKAN
pip install -e . # Install in development mode
Quick Start
Regression Example
from oikan.model import OIKAN
from oikan.trainer import train
from oikan.visualize import visualize_regression
from oikan.symbolic import extract_symbolic_formula, plot_symbolic_formula, extract_latex_formula
model = OIKAN(input_dim=2, output_dim=1)
train(model, (X_train, y_train))
visualize_regression(model, X, y)
formula = extract_symbolic_formula(model, X_test, mode='regression')
print("Extracted formula:", formula)
plot_symbolic_formula(model, X_test, mode='regression')
latex_formula = extract_latex_formula(model, X_test, mode='regression')
print("LaTeX:", latex_formula)
Classification Example
from oikan.model import OIKAN
from oikan.trainer import train_classification
from oikan.visualize import visualize_classification
from oikan.symbolic import extract_symbolic_formula, plot_symbolic_formula, extract_latex_formula
model = OIKAN(input_dim=2, output_dim=2)
train_classification(model, (X_train, y_train))
visualize_classification(model, X_test, y_test)
formula = extract_symbolic_formula(model, X_test, mode='classification')
print("Extracted formula:", formula)
plot_symbolic_formula(model, X_test, mode='classification')
latex_formula = extract_latex_formula(model, X_test, mode='classification')
print("LaTeX:", latex_formula)
Usage
- Explore the
oikan/folder for model architectures, training routines, and symbolic extraction. - Check the
examples/directory for complete usage examples for both regression and classification.
Contributing
Contributions are welcome! Submit a Pull Request with your improvements.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file oikan-0.0.1.8.tar.gz.
File metadata
- Download URL: oikan-0.0.1.8.tar.gz
- Upload date:
- Size: 9.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c80efcb0c95b5a2a1fd4f46e144c35817c7eb289348526b6af90b4368347af1a
|
|
| MD5 |
98013a3c8be21324e77bcfaec7c9c70d
|
|
| BLAKE2b-256 |
b88a0d433ca67f07159fa942786b2706cb33eda3a8865f34f20fc1958fbd1afc
|
File details
Details for the file oikan-0.0.1.8-py3-none-any.whl.
File metadata
- Download URL: oikan-0.0.1.8-py3-none-any.whl
- Upload date:
- Size: 10.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5cb75b1590cbe4208be940f588090eec9acc1c77f4d274e0ab29601eb8885ae2
|
|
| MD5 |
16db6c6d544ae25aa14a9d4ab83ff5a2
|
|
| BLAKE2b-256 |
55b48f9fa8aed571c5f55432a806796572f35162fba15d089c7b9d31dec5a5c6
|