# paritosh264/denovo architecture

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

- Interactive diagram: https://gitdiagram.com/paritosh264/denovo
- Repository: https://github.com/paritosh264/denovo

## Overview

This repository is a small educational machine-learning toolkit: it implements preprocessing, classification, and regression algorithms as independent Python classes. A typical user supplies data to a model’s `fit` method and obtains predictions with `predict`; preprocessing and train/test splitting are also available, but the sampled code does not wire them into a shared pipeline. The graph therefore shows the user-facing components without inventing calls between them. The README is empty, and no unsampled behavior is assumed.

Main entry points: [`Preprocessing/train_test_split.py`](https://github.com/paritosh264/denovo/blob/main/Preprocessing/train_test_split.py) (Train/test split), [`Preprocessing/Normalizer.py`](https://github.com/paritosh264/denovo/blob/main/Preprocessing/Normalizer.py) (Min-max normalizer), [`Preprocessing/StandardScaler.py`](https://github.com/paritosh264/denovo/blob/main/Preprocessing/StandardScaler.py) (Standard scaler), [`Classifiers/KNN.py`](https://github.com/paritosh264/denovo/blob/main/Classifiers/KNN.py) (KNN classifier)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_preprocessing["Preprocessing"]
  node_split["Train/test split"]
  node_normalizer["Min-max normalizer<br/>[Normalizer.py]"]
  node_scaler["Standard scaler<br/>[StandardScaler.py]"]
end

subgraph group_classification["Classification"]
  node_knn["KNN classifier<br/>[KNN.py]"]
  node_logistic["Logistic regression"]
  node_naive["NaiveBias stub<br/>[Naive_bias.py]"]
end

subgraph group_regression["Regression"]
  node_linear["Linear regression<br/>[Lr.py]"]
  node_polynomial["Polynomial regression<br/>[Polynomial_lr.py]"]
end

node_user(("Data scientist"))
node_scratch["Scratch models<br/>[scratch_ml.py]"]

node_user -->|"uses"| node_split
node_user -->|"uses"| node_normalizer
node_user -->|"uses"| node_scaler
node_user -->|"fits and predicts"| node_knn
node_user -->|"fits and predicts"| node_logistic
node_user -->|"instantiates"| node_naive
node_user -->|"fits and predicts"| node_linear
node_user -->|"fits and predicts"| node_polynomial
node_user -->|"uses"| node_scratch

click node_split "https://github.com/paritosh264/denovo/blob/main/Preprocessing/train_test_split.py"
click node_normalizer "https://github.com/paritosh264/denovo/blob/main/Preprocessing/Normalizer.py"
click node_scaler "https://github.com/paritosh264/denovo/blob/main/Preprocessing/StandardScaler.py"
click node_knn "https://github.com/paritosh264/denovo/blob/main/Classifiers/KNN.py"
click node_logistic "https://github.com/paritosh264/denovo/blob/main/Classifiers/Logistic_regression.py"
click node_naive "https://github.com/paritosh264/denovo/blob/main/Classifiers/Naive_bias.py"
click node_linear "https://github.com/paritosh264/denovo/blob/main/Regression/Lr.py"
click node_polynomial "https://github.com/paritosh264/denovo/blob/main/Regression/Polynomial_lr.py"
click node_scratch "https://github.com/paritosh264/denovo/blob/main/scratch_ml.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_split,node_normalizer,node_scaler toneBlue
class node_knn,node_logistic,node_naive toneAmber
class node_linear,node_polynomial toneMint
class node_user,node_scratch toneIndigo
```

## Components

### Preprocessing

- [Train/test split](https://github.com/paritosh264/denovo/blob/main/Preprocessing/train_test_split.py): `Preprocessing/train_test_split.py`
- [Min-max normalizer](https://github.com/paritosh264/denovo/blob/main/Preprocessing/Normalizer.py): `Preprocessing/Normalizer.py`
- [Standard scaler](https://github.com/paritosh264/denovo/blob/main/Preprocessing/StandardScaler.py): `Preprocessing/StandardScaler.py`

### Classification

- [KNN classifier](https://github.com/paritosh264/denovo/blob/main/Classifiers/KNN.py): `Classifiers/KNN.py`
- [Logistic regression](https://github.com/paritosh264/denovo/blob/main/Classifiers/Logistic_regression.py): `Classifiers/Logistic_regression.py`
- [NaiveBias stub](https://github.com/paritosh264/denovo/blob/main/Classifiers/Naive_bias.py): `Classifiers/Naive_bias.py`

### Regression

- [Linear regression](https://github.com/paritosh264/denovo/blob/main/Regression/Lr.py): `Regression/Lr.py`
- [Polynomial regression](https://github.com/paritosh264/denovo/blob/main/Regression/Polynomial_lr.py): `Regression/Polynomial_lr.py`

### Other components

- **Data scientist**
- [Scratch models](https://github.com/paritosh264/denovo/blob/main/scratch_ml.py): `scratch_ml.py`

## Connections

- Data scientist → Train/test split: uses (evidence: `Preprocessing/train_test_split.py`)
- Data scientist → Min-max normalizer: uses (evidence: `Preprocessing/Normalizer.py`)
- Data scientist → Standard scaler: uses (evidence: `Preprocessing/StandardScaler.py`)
- Data scientist → KNN classifier: fits and predicts (evidence: `Classifiers/KNN.py`)
- Data scientist → Logistic regression: fits and predicts (evidence: `Classifiers/Logistic_regression.py`)
- Data scientist → NaiveBias stub: instantiates (evidence: `Classifiers/Naive_bias.py`)
- Data scientist → Linear regression: fits and predicts (evidence: `Regression/Lr.py`)
- Data scientist → Polynomial regression: fits and predicts (evidence: `Regression/Polynomial_lr.py`)
- Data scientist → Scratch models: uses (evidence: `scratch_ml.py`)
