# aaryan-sharmaa/100daysofml architecture

> Architecture diagram of the GitHub repository aaryan-sharmaa/100daysofml, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/aaryan-sharmaa/100daysofml
- Repository: https://github.com/aaryan-sharmaa/100daysofml

## Overview

This repository is a hands-on machine-learning curriculum, not a single deployable application. Its principal user journey follows the README roadmap from data handling through model training and evaluation to advanced methods. The tree supports the named lecture directories; most notebook contents were not sampled, so the graph represents documented learning stages rather than inferred calls between notebooks.

Main entry points: [`lecture15_csv_practice`](https://github.com/aaryan-sharmaa/100daysofml/tree/main/lecture15_csv_practice) (Data handling), [`lecture19_data_understanding_practice`](https://github.com/aaryan-sharmaa/100daysofml/tree/main/lecture19_data_understanding_practice) (Data understanding), [`lecture24_feature_scaling_standardization`](https://github.com/aaryan-sharmaa/100daysofml/tree/main/lecture24_feature_scaling_standardization) (Feature preparation), [`lecture50_51_simple_linear_regression`](https://github.com/aaryan-sharmaa/100daysofml/tree/main/lecture50_51_simple_linear_regression) (Regression)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_data["Data preparation"]
  node_data_handling["Data handling"]
  node_eda["Data understanding"]
  node_feature_prep["Feature preparation"]
end

subgraph group_supervised["Supervised learning"]
  node_regression["Regression"]
  node_classification["Classification"]
  node_evaluation["Model evaluation"]
end

subgraph group_methods["Model methods"]
  node_dim_reduction["Dimensionality reduction"]
  node_knn["KNN"]
  node_svm["SVM"]
  node_trees["Decision trees"]
  node_ensembles["Ensemble learning"]
end

subgraph group_advanced["Advanced topics"]
  node_clustering["Clustering"]
  node_imbalanced["Imbalanced data"]
  node_optimization["Hyperparameter optimization"]
end

node_learner(("Learner"))

node_learner -->|"studies"| node_data_handling
node_data_handling -->|"progresses to"| node_eda
node_eda -->|"progresses to"| node_feature_prep
node_feature_prep -->|"progresses to"| node_regression
node_regression -->|"progresses to"| node_classification
node_classification -->|"progresses to"| node_evaluation
node_evaluation -->|"progresses to"| node_dim_reduction
node_dim_reduction -->|"progresses to"| node_knn
node_knn -->|"progresses to"| node_svm
node_svm -->|"progresses to"| node_trees
node_trees -->|"progresses to"| node_ensembles
node_ensembles -->|"progresses to"| node_clustering
node_clustering -->|"progresses to"| node_imbalanced
node_imbalanced -->|"progresses to"| node_optimization

click node_data_handling "https://github.com/aaryan-sharmaa/100daysofml/tree/main/lecture15_csv_practice"
click node_eda "https://github.com/aaryan-sharmaa/100daysofml/tree/main/lecture19_data_understanding_practice"
click node_feature_prep "https://github.com/aaryan-sharmaa/100daysofml/tree/main/lecture24_feature_scaling_standardization"
click node_regression "https://github.com/aaryan-sharmaa/100daysofml/tree/main/lecture50_51_simple_linear_regression"
click node_classification "https://github.com/aaryan-sharmaa/100daysofml/tree/main/lecture70_75_logistic_regression"
click node_evaluation "https://github.com/aaryan-sharmaa/100daysofml/tree/main/lecture76_79_classification_metrics"
click node_dim_reduction "https://github.com/aaryan-sharmaa/100daysofml/tree/main/lecture47_49_principal_component_analysis"
click node_knn "https://github.com/aaryan-sharmaa/100daysofml/tree/main/lecture91_KNN"
click node_svm "https://github.com/aaryan-sharmaa/100daysofml/tree/main/lecture92_96_SVM"
click node_trees "https://github.com/aaryan-sharmaa/100daysofml/tree/main/lecture97_100_decision_trees"
click node_ensembles "https://github.com/aaryan-sharmaa/100daysofml/tree/main/lecture102_104_voting_ensemble"
click node_clustering "https://github.com/aaryan-sharmaa/100daysofml/tree/main/lecture128_130_kmeans"
click node_imbalanced "https://github.com/aaryan-sharmaa/100daysofml/tree/main/lecture133_imbalanced_data_smote"
click node_optimization "https://github.com/aaryan-sharmaa/100daysofml/tree/main/lecture134_optuna"

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_data_handling,node_eda,node_feature_prep toneBlue
class node_regression,node_classification,node_evaluation toneAmber
class node_dim_reduction,node_knn,node_svm,node_trees,node_ensembles toneMint
class node_clustering,node_imbalanced,node_optimization toneRose
class node_learner toneIndigo
```

## Components

### Data preparation

- [Data handling](https://github.com/aaryan-sharmaa/100daysofml/tree/main/lecture15_csv_practice): `lecture15_csv_practice`
- [Data understanding](https://github.com/aaryan-sharmaa/100daysofml/tree/main/lecture19_data_understanding_practice): `lecture19_data_understanding_practice`
- [Feature preparation](https://github.com/aaryan-sharmaa/100daysofml/tree/main/lecture24_feature_scaling_standardization): `lecture24_feature_scaling_standardization`

### Supervised learning

- [Regression](https://github.com/aaryan-sharmaa/100daysofml/tree/main/lecture50_51_simple_linear_regression): `lecture50_51_simple_linear_regression`
- [Classification](https://github.com/aaryan-sharmaa/100daysofml/tree/main/lecture70_75_logistic_regression): `lecture70_75_logistic_regression`
- [Model evaluation](https://github.com/aaryan-sharmaa/100daysofml/tree/main/lecture76_79_classification_metrics): `lecture76_79_classification_metrics`

### Model methods

- [Dimensionality reduction](https://github.com/aaryan-sharmaa/100daysofml/tree/main/lecture47_49_principal_component_analysis): `lecture47_49_principal_component_analysis`
- [KNN](https://github.com/aaryan-sharmaa/100daysofml/tree/main/lecture91_KNN): `lecture91_KNN`
- [SVM](https://github.com/aaryan-sharmaa/100daysofml/tree/main/lecture92_96_SVM): `lecture92_96_SVM`
- [Decision trees](https://github.com/aaryan-sharmaa/100daysofml/tree/main/lecture97_100_decision_trees): `lecture97_100_decision_trees`
- [Ensemble learning](https://github.com/aaryan-sharmaa/100daysofml/tree/main/lecture102_104_voting_ensemble): `lecture102_104_voting_ensemble`

### Advanced topics

- [Clustering](https://github.com/aaryan-sharmaa/100daysofml/tree/main/lecture128_130_kmeans): `lecture128_130_kmeans`
- [Imbalanced data](https://github.com/aaryan-sharmaa/100daysofml/tree/main/lecture133_imbalanced_data_smote): `lecture133_imbalanced_data_smote`
- [Hyperparameter optimization](https://github.com/aaryan-sharmaa/100daysofml/tree/main/lecture134_optuna): `lecture134_optuna`

### Other components

- **Learner**

## Connections

- Learner → Data handling: studies
- Data handling → Data understanding: progresses to
- Data understanding → Feature preparation: progresses to
- Feature preparation → Regression: progresses to
- Regression → Classification: progresses to
- Classification → Model evaluation: progresses to
- Model evaluation → Dimensionality reduction: progresses to
- Dimensionality reduction → KNN: progresses to
- KNN → SVM: progresses to
- SVM → Decision trees: progresses to
- Decision trees → Ensemble learning: progresses to
- Ensemble learning → Clustering: progresses to
- Clustering → Imbalanced data: progresses to
- Imbalanced data → Hyperparameter optimization: progresses to
