Files
kelompok3-deeplearning/README.md
T

4.4 KiB

Praktikum Deep Learning - Kelompok 3

Repository ini berisi implementasi tugas praktikum Deep Learning, mencakup:

  1. Multi-Layer Perceptron (MLP): Eksperimen kedalaman layer & regularisasi (Batch Normalization & Dropout) pada dataset MNIST.
  2. Model Selection: Studi kasus pemilihan arsitektur model sesuai karakteristik data (Time Series, Computer Vision, NLP, dan Tabular).
  3. Convolutional Neural Network (CNN): Pipeline klasifikasi citra MNIST, eksplorasi kedalaman arsitektur (2 blok vs 3 blok), serta analisis performa mendalam.
  4. Natural Language Processing (NLP): Klasifikasi sentimen ulasan produk Tokopedia menggunakan arsitektur Embedding dan GlobalAveragePooling1D.

📁 Struktur Direktori

kelompok3-deeplearning/
├── requirements.txt                # Dependensi Python proyek
├── README.md                       # Panduan utama proyek
├── docs/                           # Laporan & materi presentasi
│   ├── laporan_akhir.md            # Laporan akhir praktikum lengkap
│   ├── PRESENTATION.md             # Panduan materi slide presentasi
│   ├── model_selection.md          # Analisis justifikasi pemilihan model
│   └── analisis_evaluasi_model_sentimen_gap.md # Analisis model NLP Tokopedia
├── src/                            # Modul bersama (data loader, arsitektur, utils)
│   ├── data_loader.py              # Data loader & preprocessor MNIST
│   ├── models.py                   # Fungsi pembangun arsitektur model
│   └── utils.py                    # Timer callback & helper visualisasi
├── tasks/                          # Skrip tugas yang siap dieksekusi per topik
│   ├── mlp/                        # Topik 1: Multi-Layer Perceptron
│   │   ├── 01_mlp_comparison.py    # Perbandingan 3 arsitektur MLP (1, 2, 3 hidden layer)
│   │   ├── 02_regularization.py    # Uji regularisasi BatchNorm + Dropout pada MLP
│   │   └── 03_model_selection.py   # Implementasi contoh arsitektur model selection
│   ├── cnn/                        # Topik 2: Convolutional Neural Network
│   │   ├── 04_cnn_mnist.py         # Baseline CNN MNIST & perbandingan awal vs MLP
│   │   ├── 05_cnn_full_pipeline.py # Training pipeline CNN lengkap & confusion matrix
│   │   ├── 06_cnn_deeper.py        # Eksplorasi kedalaman arsitektur CNN (2 blok vs 3 blok)
│   │   └── 07_cnn_evaluation.py    # Evaluasi mendalam (metrik per kelas, confidence, error analysis)
│   └── nlp_sentiment/              # Topik 3: NLP Analisis Sentimen
│       └── 08_sentimen_gap.py      # Klasifikasi sentimen ulasan Tokopedia (GAP Model)
└── results/                        # Output hasil training (grafik, bobot model, laporan)
    ├── 01_mlp/                     # Output tugas MLP
    ├── 02_cnn/                     # Output tugas CNN
    └── 03_nlp_sentiment/          # Output tugas NLP Sentimen

🚀 Panduan Menjalankan

1. Setup Virtual Environment & Install Dependensi

# Buat dan aktifkan virtual environment
python3 -m venv .venv
source .venv/bin/activate

# Install seluruh dependensi yang dibutuhkan
pip install -r requirements.txt

2. Eksekusi Script per Topik

🔹 Topik 1: Multi-Layer Perceptron (MLP)

python tasks/mlp/01_mlp_comparison.py
python tasks/mlp/02_regularization.py
python tasks/mlp/03_model_selection.py

🔹 Topik 2: Convolutional Neural Network (CNN)

python tasks/cnn/04_cnn_mnist.py
python tasks/cnn/05_cnn_full_pipeline.py
python tasks/cnn/06_cnn_deeper.py
python tasks/cnn/07_cnn_evaluation.py

🔹 Topik 3: NLP Analisis Sentimen (Tokopedia)

python tasks/nlp_sentiment/08_sentimen_gap.py

📚 Dokumen Terkait


🛠️ Stack Teknologi

  • Bahasa: Python 3.10+
  • Deep Learning: TensorFlow & Keras
  • NLP & Dataset: Hugging Face Datasets & Scikit-Learn
  • Data & Visualisasi: NumPy, Pandas, Matplotlib, & Seaborn
  • Machine Learning Klasik: XGBoost