sumber : https://www.techfor.id/konsep-supervised-learning-dalam-membangun-model-machine-learning/
Apa Itu Supervised Learning (Klasifikasi)?
Supervised Learning adalah metode dalam machine learning di mana model dilatih menggunakan data yang sudah diberi label. Data yang dilabeli ini terdiri dari fitur-fitur input dan output yang diketahui. Model belajar dari data ini untuk memprediksi output yang benar ketika diberikan data baru.
Klasifikasi adalah jenis supervised learning di mana output yang diprediksi adalah kategori atau kelas. Misalnya, klasifikasi dapat digunakan untuk mengidentifikasi apakah email adalah spam atau bukan, atau untuk mengenali digit tulisan tangan.
Algoritma Klasifikasi dalam Supervised Learning
Berikut adalah penjelasan dari 30 algoritma klasifikasi yang umum digunakan dalam supervised learning:
Logistic Regression
Deskripsi: Algoritma ini digunakan untuk memprediksi probabilitas kejadian suatu peristiwa dengan fungsi logit. Meskipun disebut regresi, ia digunakan untuk tugas klasifikasi biner.
K-Nearest Neighbors (KNN)
Deskripsi: Algoritma ini mengklasifikasikan data berdasarkan kategori mayoritas dari K tetangga terdekatnya dalam ruang fitur. Contohnya klasifikasi gambar wajah menjadi kategori yang berbeda.
Support Vector Machine (SVM)
Deskripsi: Algoritma ini mencari hyperplane terbaik yang memisahkan data dari dua kelas dalam ruang fitur berdimensi tinggi.
Naive Bayes
Deskripsi: Algoritma probabilistik ini mengasumsikan independensi antar fitur dan menghitung probabilitas berdasarkan Teorema Bayes. Contohnya klasifikasi teks, seperti analisis sentimen.
Decision Tree
Deskripsi: Algoritma ini menggunakan struktur pohon untuk membuat keputusan berdasarkan fitur input, membagi data pada setiap simpul internal.
Random Forest
Deskripsi: Algoritma ini menggunakan banyak pohon keputusan (decision trees) dan menggabungkan hasilnya untuk meningkatkan akurasi dan mengurangi overfitting. Contohnya klasifikasi jenis penyakit berdasarkan gejala.
Gradient Boosting Machines (GBM)
Deskripsi: Algoritma ini membangun model prediktif secara bertahap dengan menggabungkan banyak model lemah (weak models), biasanya pohon keputusan.
XGBoost
Deskripsi: Implementasi efisien dari algoritma gradient boosting yang dioptimalkan untuk kecepatan dan performa.
AdaBoost
Deskripsi: Algoritma boosting yang menambahkan model lemah secara berurutan dan memberi bobot lebih pada kesalahan prediksi sebelumnya. Contohnya klasifikasi risiko kredit.
CatBoost
Deskripsi: Algoritma gradient boosting yang dioptimalkan untuk menangani data kategori dan missing values.
LightGBM
Deskripsi: Implementasi gradient boosting yang dirancang untuk kecepatan dan efisiensi, terutama pada dataset besar.
Linear Discriminant Analysis (LDA)
Deskripsi: Algoritma ini mencari kombinasi linear dari fitur yang memisahkan dua atau lebih kelas. Contohnya klasifikasi gambar dalam pengenalan wajah.
Quadratic Discriminant Analysis (QDA)
Deskripsi: Mirip dengan LDA, tetapi mengasumsikan distribusi Gaussian yang berbeda untuk setiap kelas. Contohnya klasifikasi jenis bunga dalam dataset iris.
Stochastic Gradient Descent (SGD) Classifier
Deskripsi: Algoritma ini mengoptimalkan model menggunakan pendekatan gradient descent secara bertahap dan acak. Contohnya klasifikasi teks dalam pengolahan bahasa alami.
Perceptron
Deskripsi: Algoritma dasar dari jaringan saraf yang digunakan untuk klasifikasi biner.
Multi-Layer Perceptron (MLP)
Deskripsi: Jaringan saraf tiruan dengan satu atau lebih lapisan tersembunyi yang digunakan untuk klasifikasi. Contohnya pengenalan karakter tulisan tangan.
Convolutional Neural Network (CNN)
Deskripsi: Jaringan saraf yang dioptimalkan untuk pengenalan gambar dengan menggunakan operasi konvolusi.
Recurrent Neural Network (RNN)
Deskripsi: Jaringan saraf yang digunakan untuk data berurutan dengan mempertimbangkan konteks sebelumnya.
Long Short-Term Memory (LSTM)
Deskripsi: Jenis RNN yang mengatasi masalah pelatihan pada urutan panjang dengan mekanisme memori khusus.
Gated Recurrent Unit (GRU)
Deskripsi: Varian RNN yang lebih sederhana dibandingkan LSTM namun tetap efektif untuk data sekuensial.
Extreme Learning Machine (ELM)
Deskripsi: Algoritma jaringan saraf dengan pelatihan cepat yang mengacak bobot lapisan tersembunyi. Contohnya klasifikasi data medis.
Radial Basis Function (RBF) Network
Deskripsi: Jaringan saraf dengan fungsi aktivasi berbasis jarak yang digunakan untuk klasifikasi. Contohnya pengenalan pola dalam sinyal biologis.
Bayesian Network
Deskripsi: Model graf probabilistik yang mewakili sekumpulan variabel acak dan ketergantungannya.
Hidden Markov Model (HMM)
Deskripsi: Model statistik untuk data urutan yang menggambarkan sistem yang berubah-ubah dengan keadaan tersembunyi. Contohnya pengenalan ucapan.
Voting Classifier
Deskripsi: Kombinasi dari beberapa algoritma klasifikasi yang menggabungkan prediksi mereka dengan voting mayoritas. Untuk Meningkatkan akurasi klasifikasi teks.
Bagging Classifier
Deskripsi: Teknik ensemble yang menggabungkan hasil dari beberapa model yang dilatih dengan subset data yang berbeda. Contohnya Klasifikasi risiko finansial.
Stacking Classifier
Deskripsi: Algoritma ensemble yang menggabungkan prediksi dari beberapa model dasar melalui model meta.
Gaussian Naive Bayes
Deskripsi: Varian Naive Bayes yang mengasumsikan bahwa fitur mengikuti distribusi Gaussian.
Bernoulli Naive Bayes
Deskripsi: Varian Naive Bayes yang digunakan untuk data biner.
Multinomial Naive Bayes
Deskripsi: Varian Naive Bayes yang digunakan untuk data dengan jumlah kejadian fitur. Contohnya klasifikasi dokumen dalam analisis teks.
Masing-masing algoritma ini memiliki kelebihan dan kekurangan tersendiri serta cocok untuk berbagai jenis data dan masalah klasifikasi. Pemilihan algoritma yang tepat sangat bergantung pada karakteristik data dan tujuan analisis.
**Supervised Learning** adalah teknik dalam machine learning di mana model dilatih menggunakan data yang sudah diberi label. Data ini terdiri dari fitur input dan output yang diketahui. Model belajar dari data ini untuk memprediksi output yang benar ketika diberikan data baru.
**Prediksi** dalam konteks supervised learning biasanya mengacu pada tugas regresi, di mana output yang diprediksi adalah nilai kontinu. Misalnya, prediksi harga rumah berdasarkan fitur-fitur seperti ukuran, lokasi, dan kondisi rumah.
### Algoritma Prediksi dalam Supervised Learning
Berikut adalah penjelasan dari 30 algoritma prediksi yang umum digunakan dalam supervised learning:
1. **Linear Regression**
- **Deskripsi:** Algoritma ini mencari garis terbaik yang meminimalkan jumlah kuadrat kesalahan antara prediksi dan nilai aktual. Cocok untuk hubungan linier antara variabel input dan output.
- **Contoh:** Memprediksi harga rumah berdasarkan ukuran dan lokasi.
2. **Ridge Regression**
- **Deskripsi:** Varian dari linear regression yang menambahkan regularisasi L2 untuk mencegah overfitting dengan mengurangi bobot koefisien yang besar.
- **Contoh:** Memprediksi pengeluaran bulanan rumah tangga berdasarkan pendapatan dan jumlah anggota keluarga.
3. **Lasso Regression**
- **Deskripsi:** Varian dari linear regression yang menambahkan regularisasi L1 untuk mencegah overfitting dengan mengurangi beberapa koefisien menjadi nol, sehingga juga melakukan feature selection.
- **Contoh:** Memprediksi nilai properti berdasarkan berbagai fitur seperti ukuran, jumlah kamar, dan lokasi.
4. **Elastic Net**
- **Deskripsi:** Kombinasi dari Ridge dan Lasso regression yang menambahkan regularisasi L1 dan L2. Digunakan ketika terdapat banyak fitur yang berkorelasi.
- **Contoh:** Memprediksi performa saham berdasarkan berbagai indikator pasar.
5. **Polynomial Regression**
- **Deskripsi:** Memperluas model linear regression untuk menangkap hubungan non-linier antara variabel input dan output dengan menambahkan polinomial dari fitur.
- **Contoh:** Memprediksi pertumbuhan populasi berdasarkan data historis.
6. **Support Vector Regression (SVR)**
- **Deskripsi:** Versi regresi dari Support Vector Machine yang mencoba menemukan hyperplane terbaik yang memprediksi nilai kontinual.
- **Contoh:** Memprediksi harga komoditas seperti minyak atau emas.
7. **Decision Tree Regression**
- **Deskripsi:** Algoritma ini membagi data ke dalam beberapa simpul berdasarkan fitur yang memberikan informasi paling banyak, dan memberikan prediksi berdasarkan nilai rata-rata di simpul daun.
- **Contoh:** Memprediksi harga mobil bekas berdasarkan fitur seperti usia, jarak tempuh, dan kondisi.
8. **Random Forest Regression**
- **Deskripsi:** Algoritma ensemble yang menggabungkan beberapa pohon keputusan (decision trees) dan menggabungkan prediksi mereka untuk meningkatkan akurasi.
- **Contoh:** Memprediksi hasil panen pertanian berdasarkan data cuaca dan kondisi tanah.
9. **Gradient Boosting Regression**
- **Deskripsi:** Algoritma ensemble yang membangun model secara bertahap, di mana setiap model baru mengoreksi kesalahan dari model sebelumnya.
- **Contoh:** Memprediksi harga tiket pesawat berdasarkan berbagai fitur seperti musim, destinasi, dan waktu pemesanan.
10. **XGBoost Regression**
- **Deskripsi:** Implementasi efisien dari gradient boosting yang dioptimalkan untuk kecepatan dan performa.
- **Contoh:** Memprediksi harga jual rumah untuk kompetisi data science.
11. **AdaBoost Regression**
- **Deskripsi:** Algoritma boosting yang menambahkan model lemah secara berurutan dan memberi bobot lebih pada kesalahan prediksi sebelumnya.
- **Contoh:** Memprediksi biaya asuransi berdasarkan data pelanggan.
12. **LightGBM Regression**
- **Deskripsi:** Implementasi gradient boosting yang dirancang untuk kecepatan dan efisiensi, terutama pada dataset besar.
- **Contoh:** Memprediksi nilai properti berdasarkan berbagai fitur demografis.
13. **CatBoost Regression**
- **Deskripsi:** Algoritma gradient boosting yang dioptimalkan untuk menangani data kategori dan missing values.
- **Contoh:** Memprediksi perilaku pelanggan untuk memutuskan tingkat bunga pinjaman.
14. **K-Nearest Neighbors (KNN) Regression**
- **Deskripsi:** Algoritma non-parametrik yang memprediksi nilai berdasarkan rata-rata nilai dari K tetangga terdekat dalam ruang fitur.
- **Contoh:** Memprediksi suhu udara berdasarkan data historis dari tetangga terdekat.
15. **Bayesian Ridge Regression**
- **Deskripsi:** Varian dari ridge regression yang menggunakan pendekatan probabilistik untuk menentukan distribusi parameter model.
- **Contoh:** Memprediksi tingkat penjualan produk berdasarkan data historis penjualan.
16. **Huber Regression**
- **Deskripsi:** Kombinasi antara regresi linear dan regresi robust yang mengurangi pengaruh outliers dengan menggunakan fungsi loss Huber.
- **Contoh:** Memprediksi pendapatan individu berdasarkan tingkat pendidikan dan pengalaman kerja.
17. **Quantile Regression**
- **Deskripsi:** Algoritma yang memprediksi kuantil dari distribusi target, memungkinkan untuk model yang lebih tahan terhadap outliers.
- **Contoh:** Memprediksi distribusi pendapatan rumah tangga berdasarkan demografi.
18. **Principal Component Regression (PCR)**
- **Deskripsi:** Menggabungkan analisis komponen utama (PCA) dan regresi linear untuk menangani multikolinearitas dalam dataset dengan banyak fitur.
- **Contoh:** Memprediksi konsumsi energi berdasarkan berbagai variabel lingkungan.
19. **Partial Least Squares Regression (PLSR)**
- **Deskripsi:** Algoritma yang mengurangi dimensi data dan membangun model regresi dengan mempertimbangkan kovarians antara fitur dan target.
- **Contoh:** Memprediksi hasil produksi pabrik berdasarkan variabel proses industri.
- **Deskripsi:** Algoritma yang mengoptimalkan model menggunakan pendekatan gradient descent secara bertahap dan acak, cocok untuk dataset besar.
- **Contoh:** Memprediksi harga saham berdasarkan data historis dan fitur teknis.
21. **Neural Network Regression**
- **Deskripsi:** Jaringan saraf tiruan yang digunakan untuk memprediksi nilai kontinu dengan menggunakan lapisan tersembunyi untuk menangkap pola kompleks dalam data.
- **Contoh:** Memprediksi harga properti berdasarkan berbagai fitur.
- **Deskripsi:** Versi regresi dari CNN yang dioptimalkan untuk data spasial atau gambar, menggunakan operasi konvolusi untuk menangkap fitur.
- **Contoh:** Memprediksi harga real estat berdasarkan citra udara.
23. **Recurrent Neural Network (RNN) Regression**
- **Deskripsi:** Jaringan saraf yang digunakan untuk data urut, seperti time series, dengan mempertimbangkan konteks sebelumnya dalam prediksi.
- **Contoh:** Memprediksi harga saham berdasarkan urutan data historis.
24. **Long Short-Term Memory (LSTM) Regression**
- **Deskripsi:** Jenis RNN yang mengatasi masalah pelatihan pada urutan panjang dengan mekanisme memori khusus.
- **Contoh:** Memprediksi permintaan energi berdasarkan data historis.
25. **Gated Recurrent Unit (GRU) Regression**
- **Deskripsi:** Varian RNN yang lebih sederhana dibandingkan LSTM namun tetap efektif untuk data sekuensial.
- **Contoh:** Memprediksi lalu lintas jalan raya berdasarkan data historis dan pola waktu.
26. **Gaussian Process Regression (GPR)**
- **Deskripsi:** Algoritma non-parametrik yang mengasumsikan distribusi Gaussian pada data dan memberikan prediksi dengan estimasi ketidakpastian.
- **Contoh:** Memprediksi deformasi tanah berdasarkan data geoteknik.
27. **Support Vector Regression (SVR) with Radial Basis Function (RBF) Kernel**
- **Deskripsi:** Varian dari SVR yang menggunakan kernel RBF untuk menangkap hubungan non-linier antara variabel input dan output.
- **Contoh:** Memprediksi harga kripto berdasarkan indikator teknis.
28. **Elastic Net Regression**
- **Deskripsi:** Kombinasi dari Ridge dan Lasso Regression yang menggunakan regularisasi L1 dan L2 untuk menangani multikolinearitas dan melakukan feature selection.
- **Contoh:** Memprediksi kinerja akademik siswa berdasarkan berbagai fitur demografi dan pendidikan.
29. **Orthogonal Matching Pursuit (OMP)**
- **Deskripsi:** Algoritma regresi yang memilih subset fitur yang memberikan kontribusi terbesar terhadap prediksi, mengurangi kompleksitas model.
- **Contoh:** Memprediksi permintaan pasar berdasarkan berbagai indikator ekonomi.
- **Deskripsi:** Varian dari Bayesian Ridge Regression yang menentukan relevansi setiap fitur secara otomatis, mengurangi bobot fitur yang kurang penting.
- **Contoh:** Memprediksi tingkat inflasi berdasarkan berbagai variabel ekonomi.
Setiap algoritma memiliki kekuatan dan kelemahan serta cocok untuk jenis data dan masalah
Berdasarkan
Gambar 1, load data menunjukkan,proses pertama yang
dilakukan adalah memuat data dari dua file CSV, yaitu data transkip.csv dan
lulusan.csv, menggunakan fungsi load_data_from_csv. Fungsi ini mencoba
membaca file menggunakan pd.read_csv(). Jumlah data berhasil dimuat dari
transkip.csv sebanyak 256299 dan lulusan.csv sebanyak 4542 data.
1.1Tipe Data
Gambar 2. Tipe Data Transkrip dan Lulusan
Berdasarkan
Gambar 2, tipe data transkrip dan lulusan menunjukkan, data transkrip memiliki kolom seperti id, nim,
kode_mk, nama_mk, nama_mk_indo, nama_mk_ing, nilai_grade, nilai_total,
semester, sks_mk, dan grade. Kolom-kolom ini memiliki tipe data mulai dari
bilangan bulat (int64), bilangan desimal (float64), hingga teks (object).
Selanjutnya, Data lulusan memiliki kolom seperti nim, prodi, predikat,
tanggal_lulus, tgl_masuk, jenis_kelamin, status_masuk, tahun_lahir, dan
status_pegawai. Kolom-kolom ini juga memiliki tipe data bilangan bulat (int64)
dan teks (object).
2.Data
Cleaning
2.1 Mengecek Missing Values Pada Data Trankrip
Gambar 3. Mengecek Missing Values Pada Data Transkrip
Berdasarkan
Gambar 3 diatas, dilakukan pengecekan terhadap nilai yang hilang pada data
transkrip dengan melakukan pengecekan nilai kosong pada setiap kolom DataFrame
dengan metode isnull().sum(), yang bertujuan untuk menghitung jumlah
nilai kosong di setiap kolom. Hasilnya
menunjukkan beberapa nama kolom pada DataFrame beserta jumlah nilai yang hilang
di setiap kolom. Kolom-kolom dengan nilai yang hilang adalah kode_mk, nama_mk,
dan nama_mk_ing yang masing-masing memiliki 6 nilai yang hilang serta
nama_mk_indo yang memiliki 1 nilai yang hilang.
2.1Penanganan
Missing Values Pada Data Trankrip
Gambar 4. Penangganan Missing Values Pada Data Trankrip
Pada
Gambar 4, dilakukan penangganan missing values dengan melakukan operasi dropna()
untuk menghapus baris yang memiliki nilai kosong atau missing values. Selanjutnya,
melakukan pengecekan setelah melakukan pembersihan pada setiap kolom DataFrame
dengan metode isnull().sum(), yang bertujuan untuk menghitung jumlah
nilai kosong di setiap kolom. Hasil pengecekan ini kemudian dicetak,
menunjukkan daftar kolom DataFrame Semua kolom yang terdaftar memiliki jumlah
0, menunjukkan bahwa tidak ada nilai kosong di kolom mana pun setelah operasi dropna()
dilakukan.Mengecek Missing Values Pada Data Trankrip
2.2Mengecek
Missing Values Pada Data Lulusan
Gambar 5. Mengecek Missing Values Pada Data Lulusan
Berdasarkan
Gambar 5 diatas, dilakukan pengecekan terhadap nilai yang hilang pada data
transkrip dengan melakukan pengecekan nilai kosong pada setiap kolom DataFrame
dengan metode isnull().sum(), yang bertujuan untuk menghitung jumlah
nilai kosong di setiap kolom.Hasilnya
menunjukkan semua kolom bernilai 0 yang artinya tidak missing values pada data
lulusan.
2.3Mengecek
Data Duplikat Trankrip dan Lulusan
Gambar 6. Mengecek Duplikat Pada Data Trankrip dan Lulusan
Berdasarkan Gambar 6, dilakukan
pengecekan data duplikat pada dua DataFrame, yaitu df_transkrip dan df_lulusan.
Hasilnya tidak ditemukan satupun data yang memiliki duplikasi pada
kedua DataFrame df_trankrip dan df_lulusan.
2.4Deteksi Nilai Yang Tidak Wajar
Atau Noise Pada df_transkrip
Gambar 7. Deteksi Noise Pada Data Transkrip
Berdasarkan
Gambar 7 menunjukkan, proses mengidentifikasi nilai yang tidak wajar atau noise
pada data tersebut. Pertama, melakukan pemeriksaan apakah nilai total berada
dalam rentang yang valid (0-100) dan mencatat nilai-nilai yang tidak sesuai.
Kedua, memverifikasi apakah nilai grade sesuai dengan format yang diharapkan (misal
nya 'A', 'A-', 'B+', 'B', 'B-', 'C+', 'C', 'C-', 'D+', 'D', 'D-', 'E+', 'E',
'E-') dan mencatat nilai-nilai grade yang tidak sesuai. Terakhir, menggunakan
visualisasi boxplot untuk mendeteksi outlier pada nilai grade dan nilai total
yang disajikan pada Gambar 8 dibawah ini.
Gambar 8. Boxplot Mengidentifikasi Nilai Yang Tidak Wajar Atau Noise
Pada
Gambar 8, Pada tahap ini, dilakukan analisis deteksi nilai tidak wajar pada
dataframe `df_transkrip` dengan menggunakan visualisasi boxplot. Pertama, data
mahasiswa difilter untuk mengecek keberadaan nilai tidak wajar atau outliers
dalam kolom `nilai_grade` dan `nilai_total`. Hasilnya, visualisasi boxplot
menunjukkan distribusi nilai-nilai tersebut, dimana nilai yang berada diluar
batas garis lower dianggap sebagai outliers. Boxplot pertama menggambarkan
distribusi `nilai_grade` dengan beberapa nilai outlier dibawah 2.6, sementara
boxplot kedua menunjukkan distribusi `nilai_total` dengan banyak outlier yang
berada di bawah 70. Identifikasi outliers ini penting untuk memastikan
integritas dan keakuratan data transkrip. Pada kedua boxplot ini memiliki
perbedaan dalam perbersihan data, pada nilai_grade akan dilakukan menanganan
pembersihan data. Berbeda dengan nilai_total yang terlihat memiliki banyak
outlier, Jika, melakukan penangganan-nya sama dengan nilai grade maka akan
mempengaruhi pada tahap selanjutnya. Pada penangganan nilai_total dapat dilihat
pada Gambar 9.
2.5Filter
Data Untuk nilai_total Dalam Rentang 40-60
Gambar 9 Filter Data nilai_total Rentang 40-60
Berdasarkan
Gambar 9, proses memfilter data pada kolom nilai_total dari DataFrame
df_transkrip untuk mendapatkan nilai yang berada dalam rentang 40 hingga 60.
Hasil filter ini disimpan dalam variabel nilai_total_40_60. Selanjutnya, menghitung
jumlah baris data yang memenuhi kriteria tersebut dan menyimpannya dalam
variabel jumlah_nilai_total_40_60. Terakhir, menampilkan hasil bahwa terdapat
2.576 baris data yang memiliki nilai total dalam rentang 40 hingga 60.
Sehingga, nilai_total tidak akan dilakukan pembersihan, karena nantinya akan
mempengaruhi pada proses modelling.
2.6
Penangganan Outlier Dengan Metode IQR (Interquartile Range)
Gambar 10 Penangganan Outlier Dengan Metode IQR
Pada
Gambar 10 diatas, dilakukan penanggan outlier pada nilai_grade menggunakan
metode IQR (Interquartile Range). Dengan, menghitung kuartil pertama (Q1) dan
kuartil ketiga (Q3), lalu menentukan batas bawah dan atas untuk mendeteksi
outliers. Data yang berada diluar rentang ini dihapus dari DataFrame.Tujuan
dilakukan penanganan outlier pada nilai_grade adalah karena jumlah data
outliernya hanya sebanyak 3 baris, sehingga memungkinkan untuk diatasi dengan
metode IQR (Interquartile Range). Sedangkan pada nilai_total, jumlah data
outlier mencapai 2.576 baris, sehingga penanganan outlier menggunakan metode
IQR tidak dilakukan pada nilai_total. Pada Gambar 11 dibawah, merupakan hasil
dari penanganan outlier dengan metode IQR pada nilai_grade.
Gambar 11. Boxplot Hasil Penanggan Outlier Menggunakan Metode IQR
Berdasarkan
Gambar 11, visualisasi boxplot menunjukkan hasil penanganan outlier menggunakan
metode IQR (Interquartile Range). Hasil ini menunjukkan bahwa data nilai_grade
telah bersih dari data noise, dengan outliers yang telah diidentifikasi dan
ditangani sesuai dengan batasan IQR.
2.6Deteksi Nilai Yang Tidak
Wajar Atau Noise Pada df_lulusan
Gambar 12 Deteksi Nilai Yang Tidak Wajar Atau Noise pada df_lulusan
Berdasarkan
Gambar 12 menunjukkan, proses mencari nilai yang tidak wajar atau noise pada
data lulusan. Memeriksa apakah tahun lahir berada dalam rentang yang valid yaitu
lahir kurang dari 1950 atau lebih dari tahun lahir 2010 dan mencetak data yang
tidak sesuai. Selanjutnya, menggunakan visualisasi boxplot untuk mendeteksi
outliers pada kolom tahun lahir yang disajikan pada Gambar 13.
Gambar 13 Indentifikasi Nilai Tidak Wajar Atau Noise df_lulusan
Berdasarkan Gambar 13, visualisasi menunjukkan identifikasi nilai yang
tidak wajar atau noise pada data lulusan. Hasilnya, ditemukan bahwa terdapat
tahun lahir yang bernilai 0 pada dataframe df_lulusan, yang mengindikasikan
adanya noise pada kolom tahun_lahir. Selanjutnya, penanganan data noise ini
disajikan pada Gambar 14.
Gambar 14. Penangganan Data Noise
Berdasarkan
Gambar 14 menunjukkan, penangganan data noise dengan melakukan penghapusan pada
kolom tahun_lahir yang bernilai 0. Selanjutnya visualisasi boxplot yang ada
pada gambar 14 menujukkan tahun lahir pada tahun lahir 1960 sampai 2000 an.
Dilakukan analisis apakah boxplot tersebut akan dibersihkan atau tidak karena
terdapat data outlier. Hasilnya data tersebut tidak mengalami pembersihan
karena pada studi kasus ini umur bukanlah patokan di universitas swasta.
2.7 Deteksi Nilai Tidak
Wajar Atau Noise Pada Kolom Status_Pegawai
Gambar 15. Identifikasi Data Noise Pada Status_Pegawai
Berdasarkan
Gambar 15, identifikasi data noise pada kolom status_pegawai dilakukan dengan
menghapus nilai selain 0 dan 1. Kemudian, dilakukan perhitungan frekuensi nilai
pada kolom status_pegawai untuk menentukan jumlah mahasiswa yang bekerja, tidak
bekerja, dan nilai yang tidak valid. Analisis dilakukan untuk memutuskan apakah
bar chart tersebut perlu dibersihkan atau tidak karena adanya data noise.
Hasilnya, data tersebut dibersihkan karena dalam studi kasus ini,
status_pegawai adalah nilai krusial yang perlu ditransformasi.
3.Data Transformation
3.1Konversi Kolom Tanggal
Gambar 16. Konversi Kolom Tanggal
Gambar 16 menunjukkan
proses pengubahan format standar tanggal pada kolom tanggal lulus dan tanggal
masuk. Tahap ini dilakukan untuk memastikan konsistensi dan kemudahan analisis
data pada kedua kolom tersebut.
3.2 Menghitung
Lama Studi Setiap Mahasiswa dalam Tahun dan Bulan
Gambar 17. Menghitung Lama Studi Setiap Mahasiswa dalam Tahun dan
Bulan
Gambar 17 menunjukkan
perhitungan lama studi mahasiswa menggunakan atribut tanggal masuk dan tanggal
lulus. Tahap ini dilakukan untuk mengelompokkan mahasiswa yang lulus tepat
waktu atau tidak, dengan membandingkan durasi studi mereka terhadap batas waktu
kurang dari 5 tahun.
3.3 Menghitung Nilai IPS
Setiap Semester Untuk Setiap Mahasiswa
Gambar 18. Menghitung Nilai IPS Setiap Semester Untuk Setiap
Mahasiswa
Pada Gambar 18,
ditunjukkan perhitungan nilai Indeks Prestasi Semester (IPS) untuk setiap
mahasiswa. Perhitungan ini dilakukan dengan cara mengalikan atribut nilai_grade
dengan sks_mk, kemudian hasilnya dibagi dengan total sks_mk yang diambil oleh
mahasiswa tersebut. Analisis ini dilakukan untuk mengetahui kinerja mahasiswa
terhadap mata kuliah yang diampu selama satu semester. Tujuannya adalah untuk
memprediksi kelulusan mahasiswa tepat waktu.
3.3 Standarisasi jenis
kelamin, tanggal lulus dan prodi
Gambar 19 Standarisasi Jenis Kelamin, Tanggal Lulus, dan Prodi
Pada Gambar 19,
standarisasi diterapkan pada kolom jenis_kelamin, tanggal_lulus, dan prodi.
Tujuan dari standarisasi ini adalah untuk membuat data lebih mudah dibaca dan dipahami
oleh publik. Dengan standarisasi, informasi yang ditampilkan menjadi lebih
konsisten dan seragam, sehingga mempermudah analisis dan interpretasi data oleh
berbagai pihak yang memerlukannya. Standarisasi juga berperan dalam mengurangi
risiko kesalahan interpretasi yang bisa terjadi akibat variasi format data yang
tidak konsisten.
3.4 Menghitung IPK untuk
setiap mahasiswa dari semester 1 sampai 8
Gambar 20 Menghitung IPK Untuk Setiap Mahasiswa
Pada Gambar 20,
perhitungan Indeks Prestasi Kumulatif (IPK) untuk setiap mahasiswa dilakukan
dengan merata-ratakan nilai IPS dari semester satu hingga semester delapan.
Tujuan dari analisis ini adalah untuk memberikan gambaran menyeluruh tentang
kinerja akademik mahasiswa selama masa studi mereka. Mengetahui IPK
memungkinkan pihak akademik untuk mengevaluasi konsistensi dan perkembangan
akademis mahasiswa, serta memberikan bimbingan yang diperlukan agar mahasiswa
dapat lulus tepat waktu.
Gambar 21 Hasil Penghitungan IPK Mahasiswa
Pada
Gambar 21 terlihat hasil perhitungan IPK mahasiswa dari semester satu hingga
delapan, dengan rata-rata nilai IPK sebesar 3.5 dan predikat kelulusan adalah
"Pujian." Sebagian besar mahasiswa berhasil menyelesaikan studi tepat
waktu, dengan IPK yang cukup tinggi, yakni dikisaran 3.5 ke atas.
4.Data
Reduction
4.1Menghapus Kolom IPS SMT 0 dan IPS SMT 9
Gambar 22. Menghapus Kolom IPS 0 dan IPS SMT 9
Pada Gambar 22 menunjukkan tahapan menghapus kolom IPS
SMT 0 dan IPS SMT 9. Tujuan dari penghapusan kolom tersebut untuk memfokuskan
pada IPS SMT 1 - IPS 8, karena untuk IPS SMT 0 ini sebagai outlier yang harus
dipisahkan tidak digunakan untuk analisis selanjutnya sedangkan untuk semester
9 merupakan mahasiswa yang belum menyelesaikan masa studi nya. Untuk Hasil
penghapusan kolom IPS SMT 0 dan 9 disajikan pada Gambar 23.
Gambar 23. Hasil Penangganan Kolom IPS SMT 0 dan 9
Pada Gambar 23 menunjukkan hasil setelah melakukan penangganan
pada kolom IPS SMT 0 dan IPS SMT 9, terdapat 4526 baris data dan 20 kolom
setelah melakukan penghapusan Kolom IPS 0 dan 9.
4.2
Menghapus Mahasiswa Pindahan Bernilai 1 Pada Kolom Status_masuk
Gambar 24. Menghapus Mahasiswa Pindahan Pada Kolom Status_Masuk
Berdasarkan
Gambar 24, proses ini melanjutkan tahapan reduksi penghapusan kolom IPS SMT dan
IPS SMT 9. Pada tahap ini, dilakukan penanganan dengan menghapus mahasiswa
pindahan yang memiliki nilai 1. Tujuan dari tahapan ini adalah untuk
memfokuskan pada mahasiswa regular untuk analisis selanjutnya. Hasil dari tahap
penanganan ini, yaitu penghapusan mahasiswa pindahan, dapat dilihat pada Gambar
23 di bawah ini.
Gambar 25. Hasil Menghapus Mahasiswa Pindahan Pada Kolom Status_Masuk
Berdasarkan Gambar 25, hasil penanganan
menunjukkan penghapusan mahasiswa pindahan. Setelah melakukan penanganan ini,
jumlah datanya sebanyak 4519 baris dan 20 kolom.
4.3 4.3 Mengubah Type Data dan Seleksi Kolom
Yang Ditampilkan
Gambar 26. Mengubah Type Data dan Seleksi Kolom Yang Ditampilkan
Berdasarkan 26,menunjukkan Masalah
Seperti jenis kelamin yang berubah dari integer (misalnya, 1) menjadi float
(misalnya, 1.0) saat penggabungan (merge) data bisa terjadi karena perbedaan
tipe data antara dua dataframe yang digabungkan. Ketika pandas menggabungkan
dataframe, jika tipe data di kolom yang sama berbeda antara dua dataframe, tipe
data yang lebih umum (seperti float) digunakan untuk mengakomodasi semua nilai.
Untuk mengatasi masalah ini, kolom 'status_masuk', 'tahun_lahir', dan
'status_pegawai' dikonversi menjadi tipe data integer menggunakan metode astype.
Selanjutnya, kolom-kolom yang diinginkan untuk analisis dipilih dan disimpan
dalam variabel selected_columns, yang mencakup informasi seperti 'nim', nilai
IPS dari beberapa semester, 'prodi', 'predikat', 'tanggal_lulus', 'tgl_masuk',
'jenis_kelamin', 'tahun_lahir', 'status_pegawai', durasi kuliah, kelulusan
tepat waktu atau tidak, dan IPK.
Gambar 27. Hasil Mengubah Type Data dan Seleksi Kolom Yang
Ditampilkan
Berdasarkan Gambar 27, Hasil mengubah tipe data diubah
menjadi integer Kembali, karena pada saat melakukan merge antara tabel lulusan
dengan table transkrip terjadi perubahan tipe data yang otomatis dilakukan oleh
library pandas dan menyeleksi kolom. Selanjutnya, menyeleksi kolom yang akan
ditampilkan untuk tahap selanjutnya. Pada kolom status_masuk tidak ditampilkan
lagi, karena semua data yang ditampilkan hanya yang merupakan status_masuk yang
bernilai 0. Jumlah baris Dataframe yang ditampilkan sebanyak 4519 dan terdapat
19 kolom.
4.3 4.3 Memeriksa Baris Data
Gambar 28.Memeriksa Baris Data
Berdasarkan
Gambar 28, dilakukan validasi jumlah baris data setelah tahapan reduksi,
seperti penghapusan kolom IPS SMT 0 serta IPS SMT 9, dan penanganan dengan menghilangkan
mahasiswa pindahan. Jumlah data setelah tahapan reduksi ini adalah sebanyak
4519 baris data yang siap untuk tahapan selanjutnya.
Selamat Datang Di Blog Ini, Semoga Bermanfaat buat kita semua. Blog ini berisi tentang mengenai pembelajaran, terbagi menjadi beberapa part/postingan. Selamat Menikmati
TENTANG SAYA
Nama Saya Adalah Rigger Damaiarta T. Program Studi Teknik Informatika
Saya Adalah Mahasiswa Universitas Buana Perjuangan