kan_voice_pathology_detection

This repository contains the code for the paper "Kolmogorov Arnold Network-Based Voice Pathology Detection" by Jan Vrba, Jakub Steinbach, Tomáš Jirsa, Jakub Seiner, Yuwen Zeng, Kei Ichiji, Noriyasu Homma

https://github.com/aailab-uct/kan_voice_pathology_detection

Science Score: 49.0%

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

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 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.8%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

This repository contains the code for the paper "Kolmogorov Arnold Network-Based Voice Pathology Detection" by Jan Vrba, Jakub Steinbach, Tomáš Jirsa, Jakub Seiner, Yuwen Zeng, Kei Ichiji, Noriyasu Homma

Basic Info
  • Host: GitHub
  • Owner: aailab-uct
  • License: gpl-3.0
  • Language: Python
  • Default Branch: main
  • Size: 159 MB
Statistics
  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 1
Created over 1 year ago · Last pushed over 1 year ago
Metadata Files
Readme License Citation

README.md

Kolmogorov Arnold Network-Based Voice Pathology Detection

DOI

This repository contains the code for the paper "Kolmogorov Arnold Network-Based Voice Pathology Detection" by Jan Vrba, Jakub Steinbach, Tom Jirsa, Jakub Seiner, Yuwen Zeng, Kei Ichiji, Noriyasu Homma

Requirements

For running experiments - prepared dataset (see below)

Used libraries and software - Python 3.12 - see requirements.txt for all dependencies

Dataset preparation

The dataset is not included in this repository due to the license reason, but it can be downloaded from publicly available website. Firstly download the Saarbruecken Voice Database (SVD) available here. You need to download all recordings of /a/ vowel produced at normal pitch that are encoded as wav files. Due to the limitation of SVD interface, download male recordings and female recordings separately. Then create the svd_db folder in the root of this project and put all recordings there.

At this step we assume following folder structure: kan_voice_pathology_detection article_standalone_scripts misc src svd_db 1-a_n.wav 2-a_n.wav ... 2610-a_n.wav

We provide the svd_information.csv file that contains the information about the SVD database (age, sex, pathologies, etc.). The file is stored in the misc folder and contains data scraped from the SVD website.

Running the repository

Run the files in the following order:

1) datapreprocessing.py 2) featureextraction.py 3) datasetsgenerator.py 4) mlpipeline.py (optional) 5) mlppipeline.py (optional) 6) kanparamssearch.py 7) paramssearchresults.py 8) kanadam_training.py

Description of files in this repository:

  • articlestandalonescripts - miscellaneous scripts to create tables with results
  • misc - folder with additional files
    • data_used.sha256 - checksum of the downloaded data
    • listofexcluded_files.csv - list of excluded files from the SVD database with the reason of exclusion
    • svd_information.csv - information about the SVD database
  • results* - reuslts we obtained for all experiments
  • src/custom_smote.py - script with custom SMOTE implementation
  • data_preprocessing.py - script that removes corrupted files and duplicities
  • dataset_generator.py - script that generates datasets from preprocessed data
  • feature_extraction.py - script that extracts features from preprocessed data
  • kanadamtraining.py - train the best classifiers (one for each sex) using the Adam optimizer. You need to change best_archs manually.
  • kanparamssearch.py - do the gridsearch for KAN classifier hyperparameters
  • mlclassifierconfigs.py - store configs for ML gridsearch
  • ml_pipeline.py - do the gridsearch for ML classifier hyperparameters
  • mlp_pipeline.py - do the gridsearch for MLP classifier hyperparameters
  • paramssearchresults.py - analyze results from kanparamssearch.py and report the best architecture. You need to change sex manually.
  • README.md - this file
  • requirements.txt - list of used packages

Owner

  • Name: aailab-uct
  • Login: aailab-uct
  • Kind: organization

GitHub Events

Total
  • Release event: 1
  • Push event: 1
  • Create event: 2
Last Year
  • Release event: 1
  • Push event: 1
  • Create event: 2