Skip to content

gabrielcmerlin/FCKAN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FCKAN: Evaluating KAN for Time Series Classification and Extrinsic Regression

Description

Time Series Classification (TSC) and Time Series Extrinsic Regression (TSER) are critical tasks across diverse fields. While Fully Convolutional Networks (FCNs) effectively capture temporal dependencies, Kolmogorov–Arnold Networks (KANs) offer greater flexibility and interpretability. However, the integration of KANs with temporal encoders and their application to regression tasks remain largely unexplored. In this paper, we introduce FCKAN and Hybrid FCN-KAN, two novel architectures that combine FCNs and KANs for TSC and TSER. The first is an end-to-end model, while the second is a hybrid approach that leverages a pre-trained FCN as a feature extractor followed by a KAN. We conduct experiments on 147 benchmark datasets. For TSC, both architectures outperform non-temporal baselines and achieve performance competitive with FCNs. In TSER, although all models are statistically equivalent, temporal models consistently outperform non-temporal baselines.

Structure

FCKAN/
├── experiments/                  # Scripts for running the experiments
│   ├── classification/           # Logic for classification experiments
│   └── regression/               # Logic for regression experiments
├── outputs/                      # Outputs generated by the experiments
│   ├── conf_matrix/              # Confusion matrices generated by the classifications
│   └── losses/                   # Loss curves of the trained models
│   └── results/                  # Other tabulated/summarized results
│   └── scatter/                  # Scatter plots
│   └── weights/                  # Weights of the trained models
├── src/                          # Modular project source code
│   ├── models/                   # Model architecture definitions
│   └── utils/                    # Utility functions (e.g., data loading)
├── README.md                     # This file
└── environment.yaml              # Conda environment definition for reproducibility

How to start

Downloading code:

git clone https://github.com/gabrielcmerlin/FCKAN.git
cd FCKAN

Installing requisites:

conda env create -f environment.yaml
conda activate eniac

Run

Experiments

export PYTHONPATH=$(pwd)
python3 experiments/regression/exp_MLP.py # change 'regression' and 'MLP' for the exp you want to run

Result Analysis

Run the Python Notebook named 'analysis.ipynb' located in 'outputs/results/'

Releases

No releases published

Packages

 
 
 

Contributors