bayesian-optimization-1d-csnn

Source code of the paper entitled "Improving Fraud Detection with 1D-Convolutional Spiking Neural Networks through Bayesian Optimization", and presented at EPIA 2024, the 23rd International Conference on Artificial Intelligence.

https://github.com/dylanperdigao/bayesian-optimization-1d-csnn

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.1%) to scientific vocabulary

Keywords

1d-convolution bayesian-optimization epia2024 fairness fraud-detection neuromorphic-computing snntorch spiking-neural-networks
Last synced: 4 months ago · JSON representation ·

Repository

Source code of the paper entitled "Improving Fraud Detection with 1D-Convolutional Spiking Neural Networks through Bayesian Optimization", and presented at EPIA 2024, the 23rd International Conference on Artificial Intelligence.

Basic Info
  • Host: GitHub
  • Owner: dylanperdigao
  • License: mit
  • Language: Jupyter Notebook
  • Default Branch: main
  • Homepage:
  • Size: 22.3 MB
Statistics
  • Stars: 2
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 1
Topics
1d-convolution bayesian-optimization epia2024 fairness fraud-detection neuromorphic-computing snntorch spiking-neural-networks
Created over 1 year ago · Last pushed 9 months ago
Metadata Files
Readme License Citation

README.md

Improving Fraud Detection with 1D-Convolutional Spiking Neural Networks through Bayesian Optimization

DOI

PWC PWC

Source code of the paper entitled "Improving Fraud Detection with 1D-Convolutional Spiking Neural Networks Through Bayesian Optimization" and presented at EPIA 2024, the 23rd International Conference on Artificial Intelligence.

Paper Abstract

The digitalization of the banking sector has enabled an increasing number of fraudulent activities in the past years. The development of new practical solutions for fraud detection is particularly challenging since the industry needs to respect a 5\% threshold of false detection of fraud, avoiding monetary losses. The usage of traditional machine learning algorithms faces other challenges, such as classification discrimination and high energy consumption. Spiking Neural Networks, designed to mimic the brain's natural processes, present a compelling alternative. Particularly on neuromorphic hardware, they exhibit remarkable energy efficiency, paving the way for the advancement of sustainable Artificial Intelligence. Our approach consists of applying 1D-Convolutional Spiking Neural Networks to improve fraud detection on the Bank Account Fraud dataset with the Bayesian optimization of hyperparameters. As a result, we show that these architectures can solve the problem of biased data while maintaining algorithm performance when compared against more traditional approaches such as Gradient Boosting models. Moreover, we lay out the Bayesian optimization process for the hyperparameters, thereby enhancing the performance of these algorithms.

Keywords: Spiking Neural Networks $\cdot$ 1D-Convolution $\cdot$ Bayesian Optimization $\cdot$ Fraud Detection $\cdot$ Neuromorphic Computing $\cdot$ Fairness

Installation

To install the required packages, run the following command: bash pip install -r requirements.txt

Download Base Variant of the Bank Account Fraud (BAF) Dataset and extract the parquet files to the data folder.

Dataset

The Bank Account Fraud (BAF) dataset is a synthetic dataset based on real-world data that simulates the applications for bank account opening. The dataset contains 6 parquet files, each representing a different variant of the dataset (only Base variant is used in this work). The dataset contains 30 features and a binary target variable indicating whether the application is fraudulent or not.

Density distribution of instances per feature

Repository Structure

The repository is structured as follows:

  • data: Contains the Bank Account Fraud dataset.
  • images: Contains the images used in this README file.
  • src: Contains the source code of the project.
    • modules: Contains the utilitary files used in the project.
    • get_best_config.ipynb: Jupyter notebook to find the best configurations for each 1D-Convolutional Spiking Neural Network architectures.
    • get_best_hyperparams.ipynb: Jupyter notebook to find the best combinations of hyperparameters/configuration for each 1D-Convolutional Spiking Neural Network architectures.
    • main.py: Main script to run the Bayesian Optimization of the 1D-Convolutional Spiking Neural Network architectures and configurations.
    • plot_pareto_front.ipynb: Jupyter notebook to plot the Pareto front of the optimized configurations.
    • plot_syringeplot.ipynb: Jupyter notebook to plot the syringeplot of the optimized configurations.

Bibtex

To cite this work, use the following bibtex entry:

bibtex @inproceedings{perdigao_improving_2025, author="Perdigão, Dylan and Antunes, Francisco and Silva, Catarina and Ribeiro, Bernardete", editor="Santos, Manuel Filipe and Machado, José and Novais, Paulo and Cortez, Paulo and Moreira, Pedro Miguel", title="Improving Fraud Detection with 1D-Convolutional Spiking Neural Networks Through Bayesian Optimization", booktitle="Progress in Artificial Intelligence", year="2025", publisher="Springer Nature Switzerland", address="Cham", pages="127--138", isbn="978-3-031-73503-5", doi="10.1007/978-3-031-73503-5_11" }

Issues

This code is imported and adapted from the original research repository. Consequently, the code may contain bugs or issues. If you encounter any issues while running the code, please open an issue in the repository.

Owner

  • Name: Dylan Perdigão
  • Login: dylanperdigao
  • Kind: user
  • Location: Vendas Novas
  • Company: University of Coimbra

PhD Candidate @ University of Coimbra

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this code, please cite its respective paper: https://doi.org/10.1007/978-3-031-73503-5_11."
authors:
- family-names: "Perdigão"
  given-names: "Dylan"
  orcid: "https://orcid.org/0000-0001-6923-900X"
title: "Bayesian Optimization with 1D-CSNN"
version: 1.0.2
doi: 10.5281/zenodo.12628435
date-released: 2025-04-13
url: "https://github.com/DylanPerdigao/Bayesian-Optimization-1D-CSNN"

GitHub Events

Total
  • Release event: 2
  • Watch event: 1
  • Delete event: 1
  • Push event: 7
  • Create event: 3
Last Year
  • Release event: 2
  • Watch event: 1
  • Delete event: 1
  • Push event: 7
  • Create event: 3

Dependencies

requirements.txt pypi
  • PyYAML *
  • aequitas >=1.0.0
  • ctgan *
  • dill *
  • imblearn *
  • lightgbm *
  • matplotlib *
  • numpy *
  • optuna *
  • optuna-dashboard *
  • paho-mqtt *
  • pandas *
  • pyarrow *
  • scikit-learn *
  • scipy *
  • seaborn *
  • snntorch >=0.9.1