Classification of Alzheimer's disease and Amyloid Status from Transcribed Connected Speech.
To install the code, do the following:
pip install git+https://github.com/lcn-kul/connected-speech-classification.git
Requirements can be installed from the requirements.txt
file doing something like this:
conda create --name connected-speech-classification python=3.11
pip install -r requirements.txt
The analysis roughly consists of three steps: Data preparation, classification, formatting of the results.
python ./connected_speech_classification/data/prepare_disease_status_datasets.py prepare-ad-hc-amyloid-pos-neg-datasets
- Independent classification
1.1 Classification on AD vs half of amyloid negative HC
python ./connected_speech_classification/models/disease_status_classifier classify-disease-label
1.2 Classification of amyloid positive vs other half of amyloid negative HC
python ./connected_speech_classification/models/disease_status_classifier classify-disease-label --classify_amyloid
1.3 Classification of amyloid negative group 1 versus amyloid negative group 2
python ./connected_speech_classification/models/disease_status_classifier classify-disease-label --classify_baseline
- Sequential classification
Make sure to get the saved model
"your-saved-model"
.
python ./connected_speech_classification/models/disease_status_classifier.py classify-disease-label \
--classification_model_base "your-saved-model" \
--classify_amyloid
- Joint multi-task classification
In this case, you need to provide two dataset directories.
python ./connected_speech_classification/models/disease_status_classifier.py classify-disease-label \
--classify_jointly \
--dataset_dir "your-ad-dataset" \
--dataset_dir "your-amyloid-dataset"
This assumes that the mlflow database has been exported to a .csv
file.
python ./connected_speech_classification/evaluation/format_mlflow_results.py convert-mlflow-tables
For convenience, there are scripts in scripts/combined
, but they might need some additional changes.