Prediksi Kelayakan Keringanan Uang Kuliah Tunggal (UKT) Mahasiswa Menggunakan Metode Random Forest
Random Forest merupakan algoritma dalam bidang machine learning yang difungsikan untuk mengklasifikasikan dataset yang memiliki volume data besar. Keunggulan utama dari algoritma ini terletak pada kemampuannya untuk beroperasi pada dataset dengan dimensi yang beragam dan skala yang bervariasi, serta menunjukkan performa yang tinggi. Proses klasifikasi dilakukan dengan menggabungkan sejumlah pohon keputusan (decision tree) melalui proses pelatihan dataset yang dimiliki.
Sebagai salah satu algoritma terkemuka dalam machine learning, Random Forest menggunakan decision tree atau pohon keputusan sebagai elemen utama dalam proses seleksi. Pada tahap ini, tree atau pohon keputusan akan secara rekursif dibagi berdasarkan data yang memiliki kelas yang serupa. Semakin banyak tree yang digunakan, semakin optimal pula akurasi yang dapat dicapai. Dalam Random Forest, penentuan klasifikasi dilakukan melalui hasil voting dari sejumlah tree yang terbentuk selama proses pelatihan.
Latar Belakang Studi Kasus
Studi kasus ini dikembangkan sebagai respons terhadap kompleksitas faktor penentu kelayakan keringanan UKT dalam lingkungan pendidikan tinggi. Sistem penentuan UKT melibatkan pertimbangan banyak variabel seperti tempat tinggal, penghasilan orang tua, jumlah tanggungan, kepemilikan kendaraan. Manualnya proses pengambilan keputusan dalam hal ini seringkali tidak praktis dan dapat mengakibatkan ketidakpastian. Oleh karena itu, penting untuk memiliki metode yang dapat memprediksi kelayakan keringanan UKT secara akurat. Metode Random Forest dipilih karena kemampuannya dalam menangani dataset yang besar, kompleks, dan beragam.
Dataset Overview
- Dataset Characteristics
Dataset dibuat dengan tujuan untuk analisis klasifikasi guna menentukan apakah seorang mahasiswa layak atau tidak mendapatkan keringanan Uang Kuliah Tunggal (UKT). Data ini diperoleh dari situs kaggle. - Attribute Characteristics
Dalam dataset ini, terdapat beberapa atribut yang memiliki karakteristik berbeda. Atribut pertama, “Hasil Klasifikasi,” merupakan variabel target yang bersifat kategorikal, menunjukkan apakah seorang mahasiswa layak atau tidak mendapatkan keringanan UKT. Selanjutnya, atribut “Memiliki Rumah Pribadi” adalah variabel kategorikal yang menandakan apakah mahasiswa memiliki rumah pribadi atau tidak. Penghasilan orang tua direpresentasikan oleh atribut “Penghasilan Orang Tua,” yang merupakan variabel numerik dalam Rupiah. “Jumlah Tanggungan Orang Tua” adalah variabel numerik yang menyatakan jumlah tanggungan yang menjadi beban orang tua mahasiswa. Terakhir, “Jumlah Kendaraan Pribadi yang Dimiliki” adalah variabel numerik yang mencatat jumlah kendaraan pribadi yang dimiliki oleh mahasiswa atau keluarganya. - Number of Instances
Dataset ini tidak mengandung nilai yang hilang (missing values). Dataset ini terdiri dari total 100 instances, di mana 65 instances menunjukkan mahasiswa layak mendapatkan keringanan UKT, dan 35 instances menunjukkan mahasiswa tidak layak mendapatkannya. Dengan informasi ini, dataset siap digunakan untuk melatih model klasifikasi yang dapat membantu dalam mengambil keputusan terkait pemberian keringanan UKT berdasarkan karakteristik mahasiswa dan kondisi keluarganya.
Explanatory Data Analysis
Exploratory Data Analysis (EDA) merupakan proses analisis data yang dilakukan untuk memahami karakteristik, pola, dan hubungan dalam data secara visual dan deskriptif. EDA bertujuan untuk mengidentifikasi struktur data, mendeteksi anomali, dan menemukan insight yang mungkin berguna untuk pengambilan keputusan.
pada studi kasus kali ini penulis mengunakan atribut Tempat Tinggal, Penghasilan Orang Tua, Jumlah Tanggungan Orang Tua, dan Kendaraan.
Splitting Dataset for Modelling Classification
Untuk membaca dataset dan memisahkan fitur (features) dan label (Kelayakan_Keringanan_UKT) menggunakan pandas. Hasil printout menunjukkan bahwa dimensi fitur (X) adalah (100, 4), yang berarti ada 100 baris dan 4 kolom dalam dataset. Kelas yang terdapat dalam label (y) adalah {0, 1}, yang menunjukkan bahwa ini adalah tugas klasifikasi biner di mana labelnya dapat berupa 0 atau 1.
import pandas as pd
data = pd.read_csv('dataset.csv')
X = data.drop('Kelayakan_Keringanan_UKT',axis=1)
y = data['Kelayakan_Keringanan_UKT']
print(f'Dimensi Feature: {X.shape}')
print(f'Class: {set(y)}')
// Dimensi Feature: (100, 4)
// Class: {0, 1}
Selanjutnya membagi data menjadi set pelatihan (X_train, y_train) dan set pengujian (X_test, y_test). Pemisahan ini dilakukan dengan proporsi data pengujian sebesar 30% dari total data, dan parameter random_state diatur ke 0 untuk memastikan reproduktibilitas (hasil yang sama setiap kali kode dijalankan).
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X,
y,
test_size=0.3,
random_state=0)
Machine Learning Implementation
Pada tahap ini kita melakukan training data dengan mengatur jumlah pohon keputusan (n_estimators) sebanyak 100 dan seed untuk random state (random_state) ke 0. Kemudian, melatih model tersebut menggunakan data pelatihan (X_train
dan y_train
) dengan menggunakan fungsi fit
.
Setelah model dilatih, model dapat digunakan untuk melakukan prediksi pada data pengujian atau data baru.
from sklearn.ensemble import RandomForestClassifier
model = RandomForestClassifier(n_estimators=100, random_state=0)
model.fit(X_train, y_train)
Model Evaluation
Selanjutnya mencetak laporan klasifikasi yang memberikan ringkasan dari beberapa metrik evaluasi berdasarkan hasil prediksi model pada data pengujian (y_test
) dan label sebenarnya (y_pred
).
from sklearn.metrics import classification_report, r2_score
y_pred = model.predict(X_test)
print(classification_report(y_test, y_pred))
Laporan ini mencakup informasi seperti akurasi, presisi, recall, dan nilai F1 untuk setiap kelas yang ada dalam label (0 dan 1, dalam kasus klasifikasi biner). Laporan ini sangat membantu untuk mendapatkan pemahaman yang lebih komprehensif tentang kinerja model.
precision recall f1-score support
0 1.00 0.91 0.95 11
1 0.95 1.00 0.97 19
accuracy 0.97 30
macro avg 0.97 0.95 0.96 30
weighted avg 0.97 0.97 0.97 30
Terakhir mengukur kemampuan kinerja dan akurasi model menggunakan fungsir2_score
. fungsi ini mengukur koefisien determinasi (R-squared) antara y_test
(label sebenarnya) dan y_pred
(hasil prediksi model). Koefisien determinasi adalah metrik evaluasi umum untuk mengevaluasi kinerja model regresi.
Nilai R-squared berkisar antara 0 dan 1, dan semakin mendekati 1, semakin baik modelnya dalam menjelaskan variasi dalam data. Dalam konteks klasifikasi biner, nilai R-squared mungkin tidak selalu menjadi metrik evaluasi yang paling informatif. Biasanya, metrik-metrik seperti akurasi, presisi, recall, dan F1 score lebih relevan untuk tugas klasifikasi.
r2_score(y_test, y_pred)
// 0.8564593301435406
Nilai R-squared sebesar 0.8564 menunjukkan bahwa model yang telah dilatih memiliki kemampuan yang baik dalam menjelaskan variasi dalam data pengujian.
Conclusion
Pengujian data ini menghasilkan model yang efektif dalam menentukan kelayakan keringanan UKT. Model Random Forest, yang terdiri dari 100 pohon keputusan, dilatih menggunakan berbagai faktor seperti tempat tinggal, penghasilan orang tua, jumlah tanggungan orang tua, dan kepemilikan kendaraan sebagai fitur. Hasil evaluasi kinerja model pada data pengujian menunjukkan akurasi, presisi, dan recall yang baik. Selain itu, nilai R-squared sebesar 0.8564 menandakan bahwa model berhasil menjelaskan sekitar 85.64% variasi dalam kelayakan keringanan UKT pada data pengujian.
Keberhasilan ini memberikan kontribusi positif terhadap efisiensi pengambilan keputusan, mengurangi subjektivitas, dan memberikan prediksi yang lebih akurat kepada mahasiswa. Meskipun demikian, penting untuk tetap memperhatikan aspek-aspek seperti praproses data dan interpretasi fitur agar kesimpulan yang diambil dapat bermanfaat dalam konteks penentuan kelayakan keringanan UKT.
Keseluruhan, dari studi kasus ini menggambarkan potensi Random Forest sebagai alat yang efektif dalam mendukung proses pengambilan keputusan terkait dengan kelayakan keringanan UKT di lingkungan pendidikan tinggi.
Referensi :
SKLearn 16 | Random Forest Classification | Hutan Acak | Belajar Machine Learning Dasar
Cara kerja Algoritma Random Forest
Data Klasifikasi UKT Mahasiswa
Penulis :
Aristo Caesar Pratama | E41211739
Muhammad Slamet Daroini | E41211674
Elisa Christian Alfrido Mantolas | E41212285
Sulthon Muhtarom Putra Abadi | E41212243