Files
kelompok3-deeplearning/README.md
T

99 lines
4.4 KiB
Markdown

# 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
```text
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
```bash
# 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)
```bash
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)
```bash
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)
```bash
python tasks/nlp_sentiment/08_sentimen_gap.py
```
---
## 📚 Dokumen Terkait
- **Laporan Akhir Praktikum:** [docs/laporan_akhir.md](docs/laporan_akhir.md)
- **Materi Presentasi (PPT):** [docs/PRESENTATION.md](docs/PRESENTATION.md)
- **Analisis Model Selection:** [docs/model_selection.md](docs/model_selection.md)
- **Analisis Sentimen Tokopedia:** [docs/analisis_evaluasi_model_sentimen_gap.md](docs/analisis_evaluasi_model_sentimen_gap.md)
---
## 🛠️ 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