# aastha2104/parkinson-disease-prediction architecture

> Architecture diagram of the GitHub repository aastha2104/parkinson-disease-prediction, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-13). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/aastha2104/parkinson-disease-prediction
- Repository: https://github.com/aastha2104/parkinson-disease-prediction

## Overview

This is a research prototype for classifying Parkinson’s disease from speech features, not a deployed diagnostic application. Its main workflow loads a local dataset, optionally rescales features, splits training and validation data, fits classifiers, and reports accuracy and Matthews correlation. Separate scripts compare multiple algorithms, evaluate a Praat-feature variant, and run KNN independently. The README documents broader comparisons across splits and repeated trials; the available excerpts do not show how benchmark.py implements those steps, so its connections are left unverified.

Main entry points: [`data.csv`](https://github.com/aastha2104/parkinson-disease-prediction/blob/main/data.csv) (Speech Features), [`algorithm_comparison.py`](https://github.com/aastha2104/parkinson-disease-prediction/blob/main/algorithm_comparison.py) (Validation Metrics), [`knn.py`](https://github.com/aastha2104/parkinson-disease-prediction/blob/main/knn.py) (KNN Evaluation), [`algorithm_comparison_praat.py`](https://github.com/aastha2104/parkinson-disease-prediction/blob/main/algorithm_comparison_praat.py) (Praat Comparison)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_data["Speech Data"]
  node_speech_data[("Speech Features<br/>[data.csv]")]
  node_parkinsons_data[("Parkinsons Data<br/>[parkinsons.csv]")]
end

subgraph group_experiments["Model Experiments"]
  node_standard_comparison["Algorithm Comparison"]
  node_praat_comparison["Praat Comparison"]
  node_scaled_comparison["Scaled Comparison"]
  node_knn_run["KNN Evaluation<br/>[knn.py]"]
  node_benchmark["Benchmark Runs<br/>[benchmark.py]"]
  node_feature_scaling["Feature Scaling<br/>[knn.py]"]
  node_model_fitting["Classifier Fitting"]
end

subgraph group_evaluation["Evaluation"]
  node_validation_metrics["Validation Metrics"]
  node_results["Scores"]
end

node_researcher(("Researcher"))

node_researcher -.->|"runs experiment"| node_standard_comparison
node_speech_data -->|"loads"| node_standard_comparison
node_speech_data -->|"loads"| node_praat_comparison
node_speech_data -->|"loads"| node_scaled_comparison
node_speech_data -->|"loads"| node_knn_run
node_speech_data -->|"scales"| node_feature_scaling
node_feature_scaling -->|"provides features"| node_knn_run
node_standard_comparison -->|"fits models"| node_model_fitting
node_praat_comparison -->|"evaluates models"| node_validation_metrics
node_scaled_comparison -->|"evaluates models"| node_validation_metrics
node_knn_run -->|"scores predictions"| node_validation_metrics
node_model_fitting -->|"predicts validation"| node_validation_metrics
node_validation_metrics -->|"prints scores"| node_results
node_parkinsons_data -.->|"benchmark input"| node_benchmark
node_benchmark -.->|"produces results"| node_results

click node_speech_data "https://github.com/aastha2104/parkinson-disease-prediction/blob/main/data.csv"
click node_parkinsons_data "https://github.com/aastha2104/parkinson-disease-prediction/blob/main/parkinsons.csv"
click node_standard_comparison "https://github.com/aastha2104/parkinson-disease-prediction/blob/main/algorithm_comparison.py"
click node_praat_comparison "https://github.com/aastha2104/parkinson-disease-prediction/blob/main/algorithm_comparison_praat.py"
click node_scaled_comparison "https://github.com/aastha2104/parkinson-disease-prediction/blob/main/rescaled_data_algorithm_comparison.py"
click node_knn_run "https://github.com/aastha2104/parkinson-disease-prediction/blob/main/knn.py"
click node_benchmark "https://github.com/aastha2104/parkinson-disease-prediction/blob/main/benchmark.py"
click node_feature_scaling "https://github.com/aastha2104/parkinson-disease-prediction/blob/main/knn.py"
click node_model_fitting "https://github.com/aastha2104/parkinson-disease-prediction/blob/main/algorithm_comparison.py"
click node_validation_metrics "https://github.com/aastha2104/parkinson-disease-prediction/blob/main/algorithm_comparison.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_speech_data,node_parkinsons_data toneBlue
class node_standard_comparison,node_praat_comparison,node_scaled_comparison,node_knn_run,node_benchmark,node_feature_scaling,node_model_fitting toneAmber
class node_validation_metrics,node_results toneMint
class node_researcher toneIndigo
```

## Components

### Speech Data

- [Speech Features](https://github.com/aastha2104/parkinson-disease-prediction/blob/main/data.csv): `data.csv`
- [Parkinsons Data](https://github.com/aastha2104/parkinson-disease-prediction/blob/main/parkinsons.csv): `parkinsons.csv`

### Model Experiments

- [Algorithm Comparison](https://github.com/aastha2104/parkinson-disease-prediction/blob/main/algorithm_comparison.py): `algorithm_comparison.py`
- [Praat Comparison](https://github.com/aastha2104/parkinson-disease-prediction/blob/main/algorithm_comparison_praat.py): `algorithm_comparison_praat.py`
- [Scaled Comparison](https://github.com/aastha2104/parkinson-disease-prediction/blob/main/rescaled_data_algorithm_comparison.py): `rescaled_data_algorithm_comparison.py`
- [KNN Evaluation](https://github.com/aastha2104/parkinson-disease-prediction/blob/main/knn.py): `knn.py`
- [Benchmark Runs](https://github.com/aastha2104/parkinson-disease-prediction/blob/main/benchmark.py): `benchmark.py`
- [Feature Scaling](https://github.com/aastha2104/parkinson-disease-prediction/blob/main/knn.py): `knn.py`
- [Classifier Fitting](https://github.com/aastha2104/parkinson-disease-prediction/blob/main/algorithm_comparison.py): `algorithm_comparison.py`

### Evaluation

- [Validation Metrics](https://github.com/aastha2104/parkinson-disease-prediction/blob/main/algorithm_comparison.py): `algorithm_comparison.py`
- **Scores**

### Other components

- **Researcher**

## Connections

- Researcher → Algorithm Comparison: runs experiment
- Speech Features → Algorithm Comparison: loads (evidence: `algorithm_comparison.py`)
- Speech Features → Praat Comparison: loads (evidence: `algorithm_comparison_praat.py`)
- Speech Features → Scaled Comparison: loads (evidence: `rescaled_data_algorithm_comparison.py`)
- Speech Features → KNN Evaluation: loads (evidence: `knn.py`)
- Speech Features → Feature Scaling: scales (evidence: `knn.py`)
- Feature Scaling → KNN Evaluation: provides features (evidence: `knn.py`)
- Algorithm Comparison → Classifier Fitting: fits models (evidence: `algorithm_comparison.py`)
- Praat Comparison → Validation Metrics: evaluates models (evidence: `algorithm_comparison_praat.py`)
- Scaled Comparison → Validation Metrics: evaluates models (evidence: `rescaled_data_algorithm_comparison.py`)
- KNN Evaluation → Validation Metrics: scores predictions (evidence: `knn.py`)
- Classifier Fitting → Validation Metrics: predicts validation (evidence: `algorithm_comparison.py`)
- Validation Metrics → Scores: prints scores (evidence: `algorithm_comparison.py`)
- Parkinsons Data → Benchmark Runs: benchmark input
- Benchmark Runs → Scores: produces results
