(CTI311)
MODUL 2
PREPARASI DATA
DISUSUN OLEH
AGUNG MULYO WIDODO, ST, M.Sc.
Format mentah dari data nyata biasanya sangat bervariasi. Banyak nilai yang mungkin
hilang, tidak konsisten di berbagai sumber data, dan salah. Untuk analis, ini menyebabkan
banyak tantangan dalam menggunakan data secara efektif. Misalnya, pertimbangkan kasus
mengevaluasi minat konsumen dari aktivitas mereka di situs media sosial. Analis mungkin
pertama-tama perlu menentukan jenis aktivitas yang berharga untuk proses penambangan.
Aktivitas mungkin sesuai dengan minat yang dimasukkan oleh pengguna, komentar yang
dimasukkan oleh pengguna, dan kumpulan pertemanan pengguna beserta minat mereka.
Semua informasi ini beragam dan perlu dikumpulkan dari basis data yang berbeda di dalam
situs media sosial. Selain itu, beberapa bentuk data, seperti log mentah, seringkali tidak
dapat digunakan secara langsung karena sifatnya yang tidak terstruktur. Dengan kata lain,
fitur yang berguna perlu diekstraksi dari sumber data ini. Oleh karena itu, diperlukan tahap
persiapan data.
Tahap persiapan data adalah proses multitahap yang terdiri dari beberapa langkah
individu, beberapa atau semuanya dapat digunakan dalam aplikasi tertentu. Langkah-
langkah ini adalah sebagai berikut:
Ekstraksi fitur dan portabilitas (Fiture extraction and Protability): Data mentah
seringkali dalam bentuk yang tidak cocok untuk diproses. Contohnya termasuk log
mentah, dokumen, data semi terstruktur, dan mungkin bentuk lain dari data
heterogen. Dalam kasus seperti itu, mungkin diinginkan untuk mendapatkan fitur
yang berarti dari data. Umumnya, fitur dengan interpretasi semantik yang baik lebih
diinginkan karena menyederhanakan kemampuan analis untuk memahami hasil
antara. Selain itu, mereka biasanya lebih terikat dengan tujuan aplikasi data mining
yang ada. Dalam beberapa kasus di mana data diperoleh dari berbagai sumber, perlu
Tahap pertama dari proses data mining adalah membuat sekumpulan fitur yang dapat
digunakan oleh analis. Dalam kasus di mana data dalam bentuk mentah dan tidak terstruktur
(misalnya, teks mentah, sinyal sensor), fitur yang relevan perlu diekstraksi untuk diproses.
Dalam kasus lain di mana campuran heterogen fitur tersedia dalam bentuk yang berbeda,
pendekatan analitis "off-the-shelf" sering tidak tersedia untuk memproses data tersebut.
Dalam kasus seperti itu, mungkin diinginkan untuk mengubah data menjadi representasi
seragam untuk diproses. Ini disebut sebagai tipe data port.
Fase pertama ekstraksi fitur adalah fase yang sangat penting, meskipun sangat spesifik
untuk aplikasi. Dalam beberapa kasus, ekstraksi fitur terkait erat dengan konsep portabilitas
tipe data, di mana fitur tingkat rendah dari satu jenis dapat ditransformasikan ke fitur tingkat
tinggi dari jenis lain. Sifat ekstraksi fitur tergantung pada domain dari mana data diambil:
Data sensor: Data sensor sering dikumpulkan sebagai sinyal tingkat rendah dalam
volume besar, yang sangat besar. Sinyal tingkat rendah kadang-kadang dikonversi
ke fitur tingkat yang lebih tinggi menggunakan transformasi wavelet atau Fourier.
Dalam kasus lain, deret waktu digunakan langsung setelah dibersihkan. Bidang
pemrosesan sinyal memiliki literatur yang luas yang ditujukan untuk metode
tersebut. Teknologi ini juga berguna untuk mem-porting data deret waktu ke data
multidimensi.
Data gambar: Dalam bentuknya yang paling primitif, data gambar
direpresentasikan sebagai piksel. Pada tingkat yang sedikit lebih tinggi, histogram
warna dapat digunakan untuk mewakili fitur dalam segmen gambar yang berbeda.
Baru-baru ini, penggunaan kata-kata visual menjadi lebih populer. Ini adalah
representasi kaya semantik yang mirip dengan data dokumen. Salah satu tantangan
dalam pengolahan citra adalah data yang umumnya berdimensi sangat tinggi.
Dengan demikian, ekstraksi fitur dapat dilakukan pada level yang berbeda,
tergantung pada aplikasi yang ada.
Log web: Log web biasanya direpresentasikan sebagai string teks dalam format
yang telah ditentukan sebelumnya. Karena bidang dalam log ini ditentukan dan
dipisahkan dengan jelas, maka relatif mudah untuk mengubah log akses Web
menjadi representasi multidimensi dari atribut kategoris dan numerik (yang
relevan).
Lalu lintas jaringan: Dalam banyak aplikasi deteksi intrusi, karakteristik paket
jaringan digunakan untuk menganalisis intrusi atau aktivitas menarik lainnya.
Tergantung pada aplikasi yang mendasarinya, berbagai fitur dapat diekstraksi dari
paket-paket ini, seperti jumlah byte yang ditransfer, protokol jaringan yang
digunakan, dan sebagainya.
Data dokumen: Data dokumen sering kali tersedia dalam bentuk mentah dan tidak
terstruktur, dan data tersebut mungkin berisi hubungan linguistik yang kaya antara
Di sini, "Bill Clinton" adalah nama seseorang, dan "Chappaqua" adalah nama
sebuah tempat. Kata “hidup” menunjukkan suatu tindakan. Setiap jenis entitas
mungkin memiliki signifikansi yang berbeda untuk proses penambangan data
tergantung pada aplikasi yang ada. Misalnya, jika aplikasi data mining terutama
berkaitan dengan penyebutan lokasi tertentu, maka kata "Chappaqua" perlu
diekstraksi. Teknik populer untuk pengenalan entitas bernama termasuk teknik
berbasis tata bahasa linguistik dan model statistik. Penggunaan aturan tata bahasa
biasanya sangat efektif, tetapi membutuhkan kerja oleh ahli bahasa komputasi yang
berpengalaman. Di sisi lain, model statistik membutuhkan sejumlah besar data
pelatihan. Teknik yang dirancang sangat sering spesifik domain. Area pengenalan
entitas bernama sangat luas, yang berada di luar cakupan buku modul ini.
Ekstraksi fitur adalah bentuk seni yang sangat bergantung pada keterampilan analis untuk
memilih fitur dan representasinya yang paling sesuai dengan tugas yang dihadapi.
Meskipun aspek khusus dari analisis data ini biasanya dimiliki oleh pakar domain, ini
mungkin yang paling penting. Jika fitur yang benar tidak diekstraksi, analisis hanya dapat
sebagus data yang tersedia.
Portabilitas tipe data adalah elemen penting dari proses penambangan data karena data
seringkali heterogen, dan mungkin berisi beberapa tipe. Misalnya, kumpulan data
demografis mungkin berisi atribut numerik dan campuran. Kumpulan data deret waktu yang
dikumpulkan dari sensor elektrokardiogram (EKG) mungkin memiliki banyak informasi
meta dan atribut teks lain yang terkait dengannya. Ini menciptakan situasi yang
membingungkan bagi seorang analis yang sekarang dihadapkan pada tantangan yang sulit
untuk merancang suatu algoritma dengan kombinasi tipe data yang berubah-ubah.
Pencampuran tipe data juga membatasi kemampuan analis untuk menggunakan alat siap
pakai untuk pemrosesan. Perhatikan bahwa porting tipe data tidak kehilangan akurasi
representasi dan ekspresi dalam beberapa kasus. Idealnya, yang terbaik adalah
menyesuaikan algoritme dengan kombinasi tipe data tertentu untuk mengoptimalkan hasil.
Namun, ini memakan waktu dan terkadang tidak praktis. Bagian ini akan menjelaskan
metode untuk mengkonversi antara berbagai tipe data. Karena tipe data numerik adalah
yang paling sederhana dan paling banyak dipelajari untuk algoritma penambangan data,
sangat berguna untuk fokus pada bagaimana tipe data yang berbeda dapat dikonversi ke
dalamnya. Namun, bentuk konversi lain juga berguna dalam banyak skenario. Misalnya,
untuk algoritma berbasis kesamaan, dimungkinkan untuk mengubah hampir semua tipe data
menjadi grafik dan menerapkan algoritma berbasis grafik untuk representasi ini. Diskusi
berikut, diringkas dalam Tabel 2.1, akan membahas berbagai cara mentransformasikan data
di berbagai jenis.
Konversi yang paling umum digunakan adalah dari tipe data numerik ke kategoris.
Proses ini dikenal sebagai diskritisasi. Proses diskritisasi membagi rentang atribut numerik
menjadi rentang . Kemudian, atribut diasumsikan mengandung nilai berlabel kategoris yang
berbeda dari 1 hingga , tergantung pada rentang di mana atribut asli berada. Misalnya,
pertimbangkan atribut usia. Seseorang dapat membuat rentang [0, 10], [11, 20], [21, 30],
dan seterusnya. Nilai simbolis untuk setiap record dalam rentang [11, 20] adalah “2” dan
nilai simbolis untuk record dalam rentang [21, 30] adalah “3”. Karena ini adalah nilai
simbolis, tidak ada urutan yang diasumsikan antara nilai "2" dan "3". Selanjutnya, variasi
dalam suatu rentang tidak dapat dibedakan setelah diskritisasi. Dengan demikian, proses
diskritisasi memang kehilangan beberapa informasi untuk proses penambangan. Namun,
untuk beberapa aplikasi, hilangnya informasi ini tidak terlalu melemahkan. Salah satu
tantangan dengan diskritisasi adalah bahwa data mungkin terdistribusi secara tidak seragam
pada interval yang berbeda. Misalnya, untuk kasus atribut gaji, sebagian besar populasi
dapat dikelompokkan dalam kisaran [40,000, 80,000], tetapi sangat sedikit yang akan
dikelompokkan dalam [1, 040,000, 1, 080,000] jangkauan. Perhatikan bahwa kedua rentang
memiliki ukuran yang sama. Dengan demikian, penggunaan rentang dengan ukuran yang
sama mungkin tidak terlalu membantu dalam membedakan antara segmen data yang
berbeda. Di sisi lain, banyak atribut, seperti usia, tidak terdistribusi secara tidak seragam,
dan oleh karena itu rentang dengan ukuran yang sama dapat bekerja dengan cukup baik.
Proses diskritisasi dapat dilakukan dalam berbagai cara tergantung pada tujuan spesifik
aplikasi:
Rentang kesetaraan lebar (Equi-width ranges): Dalam hal ini, setiap rentang [a, b]
dipilih sedemikian rupa sehingga b-a sama untuk setiap rentang. Pendekatan ini
memiliki kelemahan yaitu tidak akan bekerja untuk kumpulan data yang
didistribusikan secara tidak seragam di seluruh rentang yang berbeda. Untuk
menentukan nilai sebenarnya dari rentang, nilai minimum dan maksimum dari setiap
atribut ditentukan. Rentang ini [min, maks] kemudian dibagi menjadi rentang ∅
dengan panjang yang sama.
Rentang persamaan-log (Equi-log ranges) : Setiap rentang [a, b] dipilih sedemikian
rupa sehingga log(b)- log(a) memiliki nilai yang sama. Pemilihan rentang semacam
ini memiliki efek peningkatan rentang geometris [𝑎, 𝑎. 𝛼] , [𝑎, 𝑎. 𝛼 2 ] dan
Proses diskritisasi juga dapat digunakan untuk mengubah data deret waktu menjadi urutan
data diskrit.
Dalam beberapa kasus, diinginkan untuk menggunakan algoritma data mining numerik
pada data kategorikal. Karena data biner adalah bentuk khusus dari data numerik dan
kategorikal, dimungkinkan untuk mengubah atribut kategoris ke bentuk biner dan kemudian
menggunakan algoritma numerik pada data biner. Jika atribut kategori memiliki nilai ∅
yang berbeda, maka atribut biner ∅ yang berbeda akan dibuat. Setiap atribut biner sesuai
dengan satu nilai yang mungkin dari atribut kategoris. Oleh karena itu, tepat satu dari atribut
∅ mengambil nilai 1, dan sisanya mengambil nilai 0.
Meskipun representasi ruang vektor dari teks dapat dianggap sebagai kumpulan data
numerik yang jarang dengan dimensi yang sangat tinggi, representasi numerik khusus ini
tidak terlalu sesuai dengan algoritma penambangan data konvensional. Misalnya, seseorang
biasanya menggunakan fungsi kesamaan khusus, seperti kosinus, daripada jarak Euclidean
untuk data teks. Inilah alasan mengapa penambangan teks adalah area yang berbeda dalam
dirinya sendiri dengan keluarga algoritme khusus sendiri. Namun demikian, dimungkinkan
Data deret waktu dapat dikonversi menjadi data urutan diskrit menggunakan pendekatan
yang dikenal sebagai Aproksimasi Agregat Simbolik (SAX). Metode ini terdiri dari dua
langkah:
Transformasi ini dapat dilakukan dalam dua langkah. Langkah pertama adalah
mengubah deret diskrit menjadi himpunan deret waktu (biner), di mana jumlah deret waktu
dalam himpunan ini sama dengan jumlah simbol yang berbeda. Langkah kedua adalah
memetakan masing-masing deret waktu ini ke dalam vektor multidimensi menggunakan
transformasi wavelet. Terakhir, fitur dari seri yang berbeda digabungkan untuk membuat
satu rekaman multidimensi.
Untuk mengonversi urutan ke deret waktu biner, seseorang dapat membuat string biner
di mana nilainya menunjukkan ada atau tidaknya simbol tertentu pada suatu posisi. Sebagai
contoh, perhatikan urutan nukleotida berikut, yang digambarkan pada empat simbol:
Deret ini dapat diubah menjadi empat deret waktu biner berikut yang sesuai dengan simbol
A, C, T, dan G, masing-masing:
Data spasial dapat dikonversi menjadi data numerik dengan menggunakan pendekatan
yang sama yang digunakan untuk data deret waktu. Perbedaan utama adalah bahwa
sekarang ada dua atribut kontekstual (bukan satu). Ini membutuhkan modifikasi metode
transformasi wavelet. Kita akan membahas secara singkat bagaimana pendekatan wavelet
satu dimensi dapat digeneralisasikan ketika ada dua atribut kontekstual. Pendekatan ini
cukup umum dan dapat digunakan untuk sejumlah atribut kontekstual.
Grafik dapat dikonversi menjadi data numerik dengan menggunakan metode seperti
penskalaan multidimensi (MDS) dan transformasi spektral. Pendekatan ini bekerja untuk
aplikasi-aplikasi di mana ujung-ujungnya diberi bobot, dan mewakili hubungan kesamaan
atau jarak antar node. Pendekatan umum MDS dapat mencapai tujuan ini, dan dibahas
dalam seksi berikutnya. Pendekatan spektral juga dapat digunakan untuk mengubah grafik
menjadi representasi multidimensi. Ini juga merupakan skema pengurangan dimensi yang
mengubah informasi struktural menjadi representasi multidimensi. Pendekatan ini akan
dibahas dalam seksi berikutnya.
Berbagai macam algoritma data mining tersedia untuk data jaringan. Semua metode ini juga
dapat digunakan pada grafik kesamaan. Perhatikan bahwa grafik kesamaan dapat
didefinisikan dengan jelas untuk objek data dari jenis apa pun, selama fungsi jarak yang
sesuai dapat ditentukan. Inilah alasan mengapa desain fungsi jarak sangat penting untuk
hampir semua tipe data. Masalah desain fungsi jarak akan dibahas dalam bab selanjutnya.
Perhatikan bahwa pendekatan ini hanya berguna untuk aplikasi yang didasarkan pada
gagasan kesamaan atau jarak. Namun demikian, banyak masalah data mining yang
diarahkan atau tidak langsung terkait dengan gagasan tentang kesamaan dan jarak.
Proses pembersihan data menjadi penting karena kesalahan yang terkait dengan proses
pengumpulan data. Beberapa sumber entri yang hilang dan kesalahan mungkin timbul
selama proses pengumpulan data. Beberapa contohnya adalah sebagai berikut:
Beberapa teknologi pengumpulan data, seperti sensor, pada dasarnya tidak akurat
karena keterbatasan perangkat keras yang terkait dengan pengumpulan dan
transmisi. Terkadang sensor dapat menurunkan pembacaan karena kegagalan
perangkat keras atau baterai habis.
Entri yang hilang sering terjadi di database di mana metode pengumpulan data tidak
sempurna. Misalnya, survei pengguna sering kali tidak dapat mengumpulkan tanggapan
untuk semua pertanyaan. Dalam kasus di mana kontribusi data bersifat sukarela, data
hampir selalu tidak ditentukan secara lengkap. Tiga kelas teknik digunakan untuk
menangani entri yang hilang:
Setiap catatan data yang berisi entri yang hilang dapat dihilangkan seluruhnya.
Namun, pendekatan ini mungkin tidak praktis ketika sebagian besar catatan berisi
entri yang hilang.
Nilai yang hilang dapat diperkirakan atau diperhitungkan. Namun, kesalahan yang
dibuat oleh proses imputasi dapat mempengaruhi hasil dari algoritma data mining.
Fase analitis dirancang sedemikian rupa sehingga dapat bekerja dengan nilai-nilai
yang hilang. Banyak metode penambangan data secara inheren dirancang untuk
bekerja dengan kuat dengan nilai yang hilang. Pendekatan ini biasanya yang paling
diinginkan karena menghindari bias tambahan yang melekat dalam proses imputasi.
Masalah entri yang hilang diperkirakan berhubungan langsung dengan masalah klasifikasi.
Dalam masalah klasifikasi, satu atribut diperlakukan secara khusus, dan fitur lainnya
digunakan untuk memperkirakan nilainya. Dalam hal ini, nilai yang hilang dapat terjadi
pada fitur apa pun, dan oleh karena itu masalahnya lebih menantang, meskipun pada
dasarnya tidak berbeda. Banyak metode yang dibahas dalam bab berikutnya untuk
klasifikasi juga dapat digunakan untuk estimasi nilai yang hilang. Selain itu, metode
penyelesaian matriks juga dapat digunakan.
Dalam kasus data yang berorientasi ketergantungan, seperti deret waktu atau data spasial,
estimasi nilai yang hilang jauh lebih sederhana. Dalam hal ini, nilai atribut perilaku dari
catatan yang berdekatan secara kontekstual digunakan untuk proses imputasi. Misalnya,
dalam kumpulan data deret waktu, rata-rata nilai pada stempel waktu tepat sebelum atau
setelah atribut yang hilang dapat digunakan untuk estimasi. Alternatifnya, nilai perilaku
pada n cap data deret waktu terakhir dapat diinterpolasi secara linier untuk menentukan nilai
yang hilang. Untuk kasus data spasial, proses estimasinya cukup mirip, dimana nilai rata-
rata pada lokasi spasial tetangga dapat digunakan.
Metode utama yang digunakan untuk menghapus atau mengoreksi entri yang salah dan
tidak konsisten adalah sebagai berikut:
Deteksi inkonsistensi: Ini biasanya dilakukan ketika data tersedia dari sumber yang
berbeda dalam format yang berbeda. Misalnya, nama seseorang mungkin dieja
lengkap dalam satu sumber, sedangkan sumber lain hanya boleh berisi inisial dan
nama belakang. Dalam kasus seperti itu, masalah utama adalah deteksi duplikat dan
deteksi inkonsistensi. Topik-topik ini dipelajari di bawah payung umum integrasi
data dalam bidang database.
Pengetahuan domain: Sejumlah besar pengetahuan domain sering tersedia dalam hal
rentang atribut atau aturan yang menentukan hubungan antar atribut yang berbeda.
Misalnya, jika bidang negara adalah "Amerika Serikat", maka bidang kota tidak
Dalam banyak skenario, fitur yang berbeda mewakili skala referensi yang berbeda dan
oleh karena itu mungkin tidak dapat dibandingkan satu sama lain. Misalnya, atribut seperti
usia digambar pada skala yang sangat berbeda dari atribut seperti gaji. Atribut yang terakhir
biasanya urutan besarnya lebih besar dari yang pertama. Akibatnya, setiap fungsi agregat
yang dihitung pada fitur yang berbeda (misalnya, jarak Euclidean) akan didominasi oleh
atribut dengan magnitudo yang lebih besar.
Untuk mengatasi masalah ini, adalah umum untuk menggunakan standardisasi.
Pertimbangkan kasus di mana atribut ke-j memiliki mean 𝜇𝑗 dan standar deviasi 𝜎𝑗 .
𝑗
Kemudian, nilai atribut ke-j, 𝑥𝑖 dari record ke-i, 𝑋̅𝑖 dapat dinormalisasi sebagai berikut:
𝑗
𝑗 𝑥𝑖 −𝜇𝑗
𝑧𝑖 = (2.2)
𝜎𝑗
Sebagian besar nilai yang dinormalisasi biasanya terletak pada kisaran [−3, 3] di bawah
asumsi distribusi normal.
Pendekatan ini tidak efektif ketika nilai maksimum dan minimum adalah outlier nilai
ekstrim karena beberapa kesalahan dalam pengumpulan data. Misalnya, pertimbangkan
atribut usia di mana kesalahan dalam pengumpulan data menyebabkan nol tambahan
ditambahkan ke usia, sehingga menghasilkan nilai usia 800 tahun, bukan 80. Dalam kasus
ini, sebagian besar data berskala di sepanjang atribut usia akan berada dalam kisaran [0,
0,1], sebagai akibatnya atribut ini dapat dikurangi. Standardisasi lebih kuat untuk skenario
seperti itu.
.
2.4 Reduksi Data dan Transformasi
Tujuan dari reduksi data adalah untuk merepresentasikannya secara lebih kompak.
Ketika ukuran data lebih kecil, jauh lebih mudah untuk menerapkan algoritma yang canggih
dan mahal secara komputasi. Pengurangan data mungkin dalam hal jumlah baris (catatan)
atau dalam hal jumlah kolom (dimensi). Reduksi data memang mengakibatkan hilangnya
beberapa informasi.
Penggunaan algoritma yang lebih canggih terkadang dapat mengkompensasi hilangnya
informasi akibat reduksi data. Berbagai jenis reduksi data digunakan dalam berbagai
aplikasi:
Pengambilan sampel data: Catatan dari data yang mendasarinya diambil
sampelnya untuk membuat database yang jauh lebih kecil. Pengambilan sampel
umumnya jauh lebih sulit dalam skenario streaming di mana sampel perlu
dipertahankan secara dinamis.
Pemilihan fitur: Hanya sebagian fitur dari data dasar yang digunakan dalam proses
analitik. Biasanya, himpunan bagian ini dipilih dengan cara khusus aplikasi.
Misalnya, metode pemilihan fitur yang berfungsi dengan baik untuk
pengelompokan mungkin tidak berfungsi dengan baik untuk klasifikasi dan
sebaliknya. Oleh karena itu, bagian ini hanya akan membahas masalah subsetting
C. LATIHAN
1. Pertimbangkan deret waktu (−3, 1, 1, 3, 5, 7, * ). Di sini, entri yang hilang dilambangkan
dengan *. Berapa perkiraan nilai entri yang hilang menggunakan interpolasi linier pada
jendela ukuran 3?
2. Misalkan Anda memiliki banyak dokumen teks, dan Anda ingin menentukan semua
personality yang disebutkan dalam dokumen ini. Kelas teknologi apa yang akan Anda
gunakan untuk mencapai tujuan ini?
3. Unduh kumpulan data dari Kaggle. Normalisasikan semua record menjadi rata-rata 0
dan standar deviasi 1. Diskretisasi setiap atribut numerik ke dalam (a) 10 rentang equi-
width dan (b) 10 rentang equi-depth.
4. Misalkan Anda memiliki satu set objek arbitrer dari berbagai jenis yang mewakili
karakteristik widget yang berbeda. Seorang ahli domain memberi Anda nilai kesamaan
antara setiap pasangan objek. Bagaimana Anda mengubah objek-objek ini menjadi
kumpulan data multidimensi untuk pengelompokan?
5. Misalkan Anda memiliki kumpulan data, sehingga setiap titik data sesuai dengan suhu
permukaan laut lebih dari satu mil persegi dengan resolusi 10×10. Dengan kata lain,
setiap catatan data berisi kisi 10 × 10 nilai suhu dengan lokasi spasial. Anda juga
D. Kunci Jawaban
Daftar Pustaka
1. Tan, Steinbach, Karpatne, Kumar, Introduction to Data Mining, 2nd Edition, 2019
https://www-users.cs.umn.edu/~kumar001/dmbook/index.php#item3
2. Charu C. Aggarwal , Data Mining: Textbook, IBM T.J. Watson Research Center
Yorktown Heights, New York
USA, 2015