Pre-Processing
- Data Cleaning
Data Cleaning adalah proses mengidentifikasi dan mengoreksi (atau menghapus) data yang korup, tidak akurat, atau tidak relevan dari dataset. Langkah-langkah umum dalam data cleaning meliputi:
- Mengecek nilai yang hilang (missing values)
- Menangani duplikasi data
- Memperbaiki tipe data yang salah
Contoh kode untuk Data Cleaning :
1. Mengimpor Library Pandas
import pandas as pd
- Tujuan: Mengimpor library Pandas yang digunakan untuk manipulasi data dan analisis data dalam bentuk data frame.
2. Membaca Data dari File CSV
data = pd.read_csv('data_lulusan.csv')
- Tujuan: Membaca data dari file CSV bernama 'data_lulusan.csv' dan menyimpannya dalam sebuah DataFrame bernama
data
.
3. Mengecek Missing Values
print("Missing values per column:\n", data.isnull().sum())
- Tujuan: Mengecek jumlah nilai yang hilang (missing values) dalam setiap kolom di DataFrame.
- Keterangan:
data.isnull().sum()
menghitung jumlah nilaiNaN
di setiap kolom, dan hasilnya dicetak ke layar.
4. Menghapus Baris dengan Nilai yang Hilang
data_cleaned = data.dropna()
- Tujuan: Menghapus semua baris yang memiliki nilai hilang (missing values) dari DataFrame.
- Keterangan:
data.dropna()
mengembalikan DataFrame baru tanpa baris yang memiliki nilaiNaN
.
5. Menghapus Duplikasi Data
data_cleaned = data_cleaned.drop_duplicates()
- Tujuan: Menghapus baris yang duplikat dari DataFrame.
- Keterangan:
data_cleaned.drop_duplicates()
mengembalikan DataFrame baru tanpa baris yang duplikat.
6. Mengubah Tipe Data yang Salah
data_cleaned['IPK'] = data_cleaned['IPK'].astype(float)
- Tujuan: Mengubah tipe data kolom 'IPK' menjadi tipe data float.
- Keterangan:
astype(float)
mengkonversi nilai dalam kolom 'IPK' ke tipe data float. Hal ini penting untuk memastikan bahwa semua data dalam kolom 'IPK' adalah numerik dan dapat digunakan dalam perhitungan statistik.
7. Menampilkan Informasi Data Setelah Cleaning
print(data_cleaned.info())
- Tujuan: Menampilkan informasi ringkas tentang DataFrame setelah proses pembersihan data selesai.
- Keterangan:
data_cleaned.info()
memberikan informasi tentang jumlah total baris, kolom, tipe data setiap kolom, dan jumlah nilai non-null dalam setiap kolom. Ini membantu memverifikasi bahwa data telah dibersihkan dengan benar.
- Data Transformation
Data Transformation adalah proses mengubah data ke format yang lebih tepat atau lebih bermanfaat untuk analisis. Langkah-langkah umum dalam data transformation meliputi:
- Menambahkan kolom baru berdasarkan kolom yang ada
- Mengubah skala data (misalnya normalisasi)
- Menentukan status kelulusan lulusan tepat waktu atau tidak
Contoh kode untuk Data Transformation :
1. Menambahkan Kolom Baru 'Kelulusan_Tepat_Waktu'
data_cleaned['Kelulusan_Tepat_Waktu'] = data_cleaned['Semester_Lulus'] <= 8
- Tujuan: Menambahkan kolom baru yang menunjukkan apakah seorang mahasiswa lulus tepat waktu atau tidak.
- Keterangan:
data_cleaned['Semester_Lulus'] <= 8
adalah sebuah kondisi logika yang memeriksa apakah nilai dalam kolomSemester_Lulus
kurang dari atau sama dengan 8 (mengasumsikan kelulusan tepat waktu adalah 8 semester atau 4 tahun).- Hasil dari kondisi ini (True atau False) disimpan dalam kolom baru
Kelulusan_Tepat_Waktu
.
2. Menghitung IPK Rata-Rata Setiap Lulusan
data_cleaned['IPK_Rata_Rata'] = data_cleaned.groupby('NIM')['IPK'].transform('mean')
- Tujuan: Menghitung rata-rata IPK untuk setiap mahasiswa berdasarkan NIM (Nomor Induk Mahasiswa).
- Keterangan:
data_cleaned.groupby('NIM')['IPK']
mengelompokkan data berdasarkan kolomNIM
dan mengambil kolomIPK
.transform('mean')
menerapkan fungsi rata-rata pada setiap grup (setiap NIM).- Hasilnya adalah kolom baru
IPK_Rata_Rata
yang berisi nilai rata-rata IPK untuk setiap mahasiswa.
3. Normalisasi Kolom IPK
data_cleaned['IPK_Normalized'] = (data_cleaned['IPK'] - data_cleaned['IPK'].min()) / (data_cleaned['IPK'].max() - data_cleaned['IPK'].min())
- Tujuan: Normalisasi nilai IPK ke rentang 0 sampai 1.
- Keterangan:
data_cleaned['IPK'] - data_cleaned['IPK'].min()
mengurangi setiap nilai IPK dengan nilai IPK minimum dalam dataset.(data_cleaned['IPK'].max() - data_cleaned['IPK'].min())
menghitung rentang nilai IPK (selisih antara nilai maksimum dan minimum).- Hasil pembagian ini memberikan nilai IPK yang dinormalisasi ke dalam rentang 0 sampai 1, disimpan dalam kolom baru
IPK_Normalized
.
4. Menampilkan Hasil Data Transformation
print(data_cleaned.head())
- Tujuan: Menampilkan lima baris pertama dari DataFrame setelah proses transformasi.
- Keterangan:
data_cleaned.head()
menampilkan lima baris pertama dari DataFramedata_cleaned
.- Ini membantu untuk memverifikasi bahwa kolom baru telah ditambahkan dan transformasi telah diterapkan dengan benar.
- Data Reduction
Data Reduction adalah proses mengurangi volume data yang harus dianalisis dan diproses tanpa menghilangkan informasi penting. Langkah-langkah umum dalam data reduction meliputi:
- Menghapus kolom yang tidak relevan
- Menggabungkan beberapa kolom menjadi satu
Contoh kode untuk Data Reduction :
1. Menghapus Kolom yang Tidak Relevan
columns_to_drop = ['Alamat', 'No_Telepon'] # Contoh kolom yang mungkin tidak relevan
data_reduced = data_cleaned.drop(columns=columns_to_drop)
- Tujuan: Menghapus kolom-kolom yang dianggap tidak relevan untuk analisis atau modeling.
- Keterangan:
columns_to_drop
adalah sebuah list yang berisi nama-nama kolom yang ingin dihapus dari DataFrame.data_cleaned.drop(columns=columns_to_drop)
menghapus kolom-kolom yang ada di dalam listcolumns_to_drop
dari DataFramedata_cleaned
.- Hasilnya adalah DataFrame baru
data_reduced
yang tidak memiliki kolomAlamat
danNo_Telepon
.
2. Menggabungkan Beberapa Kolom
data_reduced['Nama_Lengkap'] = data_cleaned['Nama_Depan'] + ' ' + data_cleaned['Nama_Belakang']
- Tujuan: Menggabungkan beberapa kolom menjadi satu kolom baru.
- Keterangan:
- Kolom
Nama_Depan
danNama_Belakang
digabungkan menjadi satu kolomNama_Lengkap
. - Operasi
data_cleaned['Nama_Depan'] + ' ' + data_cleaned['Nama_Belakang']
menggabungkan nilai dalam kolomNama_Depan
dengan nilai dalam kolomNama_Belakang
, dipisahkan oleh sebuah spasi (' '). - Hasilnya disimpan dalam kolom baru
Nama_Lengkap
di DataFramedata_reduced
.
- Kolom
3. Menampilkan Data Setelah Reduction
print(data_reduced.head())
- Tujuan: Menampilkan lima baris pertama dari DataFrame setelah proses data reduction.
- Keterangan:
data_reduced.head()
menampilkan lima baris pertama dari DataFramedata_reduced
.- Ini membantu untuk memverifikasi bahwa kolom-kolom yang tidak relevan telah dihapus dan kolom baru telah ditambahkan dengan benar.
Komentar
Posting Komentar