main
Praktikum Deep Learning - Kelompok 3
Repository ini berisi implementasi tugas praktikum Deep Learning, mencakup:
- Multi-Layer Perceptron (MLP): Eksperimen kedalaman layer & regularisasi (Batch Normalization & Dropout) pada dataset MNIST.
- Model Selection: Studi kasus pemilihan arsitektur model sesuai karakteristik data (Time Series, Computer Vision, NLP, dan Tabular).
- Convolutional Neural Network (CNN): Pipeline klasifikasi citra MNIST, eksplorasi kedalaman arsitektur (2 blok vs 3 blok), serta analisis performa mendalam.
- 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
- Laporan Akhir Praktikum: docs/laporan_akhir.md
- Materi Presentasi (PPT): docs/PRESENTATION.md
- Analisis Model Selection: docs/model_selection.md
- Analisis Sentimen Tokopedia: 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
Languages
Python
100%