# ramakanth0405/pg_s3_lab architecture

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

- Interactive diagram: https://gitdiagram.com/ramakanth0405/pg_s3_lab
- Repository: https://github.com/ramakanth0405/pg_s3_lab

## Overview

This repository is a collection of Semester III data-science practicals, not a single application. The main user workflow is to select a topic, run its notebook or script against example or supplied data, and inspect the resulting analysis, model, linguistic processing, or parsed data. It covers machine learning, NLP, and IoT-oriented web scraping, parsing, and cleaning. The README documents capabilities beyond the sampled source; links between unsampled exercises and particular datasets or other stages are therefore not inferred.

Main entry points: [`PG_S3_NLP`](https://github.com/ramakanth0405/pg_s3_lab/tree/main/PG_S3_NLP) (NLP Practicals), [`PG_S3_ML`](https://github.com/ramakanth0405/pg_s3_lab/tree/main/PG_S3_ML) (ML Practicals), [`PG_S3_IoT/PG_S3_IoT_0f_web_scrape/IoT_Parsing`](https://github.com/ramakanth0405/pg_s3_lab/tree/main/PG_S3_IoT/PG_S3_IoT_0f_web_scrape/IoT_Parsing) (Format Parsers), [`PG_S3_IoT/PG_S3_IoT_0f_web_scrape`](https://github.com/ramakanth0405/pg_s3_lab/tree/main/PG_S3_IoT/PG_S3_IoT_0f_web_scrape) (Web Scraping)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_resources["Learning Resources"]
  node_datasets[("Example Datasets")]
end

subgraph group_ml["Machine Learning"]
  node_ml_practicals["ML Practicals"]
  node_encoding["Encoding"]
  node_factor["Factor Analysis"]
  node_kmeans["K-Means"]
  node_knn["KNN<br/>[PG_S3_ML_KNN.ipynb]"]
  node_pca["PCA"]
  node_random_forest["Random Forest<br/>[PG_S3_ML_RF.ipynb]"]
end

subgraph group_nlp["Natural Language Processing"]
  node_nlp_practicals["NLP Practicals"]
  node_nlp_labs["NLP Labs"]
  node_nlp_tagging["PoS Tagging"]
  node_ngrams["N-Grams"]
  node_wordcloud["Word Clouds"]
  node_sentiment["TextBlob"]
  node_mnb["Naive Bayes"]
  node_svm["SVM"]
end

subgraph group_iot["IoT Data"]
  node_scrape["Web Scraping"]
  node_local_html["Local HTML"]
  node_parsers["Format Parsers"]
  node_xml_parser["XML Parser<br/>[IoT_parsing_xml.py]"]
  node_json_parser["JSON Parser"]
  node_text_parser["Text Parser"]
  node_csv_parser["CSV Parser<br/>[IoT_parsing_csv.py]"]
  node_cleaning["Data Cleaning"]
end

node_learner(("Learner"))
node_web(("Web Pages"))

node_learner -->|"runs exercises"| node_ml_practicals
node_learner -->|"runs exercises"| node_nlp_practicals
node_learner -->|"runs exercises"| node_scrape
node_ml_practicals -->|"includes"| node_encoding
node_ml_practicals -->|"includes"| node_factor
node_ml_practicals -->|"includes"| node_kmeans
node_ml_practicals -->|"includes"| node_knn
node_ml_practicals -->|"includes"| node_pca
node_ml_practicals -->|"includes"| node_random_forest
node_nlp_practicals -->|"includes"| node_nlp_labs
node_nlp_practicals -->|"includes"| node_nlp_tagging
node_nlp_practicals -->|"includes"| node_ngrams
node_nlp_practicals -->|"includes"| node_wordcloud
node_nlp_practicals -->|"includes"| node_sentiment
node_nlp_practicals -->|"includes"| node_mnb
node_nlp_practicals -->|"includes"| node_svm
node_scrape -->|"requests pages"| node_web
node_scrape -->|"parses local"| node_local_html
node_learner -->|"runs exercises"| node_parsers
node_parsers -->|"includes"| node_xml_parser
node_parsers -->|"includes"| node_json_parser
node_parsers -->|"includes"| node_text_parser
node_parsers -->|"includes"| node_csv_parser
node_learner -->|"runs exercise"| node_cleaning

click node_datasets "https://github.com/ramakanth0405/pg_s3_lab/tree/main/Datasets"
click node_ml_practicals "https://github.com/ramakanth0405/pg_s3_lab/tree/main/PG_S3_ML"
click node_encoding "https://github.com/ramakanth0405/pg_s3_lab/blob/main/PG_S3_ML/PG_S3_ML_0_Encoding.ipynb"
click node_factor "https://github.com/ramakanth0405/pg_s3_lab/blob/main/PG_S3_ML/PG_S3_ML_Factor.ipynb"
click node_kmeans "https://github.com/ramakanth0405/pg_s3_lab/blob/main/PG_S3_ML/PG_S3_ML_KMeans.ipynb"
click node_knn "https://github.com/ramakanth0405/pg_s3_lab/blob/main/PG_S3_ML/PG_S3_ML_KNN.ipynb"
click node_pca "https://github.com/ramakanth0405/pg_s3_lab/blob/main/PG_S3_ML/PG_S3_ML_M3_PCA.ipynb"
click node_random_forest "https://github.com/ramakanth0405/pg_s3_lab/blob/main/PG_S3_ML/PG_S3_ML_RF.ipynb"
click node_nlp_practicals "https://github.com/ramakanth0405/pg_s3_lab/tree/main/PG_S3_NLP"
click node_nlp_labs "https://github.com/ramakanth0405/pg_s3_lab/tree/main/PG_S3_NLP/PG_S3_NLP_Lab"
click node_nlp_tagging "https://github.com/ramakanth0405/pg_s3_lab/blob/main/PG_S3_NLP/PG_S3_NLP_2_PoS_nltk.ipynb"
click node_ngrams "https://github.com/ramakanth0405/pg_s3_lab/blob/main/PG_S3_NLP/PG_S3_NLP_05a_ngram.ipynb"
click node_wordcloud "https://github.com/ramakanth0405/pg_s3_lab/blob/main/PG_S3_NLP/PG_S3_NLP_06_wordcloud.ipynb"
click node_sentiment "https://github.com/ramakanth0405/pg_s3_lab/blob/main/PG_S3_NLP/PG_S3_NLP_4_textblob.ipynb"
click node_mnb "https://github.com/ramakanth0405/pg_s3_lab/blob/main/PG_S3_NLP/PG_S3_NLP_07_MNB.ipynb"
click node_svm "https://github.com/ramakanth0405/pg_s3_lab/blob/main/PG_S3_NLP/PG_S3_NLP_08_SVM.ipynb"
click node_scrape "https://github.com/ramakanth0405/pg_s3_lab/tree/main/PG_S3_IoT/PG_S3_IoT_0f_web_scrape"
click node_local_html "https://github.com/ramakanth0405/pg_s3_lab/blob/main/PG_S3_IoT/PG_S3_IoT_0f_web_scrape/IoT_Webscrape_local/PG_S3_IoT_0_sample_web.html"
click node_parsers "https://github.com/ramakanth0405/pg_s3_lab/tree/main/PG_S3_IoT/PG_S3_IoT_0f_web_scrape/IoT_Parsing"
click node_xml_parser "https://github.com/ramakanth0405/pg_s3_lab/blob/main/PG_S3_IoT/PG_S3_IoT_0f_web_scrape/IoT_Parsing/IoT_parsing_xml.py"
click node_json_parser "https://github.com/ramakanth0405/pg_s3_lab/blob/main/PG_S3_IoT/PG_S3_IoT_0f_web_scrape/IoT_Parsing/IoT_parsing_json.py"
click node_text_parser "https://github.com/ramakanth0405/pg_s3_lab/blob/main/PG_S3_IoT/PG_S3_IoT_0f_web_scrape/IoT_Parsing/IoT_parsing_text.py"
click node_csv_parser "https://github.com/ramakanth0405/pg_s3_lab/blob/main/PG_S3_IoT/PG_S3_IoT_0f_web_scrape/IoT_Parsing/IoT_parsing_csv.py"
click node_cleaning "https://github.com/ramakanth0405/pg_s3_lab/tree/main/PG_S3_IoT/PG_S3_IoT_0f_web_scrape/IoT_Data_Cleaning"

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_datasets toneBlue
class node_ml_practicals,node_encoding,node_factor,node_kmeans,node_knn,node_pca,node_random_forest toneAmber
class node_nlp_practicals,node_nlp_labs,node_nlp_tagging,node_ngrams,node_wordcloud,node_sentiment,node_mnb,node_svm toneMint
class node_scrape,node_local_html,node_parsers,node_xml_parser,node_json_parser,node_text_parser,node_csv_parser,node_cleaning toneRose
class node_learner,node_web toneIndigo
```

## Components

### Learning Resources

- [Example Datasets](https://github.com/ramakanth0405/pg_s3_lab/tree/main/Datasets): `Datasets`

### Machine Learning

- [ML Practicals](https://github.com/ramakanth0405/pg_s3_lab/tree/main/PG_S3_ML): `PG_S3_ML`
- [Encoding](https://github.com/ramakanth0405/pg_s3_lab/blob/main/PG_S3_ML/PG_S3_ML_0_Encoding.ipynb): `PG_S3_ML/PG_S3_ML_0_Encoding.ipynb`
- [Factor Analysis](https://github.com/ramakanth0405/pg_s3_lab/blob/main/PG_S3_ML/PG_S3_ML_Factor.ipynb): `PG_S3_ML/PG_S3_ML_Factor.ipynb`
- [K-Means](https://github.com/ramakanth0405/pg_s3_lab/blob/main/PG_S3_ML/PG_S3_ML_KMeans.ipynb): `PG_S3_ML/PG_S3_ML_KMeans.ipynb`
- [KNN](https://github.com/ramakanth0405/pg_s3_lab/blob/main/PG_S3_ML/PG_S3_ML_KNN.ipynb): `PG_S3_ML/PG_S3_ML_KNN.ipynb`
- [PCA](https://github.com/ramakanth0405/pg_s3_lab/blob/main/PG_S3_ML/PG_S3_ML_M3_PCA.ipynb): `PG_S3_ML/PG_S3_ML_M3_PCA.ipynb`
- [Random Forest](https://github.com/ramakanth0405/pg_s3_lab/blob/main/PG_S3_ML/PG_S3_ML_RF.ipynb): `PG_S3_ML/PG_S3_ML_RF.ipynb`

### Natural Language Processing

- [NLP Practicals](https://github.com/ramakanth0405/pg_s3_lab/tree/main/PG_S3_NLP): `PG_S3_NLP`
- [NLP Labs](https://github.com/ramakanth0405/pg_s3_lab/tree/main/PG_S3_NLP/PG_S3_NLP_Lab): `PG_S3_NLP/PG_S3_NLP_Lab`
- [PoS Tagging](https://github.com/ramakanth0405/pg_s3_lab/blob/main/PG_S3_NLP/PG_S3_NLP_2_PoS_nltk.ipynb): `PG_S3_NLP/PG_S3_NLP_2_PoS_nltk.ipynb`
- [N-Grams](https://github.com/ramakanth0405/pg_s3_lab/blob/main/PG_S3_NLP/PG_S3_NLP_05a_ngram.ipynb): `PG_S3_NLP/PG_S3_NLP_05a_ngram.ipynb`
- [Word Clouds](https://github.com/ramakanth0405/pg_s3_lab/blob/main/PG_S3_NLP/PG_S3_NLP_06_wordcloud.ipynb): `PG_S3_NLP/PG_S3_NLP_06_wordcloud.ipynb`
- [TextBlob](https://github.com/ramakanth0405/pg_s3_lab/blob/main/PG_S3_NLP/PG_S3_NLP_4_textblob.ipynb): `PG_S3_NLP/PG_S3_NLP_4_textblob.ipynb`
- [Naive Bayes](https://github.com/ramakanth0405/pg_s3_lab/blob/main/PG_S3_NLP/PG_S3_NLP_07_MNB.ipynb): `PG_S3_NLP/PG_S3_NLP_07_MNB.ipynb`
- [SVM](https://github.com/ramakanth0405/pg_s3_lab/blob/main/PG_S3_NLP/PG_S3_NLP_08_SVM.ipynb): `PG_S3_NLP/PG_S3_NLP_08_SVM.ipynb`

### IoT Data

- [Web Scraping](https://github.com/ramakanth0405/pg_s3_lab/tree/main/PG_S3_IoT/PG_S3_IoT_0f_web_scrape): `PG_S3_IoT/PG_S3_IoT_0f_web_scrape`
- [Local HTML](https://github.com/ramakanth0405/pg_s3_lab/blob/main/PG_S3_IoT/PG_S3_IoT_0f_web_scrape/IoT_Webscrape_local/PG_S3_IoT_0_sample_web.html): `PG_S3_IoT/PG_S3_IoT_0f_web_scrape/IoT_Webscrape_local/PG_S3_IoT_0_sample_web.html`
- [Format Parsers](https://github.com/ramakanth0405/pg_s3_lab/tree/main/PG_S3_IoT/PG_S3_IoT_0f_web_scrape/IoT_Parsing): `PG_S3_IoT/PG_S3_IoT_0f_web_scrape/IoT_Parsing`
- [XML Parser](https://github.com/ramakanth0405/pg_s3_lab/blob/main/PG_S3_IoT/PG_S3_IoT_0f_web_scrape/IoT_Parsing/IoT_parsing_xml.py): `PG_S3_IoT/PG_S3_IoT_0f_web_scrape/IoT_Parsing/IoT_parsing_xml.py`
- [JSON Parser](https://github.com/ramakanth0405/pg_s3_lab/blob/main/PG_S3_IoT/PG_S3_IoT_0f_web_scrape/IoT_Parsing/IoT_parsing_json.py): `PG_S3_IoT/PG_S3_IoT_0f_web_scrape/IoT_Parsing/IoT_parsing_json.py`
- [Text Parser](https://github.com/ramakanth0405/pg_s3_lab/blob/main/PG_S3_IoT/PG_S3_IoT_0f_web_scrape/IoT_Parsing/IoT_parsing_text.py): `PG_S3_IoT/PG_S3_IoT_0f_web_scrape/IoT_Parsing/IoT_parsing_text.py`
- [CSV Parser](https://github.com/ramakanth0405/pg_s3_lab/blob/main/PG_S3_IoT/PG_S3_IoT_0f_web_scrape/IoT_Parsing/IoT_parsing_csv.py): `PG_S3_IoT/PG_S3_IoT_0f_web_scrape/IoT_Parsing/IoT_parsing_csv.py`
- [Data Cleaning](https://github.com/ramakanth0405/pg_s3_lab/tree/main/PG_S3_IoT/PG_S3_IoT_0f_web_scrape/IoT_Data_Cleaning): `PG_S3_IoT/PG_S3_IoT_0f_web_scrape/IoT_Data_Cleaning`

### Other components

- **Learner**
- **Web Pages**

## Connections

- Learner → ML Practicals: runs exercises
- Learner → NLP Practicals: runs exercises
- Learner → Web Scraping: runs exercises
- ML Practicals → Encoding: includes
- ML Practicals → Factor Analysis: includes
- ML Practicals → K-Means: includes
- ML Practicals → KNN: includes
- ML Practicals → PCA: includes
- ML Practicals → Random Forest: includes
- NLP Practicals → NLP Labs: includes
- NLP Practicals → PoS Tagging: includes
- NLP Practicals → N-Grams: includes
- NLP Practicals → Word Clouds: includes
- NLP Practicals → TextBlob: includes
- NLP Practicals → Naive Bayes: includes
- NLP Practicals → SVM: includes
- Web Scraping → Web Pages: requests pages
- Web Scraping → Local HTML: parses local
- Learner → Format Parsers: runs exercises
- Format Parsers → XML Parser: includes
- Format Parsers → JSON Parser: includes
- Format Parsers → Text Parser: includes
- Format Parsers → CSV Parser: includes
- Learner → Data Cleaning: runs exercise
