Tentang Proyek
KembaliPrediksi Kelulusan Mahasiswa
Proyek ini adalah implementasi Ujian Tengah Semester (UTS) Praktikum Kecerdasan Buatan yang membangun sistem prediksi kelulusan mahasiswa menggunakan 5 algoritma Machine Learning.
Dataset yang digunakan adalah Student Performance Prediction Dataset dari Kaggle dengan 40.000 data mahasiswa dan fitur akademik seperti jam belajar, tingkat kehadiran, nilai sebelumnya, keikutsertaan ekstrakulikuler, dan pendidikan orang tua.
Pipeline Machine Learning:
Dataset dari Kaggle (40.000 sampel)
Missing values, encoding, normalisasi, clip outlier
Skor akademik tertimbang sebagai target
Visualisasi distribusi, korelasi, feature importance
Training 5 algoritma ML
Accuracy, MAE, RMSE, R², Confusion Matrix
Flask web app dengan Bootstrap 5
Detail 5 Algoritma ML
Konfigurasi: Analogi Linear Regression untuk klasifikasi biner. Memodelkan probabilitas kelulusan dengan fungsi sigmoid. Optimizer: L-BFGS, C=1.0, max_iter=1000.
Hasil: Sederhana, cepat, mudah diinterpretasi. Akurasi 99.88%.
Konfigurasi: Jaringan saraf tiruan dengan 2 hidden layer (64 dan 32 neuron). Aktivasi ReLU. Optimizer: Adam. Early stopping dengan validation fraction 10%.
Hasil: Mampu menangkap pola non-linear. Akurasi 99.75%.
Konfigurasi: Disimulasikan menggunakan Deep MLP 5 hidden layer (128-64-64-32-16) dengan aktivasi tanh (sama seperti gating LSTM). Batch size 64, adaptive learning rate.
Hasil: Arsitektur paling dalam. Aktivasi tanh meniru mekanisme gating LSTM. Akurasi 99.61%.
Konfigurasi: Algoritma clustering unsupervised dengan k=2. Cluster disesuaikan dengan label aktual menggunakan majority vote. Evaluasi dengan Silhouette Score.
Hasil: Tidak membutuhkan label. Berguna untuk eksplorasi struktur data. Silhouette Score 0.22.
Konfigurasi: MLPClassifier dengan SGD optimizer, fungsi aktivasi sigmoid (logistic), learning rate konstan 0.01, momentum 0.9. Menonjolkan mekanisme backpropagation klasik.
Hasil: Model terbaik (99.91%). Konvergensi stabil karena momentum SGD.
Statistik Dataset
- Total Data 40.000 sampel
- Data Training 32000 sampel (80%)
- Data Testing 8000 sampel (20%)
- Jumlah Fitur 5 fitur
- Kelas Target 2 (Lulus / Tidak Lulus)
- Missing Values ~5% per kolom
- Metode Imputing Median (numerik), Mode (kategorikal)
- Standardisasi StandardScaler
Tech Stack
-
Python 3.12 — Bahasa pemrograman utama
-
scikit-learn — Training 5 algoritma ML
-
Flask — Web framework backend
-
Bootstrap 5 — Frontend responsive
-
Pandas / NumPy — Manipulasi data
-
Matplotlib / Seaborn — Visualisasi
-
Joblib — Serialisasi model (.pkl)
File Model Tersimpan
- scaler.pkl
- logistic_regression.pkl
- ann_model.pkl
- rnn_model.pkl
- kmeans_model.pkl
- backpropagation.pkl
- pca.pkl
- results.json
- meta.json