Skip to main content

Pengantar Data Pre-processing

Data pre-processing adalah tahap penting dalam proses data analytics dan data mining, di mana data yang diperoleh dari berbagai sumber sering kali tidak dalam bentuk yang siap digunakan. Data biasanya memiliki masalah seperti missing values, outliers, format yang tidak konsisten, atau struktur yang tidak sesuai. Pre-processing bertujuan untuk mengubah data mentah menjadi bentuk yang dapat dimanfaatkan oleh algoritma machine learning atau teknik analisis lainnya. Proses ini meningkatkan kualitas data, yang pada gilirannya akan meningkatkan akurasi dan performa model.

Tahapan Pre-processing

  1. Data Cleaning (Pembersihan Data)
    Pada tahap ini, kita menangani data yang hilang (missing data), duplikasi data, dan inkonsistensi dalam data. Metode yang sering digunakan antara lain:
    • Menghapus missing data: Baris atau kolom dengan banyak missing values dihapus.
    • Imputasi nilai: Missing values dapat diisi menggunakan nilai mean, median, mode, atau menggunakan teknik yang lebih canggih seperti K-Nearest Neighbors imputation.
    • Menangani outliers: Data yang sangat berbeda dari mayoritas bisa dihapus atau diatasi dengan teknik seperti capping, transformation, atau penggunaan model robust yang tidak sensitif terhadap outliers.

Contoh:

    • Menggunakan nilai rata-rata untuk mengisi nilai yang hilang pada kolom "Annual Income" dalam data pengguna.
  1. Data Integration (Integrasi Data)
    Proses ini menggabungkan data dari berbagai sumber atau format yang berbeda menjadi satu dataset yang konsisten. Pada integrasi, tantangan utama adalah menangani inkonsistensi seperti nama atribut yang berbeda untuk konsep yang sama di berbagai sumber.

Contoh:

    • Menggabungkan data transaksi pelanggan dari beberapa cabang perusahaan yang memiliki format berbeda.
  1. Data Transformation (Transformasi Data)
    Setelah pembersihan dan integrasi, data mungkin perlu diubah agar sesuai dengan kebutuhan algoritma.
    Transformasi meliputi beberapa sub-tahapan:
    • Normalisasi: Mengubah data numerik ke dalam skala yang sama, seperti mengonversi nilai menjadi rentang 0-1. Contoh: min-max scaling, z-score standardization.
    • Discretization: Mengubah variabel numerik kontinu menjadi kategori. Contoh: mengelompokkan umur menjadi kategori seperti "muda", "dewasa", "tua".
    • Encoding data kategorikal: Data kategorikal diubah menjadi bentuk numerik yang dapat digunakan oleh algoritma. Contoh: one-hot encoding untuk atribut seperti "Gender" yang memiliki nilai "Male" dan "Female".
    • Feature scaling: Sama pentingnya terutama dalam algoritma yang sensitif terhadap skala, seperti KNN dan SVM.
  2. Data Reduction (Reduksi Data)
    Pada tahap ini, kita mengurangi ukuran dataset tanpa kehilangan informasi penting, sehingga mempermudah analisis dan mempercepat eksekusi algoritma. Beberapa metode yang digunakan antara lain:
    • Principal Component Analysis (PCA): Metode ini mengurangi dimensi dataset dengan mempertahankan sebanyak mungkin varians dalam data.
    • Feature Selection: Memilih fitur atau variabel yang relevan saja untuk analisis, misalnya dengan menggunakan teknik seperti Chi-Square test atau Random Forest feature importance.
    • Sampling: Mengambil subset data yang mewakili keseluruhan, terutama saat data terlalu besar untuk diolah secara penuh.
  3. Data Discretization dan Binarization Discretization mengubah data numerik kontinu menjadi data kategorikal, sementara binarization mengubah data menjadi bentuk biner (0 atau 1). Ini penting untuk beberapa algoritma yang membutuhkan data dalam bentuk kategori atau biner.
  4. Data Balancing
    Jika terdapat ketidakseimbangan kelas dalam data (misalnya, dalam masalah klasifikasi di mana satu kelas jauh lebih sedikit daripada kelas lainnya), kita dapat menggunakan teknik seperti:
    • Over-sampling: Menduplikasi atau menciptakan contoh baru dari kelas minoritas.
    • Under-sampling: Mengurangi jumlah contoh dari kelas mayoritas.
    • Synthetic Minority Over-sampling Technique (SMOTE): Membuat contoh sintetis untuk kelas minoritas.

