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
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
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
Metadata Files
README.md
Kolmogorov Arnold Network-Based 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
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
- Repositories: 1
- Profile: https://github.com/aailab-uct
GitHub Events
Total
- Release event: 1
- Push event: 1
- Create event: 2
Last Year
- Release event: 1
- Push event: 1
- Create event: 2