# muhammadjunaid-ds/ai-using-python architecture

> Architecture diagram of the GitHub repository muhammadjunaid-ds/ai-using-python, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/muhammadjunaid-ds/ai-using-python
- Repository: https://github.com/muhammadjunaid-ds/ai-using-python

## Overview

This repository is a collection of machine-learning algorithm practice notebooks, not an application runtime. The apparent user workflow is to choose an algorithm topic, study its concepts and variants, then work through implementation notebooks where provided. The graph reflects notebook titles and directory organization only; README and source excerpts do not document notebook contents or runtime relationships.

Main entry points: [`Dicesion Tree - Algorithm Practice/Decision Tree 01.ipynb`](https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/Dicesion%20Tree%20-%20Algorithm%20Practice/Decision%20Tree%2001.ipynb) (Tree Concepts), [`Dicesion Tree - Algorithm Practice/Decision Tree 03 (Pre-Pruning vs Post-Pruning).ipynb`](https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/Dicesion%20Tree%20-%20Algorithm%20Practice/Decision%20Tree%2003%20(Pre-Pruning%20vs%20Post-Pruning).ipynb) (Tree Pruning), [`Naive Bayes' - Algorithm Practice/Naive Bayes 01.ipynb`](https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/Naive%20Bayes'%20-%20Algorithm%20Practice/Naive%20Bayes%2001.ipynb) (Bayes Concepts), [`Random Forest - Algorithm Practice/Random Forest 01.ipynb`](https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/Random%20Forest%20-%20Algorithm%20Practice/Random%20Forest%2001.ipynb) (Forest Concepts)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_supervised["Supervised Learning"]
  node_dt_concepts["Tree Concepts"]
  node_dt_pruning["Tree Pruning"]
  node_dt_impl["Tree Implementation"]
  node_linear["Linear Regression<br/>[Untitled.ipynb]"]
  node_nb_concepts["Bayes Concepts"]
  node_nb_impl["Bayes Implementation"]
  node_rf_concepts["Forest Concepts"]
  node_rf_features["Feature Importance"]
  node_rf_tuning["Forest Tuning"]
  node_rf_impl["Forest Implementation"]
  node_svm_concepts["SVM Concepts<br/>[SVM 01.ipynb]"]
  node_svm_kernels["SVM Kernels"]
  node_svm_features["SVM Features"]
  node_svm_impl["SVM Implementation"]
  node_knn_concepts["k-NN Concepts<br/>[k-NN 01.ipynb]"]
  node_knn_opt["k-NN Optimization"]
  node_knn_impl["k-NN Implementation"]
end

subgraph group_unsupervised["Unsupervised Learning"]
  node_kmeans_concepts["K-means Concepts"]
  node_kmeans_impl["K-means Implementation"]
  node_hier_concepts["Hierarchy Concepts"]
  node_dendrograms["Dendrograms"]
  node_hier_impl["Hierarchy Implementation"]
  node_pca_math["PCA Mathematics"]
  node_pca_reduction["Dimensionality Reduction"]
  node_pca_impl["PCA Implementation"]
end

subgraph group_workflow["Learning Workflow"]
end

node_learner(("Learner"))

node_learner -->|"studies"| node_dt_concepts
node_dt_concepts -->|"continues with"| node_dt_pruning
node_dt_pruning -->|"continues with"| node_dt_impl
node_learner -->|"studies"| node_linear
node_learner -->|"studies"| node_nb_concepts
node_nb_concepts -->|"continues with"| node_nb_impl
node_learner -->|"studies"| node_rf_concepts
node_rf_concepts -->|"continues with"| node_rf_features
node_rf_features -->|"continues with"| node_rf_tuning
node_rf_tuning -->|"continues with"| node_rf_impl
node_learner -->|"studies"| node_svm_concepts
node_svm_concepts -->|"continues with"| node_svm_kernels
node_svm_kernels -->|"continues with"| node_svm_features
node_svm_features -->|"continues with"| node_svm_impl
node_learner -->|"studies"| node_knn_concepts
node_knn_concepts -->|"continues with"| node_knn_opt
node_knn_opt -->|"continues with"| node_knn_impl
node_learner -->|"studies"| node_kmeans_concepts
node_kmeans_concepts -->|"continues with"| node_kmeans_impl
node_learner -->|"studies"| node_hier_concepts
node_hier_concepts -->|"continues with"| node_dendrograms
node_dendrograms -->|"continues with"| node_hier_impl
node_learner -->|"studies"| node_pca_math
node_pca_math -->|"continues with"| node_pca_reduction
node_pca_reduction -->|"continues with"| node_pca_impl

click node_dt_concepts "https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/Dicesion%20Tree%20-%20Algorithm%20Practice/Decision%20Tree%2001.ipynb"
click node_dt_pruning "https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/Dicesion%20Tree%20-%20Algorithm%20Practice/Decision%20Tree%2003%20(Pre-Pruning%20vs%20Post-Pruning).ipynb"
click node_dt_impl "https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/Dicesion%20Tree%20-%20Algorithm%20Practice/Decision%20Tree%2004%20-%20Python%20Implementation%20From%20Scratch%20Using%20Scikit-learn.ipynb"
click node_linear "https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/Linear%20Regression%20-%20Algorithm%20Practice/Untitled.ipynb"
click node_nb_concepts "https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/Naive%20Bayes'%20-%20Algorithm%20Practice/Naive%20Bayes%2001.ipynb"
click node_nb_impl "https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/Naive%20Bayes'%20-%20Algorithm%20Practice/Naive%20Bayes%2002%20-%20Implementation%20Using%20Scikit-learn.ipynb"
click node_rf_concepts "https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/Random%20Forest%20-%20Algorithm%20Practice/Random%20Forest%2001.ipynb"
click node_rf_features "https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/Random%20Forest%20-%20Algorithm%20Practice/Random%20Forest%2003%20-%20Feature%20Importance%20and%20OOB%20Error.ipynb"
click node_rf_tuning "https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/Random%20Forest%20-%20Algorithm%20Practice/Random%20Forest%2004%20-%20HyperParameters%20Tuning.ipynb"
click node_rf_impl "https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/Random%20Forest%20-%20Algorithm%20Practice/Random%20Forest%2005%20-%20Implementation%20Using%20Scikit-learn.ipynb"
click node_svm_concepts "https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/SVM%20-%20Algorithm%20Practice/SVM%2001.ipynb"
click node_svm_kernels "https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/SVM%20-%20Algorithm%20Practice/SVM%2002%20-%20Kernels.ipynb"
click node_svm_features "https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/SVM%20-%20Algorithm%20Practice/SVM%2003%20-%20High%20Dimension%20and%20Important%20Feature%20Handling.ipynb"
click node_svm_impl "https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/SVM%20-%20Algorithm%20Practice/SVM%2004%20-%20Implementation%20Using%20Scikit-Learn.ipynb"
click node_knn_concepts "https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/k-NN%20-%20Algorithm%20Practice/k-NN%2001.ipynb"
click node_knn_opt "https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/k-NN%20-%20Algorithm%20Practice/k-NN%2002%20-%20Performance%20Optimization%20Techniques.ipynb"
click node_knn_impl "https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/k-NN%20-%20Algorithm%20Practice/k-NN%2003%20-%20Implementation%20Using%20Scikit-learn.ipynb"
click node_kmeans_concepts "https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/Unsupervised%20Algorithms/KMeans%20Clustering%20-%20Algorithm%20Practice/KMeans%20Clustering%2001.ipynb"
click node_kmeans_impl "https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/Unsupervised%20Algorithms/KMeans%20Clustering%20-%20Algorithm%20Practice/KMeans%20Clustering%2003%20-%20Implementation%20Using%20Scikit-learn%20-%20Part%20l.ipynb"
click node_hier_concepts "https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/Unsupervised%20Algorithms/Hierarchical%20Clustering%20-%20Algorithm%20Practice/Hierarchical%20Clustering%2001.ipynb"
click node_dendrograms "https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/Unsupervised%20Algorithms/Hierarchical%20Clustering%20-%20Algorithm%20Practice/Hierarchical%20Clustering%2002-%20Dendrograms%20%26%20Cluster%20Selection.ipynb"
click node_hier_impl "https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/Unsupervised%20Algorithms/Hierarchical%20Clustering%20-%20Algorithm%20Practice/Hierarchical%20Clustering%2003%20-%20Implementation%20Using%20Scikit-learn.ipynb"
click node_pca_math "https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/Unsupervised%20Algorithms/Principle%20Component%20Analysis%20-%20PCA/PCA%2001%20-%20EigenVectors%20and%20EigenValues.ipynb"
click node_pca_reduction "https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/Unsupervised%20Algorithms/Principle%20Component%20Analysis%20-%20PCA/PCA%2002%20-%20Dimensionality%20Reduction%20Concept.ipynb"
click node_pca_impl "https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/Unsupervised%20Algorithms/Principle%20Component%20Analysis%20-%20PCA/PCA%2003%20-%20Implementation%20with%20Scikit-Learn%20-%20Part%20I.ipynb"

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_dt_concepts,node_dt_pruning,node_dt_impl,node_linear,node_nb_concepts,node_nb_impl,node_rf_concepts,node_rf_features,node_rf_tuning,node_rf_impl,node_svm_concepts,node_svm_kernels,node_svm_features,node_svm_impl,node_knn_concepts,node_knn_opt,node_knn_impl toneBlue
class node_kmeans_concepts,node_kmeans_impl,node_hier_concepts,node_dendrograms,node_hier_impl,node_pca_math,node_pca_reduction,node_pca_impl toneAmber
class node_learner toneIndigo
```

## Components

### Supervised Learning

- [Tree Concepts](https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/Dicesion%20Tree%20-%20Algorithm%20Practice/Decision%20Tree%2001.ipynb): `Dicesion Tree - Algorithm Practice/Decision Tree 01.ipynb`
- [Tree Pruning](https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/Dicesion%20Tree%20-%20Algorithm%20Practice/Decision%20Tree%2003%20(Pre-Pruning%20vs%20Post-Pruning).ipynb): `Dicesion Tree - Algorithm Practice/Decision Tree 03 (Pre-Pruning vs Post-Pruning).ipynb`
- [Tree Implementation](https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/Dicesion%20Tree%20-%20Algorithm%20Practice/Decision%20Tree%2004%20-%20Python%20Implementation%20From%20Scratch%20Using%20Scikit-learn.ipynb): `Dicesion Tree - Algorithm Practice/Decision Tree 04 - Python Implementation From Scratch Using Scikit-learn.ipynb`
- [Linear Regression](https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/Linear%20Regression%20-%20Algorithm%20Practice/Untitled.ipynb): `Linear Regression - Algorithm Practice/Untitled.ipynb`
- [Bayes Concepts](https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/Naive%20Bayes'%20-%20Algorithm%20Practice/Naive%20Bayes%2001.ipynb): `Naive Bayes' - Algorithm Practice/Naive Bayes 01.ipynb`
- [Bayes Implementation](https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/Naive%20Bayes'%20-%20Algorithm%20Practice/Naive%20Bayes%2002%20-%20Implementation%20Using%20Scikit-learn.ipynb): `Naive Bayes' - Algorithm Practice/Naive Bayes 02 - Implementation Using Scikit-learn.ipynb`
- [Forest Concepts](https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/Random%20Forest%20-%20Algorithm%20Practice/Random%20Forest%2001.ipynb): `Random Forest - Algorithm Practice/Random Forest 01.ipynb`
- [Feature Importance](https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/Random%20Forest%20-%20Algorithm%20Practice/Random%20Forest%2003%20-%20Feature%20Importance%20and%20OOB%20Error.ipynb): `Random Forest - Algorithm Practice/Random Forest 03 - Feature Importance and OOB Error.ipynb`
- [Forest Tuning](https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/Random%20Forest%20-%20Algorithm%20Practice/Random%20Forest%2004%20-%20HyperParameters%20Tuning.ipynb): `Random Forest - Algorithm Practice/Random Forest 04 - HyperParameters Tuning.ipynb`
- [Forest Implementation](https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/Random%20Forest%20-%20Algorithm%20Practice/Random%20Forest%2005%20-%20Implementation%20Using%20Scikit-learn.ipynb): `Random Forest - Algorithm Practice/Random Forest 05 - Implementation Using Scikit-learn.ipynb`
- [SVM Concepts](https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/SVM%20-%20Algorithm%20Practice/SVM%2001.ipynb): `SVM - Algorithm Practice/SVM 01.ipynb`
- [SVM Kernels](https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/SVM%20-%20Algorithm%20Practice/SVM%2002%20-%20Kernels.ipynb): `SVM - Algorithm Practice/SVM 02 - Kernels.ipynb`
- [SVM Features](https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/SVM%20-%20Algorithm%20Practice/SVM%2003%20-%20High%20Dimension%20and%20Important%20Feature%20Handling.ipynb): `SVM - Algorithm Practice/SVM 03 - High Dimension and Important Feature Handling.ipynb`
- [SVM Implementation](https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/SVM%20-%20Algorithm%20Practice/SVM%2004%20-%20Implementation%20Using%20Scikit-Learn.ipynb): `SVM - Algorithm Practice/SVM 04 - Implementation Using Scikit-Learn.ipynb`
- [k-NN Concepts](https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/k-NN%20-%20Algorithm%20Practice/k-NN%2001.ipynb): `k-NN - Algorithm Practice/k-NN 01.ipynb`
- [k-NN Optimization](https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/k-NN%20-%20Algorithm%20Practice/k-NN%2002%20-%20Performance%20Optimization%20Techniques.ipynb): `k-NN - Algorithm Practice/k-NN 02 - Performance Optimization Techniques.ipynb`
- [k-NN Implementation](https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/k-NN%20-%20Algorithm%20Practice/k-NN%2003%20-%20Implementation%20Using%20Scikit-learn.ipynb): `k-NN - Algorithm Practice/k-NN 03 - Implementation Using Scikit-learn.ipynb`

### Unsupervised Learning

- [K-means Concepts](https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/Unsupervised%20Algorithms/KMeans%20Clustering%20-%20Algorithm%20Practice/KMeans%20Clustering%2001.ipynb): `Unsupervised Algorithms/KMeans Clustering - Algorithm Practice/KMeans Clustering 01.ipynb`
- [K-means Implementation](https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/Unsupervised%20Algorithms/KMeans%20Clustering%20-%20Algorithm%20Practice/KMeans%20Clustering%2003%20-%20Implementation%20Using%20Scikit-learn%20-%20Part%20l.ipynb): `Unsupervised Algorithms/KMeans Clustering - Algorithm Practice/KMeans Clustering 03 - Implementation Using Scikit-learn - Part l.ipynb`
- [Hierarchy Concepts](https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/Unsupervised%20Algorithms/Hierarchical%20Clustering%20-%20Algorithm%20Practice/Hierarchical%20Clustering%2001.ipynb): `Unsupervised Algorithms/Hierarchical Clustering - Algorithm Practice/Hierarchical Clustering 01.ipynb`
- [Dendrograms](https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/Unsupervised%20Algorithms/Hierarchical%20Clustering%20-%20Algorithm%20Practice/Hierarchical%20Clustering%2002-%20Dendrograms%20%26%20Cluster%20Selection.ipynb): `Unsupervised Algorithms/Hierarchical Clustering - Algorithm Practice/Hierarchical Clustering 02- Dendrograms & Cluster Selection.ipynb`
- [Hierarchy Implementation](https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/Unsupervised%20Algorithms/Hierarchical%20Clustering%20-%20Algorithm%20Practice/Hierarchical%20Clustering%2003%20-%20Implementation%20Using%20Scikit-learn.ipynb): `Unsupervised Algorithms/Hierarchical Clustering - Algorithm Practice/Hierarchical Clustering 03 - Implementation Using Scikit-learn.ipynb`
- [PCA Mathematics](https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/Unsupervised%20Algorithms/Principle%20Component%20Analysis%20-%20PCA/PCA%2001%20-%20EigenVectors%20and%20EigenValues.ipynb): `Unsupervised Algorithms/Principle Component Analysis - PCA/PCA 01 - EigenVectors and EigenValues.ipynb`
- [Dimensionality Reduction](https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/Unsupervised%20Algorithms/Principle%20Component%20Analysis%20-%20PCA/PCA%2002%20-%20Dimensionality%20Reduction%20Concept.ipynb): `Unsupervised Algorithms/Principle Component Analysis - PCA/PCA 02 - Dimensionality Reduction Concept.ipynb`
- [PCA Implementation](https://github.com/muhammadjunaid-ds/ai-using-python/blob/main/Unsupervised%20Algorithms/Principle%20Component%20Analysis%20-%20PCA/PCA%2003%20-%20Implementation%20with%20Scikit-Learn%20-%20Part%20I.ipynb): `Unsupervised Algorithms/Principle Component Analysis - PCA/PCA 03 - Implementation with Scikit-Learn - Part I.ipynb`

### Other components

- **Learner**

## Connections

- Learner → Tree Concepts: studies
- Tree Concepts → Tree Pruning: continues with
- Tree Pruning → Tree Implementation: continues with
- Learner → Linear Regression: studies
- Learner → Bayes Concepts: studies
- Bayes Concepts → Bayes Implementation: continues with
- Learner → Forest Concepts: studies
- Forest Concepts → Feature Importance: continues with
- Feature Importance → Forest Tuning: continues with
- Forest Tuning → Forest Implementation: continues with
- Learner → SVM Concepts: studies
- SVM Concepts → SVM Kernels: continues with
- SVM Kernels → SVM Features: continues with
- SVM Features → SVM Implementation: continues with
- Learner → k-NN Concepts: studies
- k-NN Concepts → k-NN Optimization: continues with
- k-NN Optimization → k-NN Implementation: continues with
- Learner → K-means Concepts: studies
- K-means Concepts → K-means Implementation: continues with
- Learner → Hierarchy Concepts: studies
- Hierarchy Concepts → Dendrograms: continues with
- Dendrograms → Hierarchy Implementation: continues with
- Learner → PCA Mathematics: studies
- PCA Mathematics → Dimensionality Reduction: continues with
- Dimensionality Reduction → PCA Implementation: continues with