Contoh:

    • Dalam masalah klasifikasi fraud detection, di mana data non-fraud jauh lebih banyak, SMOTE dapat digunakan untuk menyeimbangkan distribusi kelas.

Tools untuk Data Pre-processing

Beberapa tools yang umum digunakan dalam data pre-processing adalah:

  • Pandas: Library Python untuk manipulasi data, digunakan untuk pembersihan dan transformasi data.
  • Scikit-learn: Digunakan untuk normalisasi, standardisasi, encoding, dan data imputation.
  • NumPy: Untuk operasi matematis tingkat rendah, seperti matrix operation.
  • PyCaret: Framework untuk otomatisasi data pre-processing dan machine learning.

Kesimpulan

Data pre-processing adalah fondasi penting dalam setiap proyek analisis data dan data mining. Proses ini memastikan data yang digunakan adalah data yang berkualitas, bersih, dan siap untuk dianalisis lebih lanjut. Pemahaman mendalam tentang berbagai teknik pre-processing akan membantu dalam menghasilkan model machine learning yang lebih akurat dan handal.

Dengan persiapan data yang tepat, langkah-langkah analitik atau machine learning yang diambil setelahnya akan lebih efektif dan efisien.

 

Comments

Popular posts from this blog

Pengertian Binding dalam Bahasa Pemrograman dan Kapan Terjadinya

Binding dimaksudkan sebagai pengikatan (association) antara suatu entity dengan atributnya, misalnya binding/pengikatan antara suatu variable dengan tipe datanya atau dengan nilainya, atau dapat juga antara suatu operasi dengan simbol, misalnya simbol + dikenali sebagai operasi penjumlahan atau simbol ^ dikenali sebagai operasi pangkat, dll.  Peristiwa binding dan kapan terjadinya binding (biasanya disebut dengan binding time ) berperan penting dalam membicarakan semantics suatu bahasa pemrograman. Beberapa kemungkinan binding time adalah:

Latihan Soal Jawab Matematika Diskrit

Berikut di bawah ini adalah latihan soal jawab untuk matematika diskrit dengan topik-topik: Pernyataan Logika Circuits dan Ekspresi Boolean Argumen (valid/tidak valid) Teori Himpunan Permutasi Fungsi --o0o-- Pernyataan Logika 1. Buatlah tabel kebenaran untuk menentukan yang mana tautology dan yang mana contradiction dalam pernyataan logika (a) dan (b) di bawah ini: a. (p ∧ q) ∨ (∼p ∨ (p ∧ ∼q)) b.  (p ∧ ∼q) ∧ (∼p ∨ q)

Contoh proses normalisasi relasi dari UNF – 1NF – 2NF – dan 3NF

Dalam posting tulisan tentang: “Tujuan dan Manfaat Normalisasi dalam Perancangan Database” , kita sudah mempelajari tentang: “Apa itu normalisasi” dan “Mengapa kita perlu melakukan normalisasi”. Kedua pertanyaan itu sudah terjawab dalam tulisan tersebut.  Kemudian dalam posting tulisan tentang: “Konsep Ketergantungan Fungsional, Normalisasi, dan Identifikasi Primary Key dalam Perancangan Sistem Database” , kita sudah mempelajari suatu konsep penting yang digunakan untuk melakukan normalisasi, yaitu konsep ketergantungan fungsional yang terdiri dari ketergantungan penuh, ketergantungan parsial atau sebagian, dan ketergantungan transitif. Proses normalisasi pertama-tama dilakukan dengan mengidentifikasi adanya ketergantungan-ketergantungan tersebut dalam relasi-relasi dan kemudian menghilangkannya. Cara melakukan normalisasi, mengidentifikasi berbagai macam ketergantungan, dan menghilangkan ketergantungan pada relasi-relasi bisa dipelajari ulang dalam postingan tulisan di at