Reading-Assigment

๐Ÿ“˜ PCA Reading Assignment

An educational resource for learning Principal Component Analysis (PCA) โ€” a fundamental dimensionality reduction technique in machine learning and data science.

CI License: MIT GitHub Pages


๐Ÿ“– Description

This repository is a reading assignment for the Advanced Big Data Analytics course (24K-8001). It provides a comprehensive exploration of PCA through two complementary learning resources:

  1. Interactive PCA Guide โ€” A web-based tutorial with step-by-step explanations, interactive visualizations, and mathematical notation.
  2. Practical PCA Implementation โ€” A Jupyter Notebook demonstrating PCA in Python, comparing manual calculations with scikit-learn.

โœจ Key Features

๐Ÿ› ๏ธ Tech Stack

Category Technologies
Languages Python, HTML, CSS, JavaScript
Data Science NumPy, scikit-learn, Pandas
Visualization Matplotlib, Seaborn, Chart.js
Math Rendering MathJax
Styling Tailwind CSS
Notebooks Jupyter Notebook

๐Ÿ“‚ Project Structure

Reading-Assigment/
โ”œโ”€โ”€ src/                                    # Main content files
โ”‚   โ”œโ”€โ”€ pca-interactive-guide.html          # Interactive web-based PCA tutorial
โ”‚   โ””โ”€โ”€ pca-practical-implementation.html   # Jupyter Notebook export with Python code
โ”œโ”€โ”€ docs/                                   # Developer documentation
โ”‚   โ”œโ”€โ”€ setup.md                            # Installation and setup guide
โ”‚   โ”œโ”€โ”€ architecture.md                     # Project architecture overview
โ”‚   โ””โ”€โ”€ development.md                      # Development workflow
โ”œโ”€โ”€ .github/                                # GitHub configuration
โ”‚   โ”œโ”€โ”€ workflows/ci.yml                    # CI pipeline
โ”‚   โ”œโ”€โ”€ ISSUE_TEMPLATE/                     # Issue templates
โ”‚   โ””โ”€โ”€ pull_request_template.md            # PR template
โ”œโ”€โ”€ README.md                               # This file
โ”œโ”€โ”€ CONTRIBUTING.md                         # Contribution guidelines
โ”œโ”€โ”€ LICENSE                                 # MIT License
โ”œโ”€โ”€ CHANGELOG.md                            # Version history
โ”œโ”€โ”€ requirements.txt                        # Python dependencies
โ”œโ”€โ”€ .gitignore                              # Git ignore rules
โ””โ”€โ”€ .editorconfig                           # Editor configuration

๐Ÿš€ Installation

View Online

Visit the live site: https://mnoumanhanif.github.io/Reading-Assigment/

View Locally

# Clone the repository
git clone https://github.com/mnoumanhanif/Reading-Assigment.git
cd Reading-Assigment

# Open the interactive guide in your browser
open src/pca-interactive-guide.html        # macOS
xdg-open src/pca-interactive-guide.html    # Linux
start src/pca-interactive-guide.html       # Windows

๐Ÿ“‹ Usage

Learning Path

  1. Start with theory โ€” Open src/pca-interactive-guide.html to understand PCA concepts, the mathematical process, and real-world applications.
  2. Move to practice โ€” Open src/pca-practical-implementation.html to see PCA implemented in Python with NumPy and scikit-learn.
  3. Experiment โ€” Set up the Python environment and try modifying the code yourself.

Python Environment (Optional)

To run or modify the Jupyter notebook:

python -m venv venv
source venv/bin/activate    # macOS/Linux
pip install -r requirements.txt
jupyter notebook

๐Ÿงช Testing

The CI pipeline validates:

Run the checks locally:

# Verify HTML files exist
ls src/*.html

# Check HTML structure
for f in src/*.html; do grep -q "<html" "$f" && echo "โœ… $f"; done

๐Ÿค Contributing

Contributions are welcome! Please read CONTRIBUTING.md for guidelines on:

๐Ÿ“š Additional Resources

๐Ÿ“„ License

This project is licensed under the MIT License.

๐Ÿ‘ค Author

mnoumanhanif โ€” GitHub Profile

Course: Advanced Big Data Analytics (24K-8001)