Knowledge Discovery in Databases (IS704) dan Data Mining (CS704) Motivasi Preprocessing Garbage In Garbage Out: Tanpa tersedianya data yang berkualitas, jangan mengharapkan hasil mining yang bermutu. Pengambilan keputusan yang bermutu harus berbasis data yang bermutu pula. Kuliah #3: Data Preprocessing – Contoh: Data yang ganda atau tidak lengkap mungkin akan menyebabkan kesalahan pada pola-pola sebagai bakal pengetahuan yang dihasilkan, atau bahkan menyesatkan. Gunawan Jurusan Teknik Informatika Sekolah Tinggi Teknik Surabaya 20 August 2004 Tugas-tugas Utama Data Preprocessing - Jia Weihan (#1) Gunawan, Teknik Informatika STTS 2 Tugas-tugas Utama Data Preprocessing - Jia Weihan (#2) Data Cleaning – Mengisi missing values, menghaluskan (smoothing) noisy data, membereskan inkonsistensi. Data Integration – Menggabung data dari berbagai sumber database yang berbeda ke dalam sebuah penyimpanan seperti data cube atau warehouse. Data Transformation – Mengubah / mentransformasikan data ke dalam bentuk yang paling tepat / cocok untuk proses data mining. Data Reduction – Mengurangi volume data, tetapi mempertahankan hasil analisis yang sama atau serupa. 20 August 2004 Gunawan, Teknik Informatika STTS 3 20 August 2004 1. Data pada dunia nyata cenderung incomplete (tidak lengkap), noisy (terganggu, memuat penyimpangan), dan inconsistent (tidak konsisten). 2. Abaikan recordnya – Kurang efektif saat terdapat beberapa atribut yang memiliki missing values. – Juga saat persentase missing values harus dipertimbangkan. Masukkan nilai yang hilang secara manual – Rutin-rutin data cleaning mencoba untuk: – menangani missing values (nilai-nilai yang hilang) 3. – smoothing (menghaluskan) data yang ber-noise, jika outliers (data-data di luar umumnya) – teridentifikasimemperbaiki inkonsistensi data. Gunawan, Teknik Informatika STTS 4 Penanganan Missing Values (#1) Data Cleaning 20 August 2004 Gunawan, Teknik Informatika STTS 5 Secara umum pendekatan ini sangat menyita waktu dan tidak dapat dikerjakan dengan mudah pada large data sets dengan missing values dalam jumlah besar. Gunakan konstanta umum untuk mengganti nilai yang hilang – Ganti semua nilai-nilai atribut yang hilang dengan konstanta yang sama, seperti label "unknown" or nilai -tak terhingga. – Meskipun metode ini mudah, tidak dianjurkan untuk digunakan, "unknown" dapat dianggap suatu attribute value. 20 August 2004 Gunawan, Teknik Informatika STTS 6 1 Penanganan Missing Values (#2) 4. – 5. Contoh Penerapan (Pendekatan ke-6, terakhir) Misalkan pendapatan rata-rata dari customer AllElectronics adalah $28,000. Gunakan nilai ini untuk mengganti nilai pendapatan yang kosong. Gunakan atribut customer yang lain dari semua sample dalam pembentukan sebuah decision tree untuk mengetahui nilai pendapatan customer yang hilang. Metode ini merupakan suatu strategi yang terkenal. Jika dibandingkan dengan metode lainnya, metode ini menggunakan informasi (tepatnya pengetahuan) dari data itu sendiri untuk mengetahui nilai-nilai yang hilang. Dengan memperhatikan nilai-nilai dari atribut yang lain dalam mengestimasi nilai yang hilang, memberikan kemungkinan yang sangat besar dimana hubungan antara suatu nilai yang hilang dengan nilai atribut-atribut lainnya tetap terjaga. Gunakan rata-rata nilai atribut dari semua sample yang berada pada kelas yang sama – 6. Penanganan Missing Values (#3) Gunakan rata-rata nilai atribut untuk mengganti nilai yang hilang Sebagai contoh, jika customer dikelompokkan berdasar tingkat resiko kreditnya, ganti nilai yang hilang dengan rata-rata nilai pendapatan dari semua customer pada tingkat resiko kredit yang sama. Gunakan nilai yang "paling mungkin" untuk digantikan pada nilai yang hilang – Dapat diperoleh melalui regresi, atau beberapa metode inferensi seperti formula Bayes atau induksi decision tree. 20 August 2004 Gunawan, Teknik Informatika STTS 7 Penanganan Noisy Data (#1) 20 August 2004 Gunawan, Teknik Informatika STTS Penanganan Noisy Data (#2) “Apa yang dimaksud noise ?“ “Apa yang dimaksud noise ?“ Noise adalah kesalahan yang terjadi secara random atau karena variasi yang terjadi dalam pengukuran variabel. Noise adalah kesalahan yang terjadi secara random atau karena variasi yang terjadi dalam pengukuran variabel. Solusi: Solusi: Dengan smoothing (penghalusan data). Dengan smoothing (penghalusan data). 20 August 2004 Gunawan, Teknik Informatika STTS 8 9 20 August 2004 Penanganan Noisy Data (#3) Gunawan, Teknik Informatika STTS 10 Binning (#1) Beberapa pendekatan Smoothing: Metode-metode binning menghaluskan nilai pada data yang terurut dengan "berkonsultasi" dengan data "tetangganya", yaitu nilai-nilai di sekitarnya. – Binning – Clustering Nilai-nilai yang terurut didistribusikan ke dalam sejumlah "buckets" atau bins. – Regression Penghalusan data secara lokal. Pada contoh ini, data pertama kali diurutkan, dan kemudian dipartisi ke dalam bins dengan kedalaman yang sama, misal 3 (setiap bin berisi tiga nilai). Binning juga digunakan sebagai suatu teknik diskretisasi. 20 August 2004 Gunawan, Teknik Informatika STTS 11 20 August 2004 Gunawan, Teknik Informatika STTS 12 2 Binning (#2) Binning (#3) Smoothing dengan bin-means (nilai rata-rata): Contoh 1: – Bin 1 : 9, 9, 9 – Data untuk variabel harga yang terurut (dalam dollar): 4, 8, 15, 21, 21, 24, 25, 28, 34 – Bin 2 : 22, 22, 22 – Pertama kali data dipartisi dalam bin-bin dengan equidepth 3 (kedalaman yang sama): – Bin 3 : 29, 29, 29 Smoothing dengan bin-median (nilai tengah): • Bin 1 : 4, 8, 15 – Bin 1 : 8, 8, 8 • Bin 2 : 21, 21, 24 – Bin 2 : 21, 21, 21 • Bin 3 : 25, 28, 34 20 August 2004 Gunawan, Teknik Informatika STTS – Bin 3 : 28, 28, 28 13 20 August 2004 Binning (#4) Gunawan, Teknik Informatika STTS 14 Binning (#5) Smoothing dengan bin-boundaries (nilai-nilai batas): Contoh 2: Data untuk variabel harga yang terurut (dalam dollar): 4, 8, 9, 15, 21, 21, 24, 25, 26, 28, 29, 34. Lakukan binning dengan ukuran bin=4 melalui bin-means, binmedian, dan bin-boundaries. – Bin 1 : 4, 4, 15 {8 menjadi 4 karena lebih dekat ke 4 daripada ke 8} – Bin 2 : 21, 21, 24 {21 menjadi 21 karena malahan nilainya sama} – Bin 3 : 25, 25, 34 {28 menjadi 25 karena lebih dekat ke 25 daripada ke 34} 20 August 2004 Gunawan, Teknik Informatika STTS 15 20 August 2004 Clustering Gunawan, Teknik Informatika STTS 16 Regression Data Outliers (di luar nilai yang wajar) dapat dideteksi dengan clustering yang mengelompokkan nilai-nilai yang sama dalam sebuah group (cluster) Smoothing dapat dilakukan dengan fitting (mengepaskan) data pada sebuah function yang diperoleh dengan perhitungan regresi. Secara intuitif, nilai yang berada di luar semua cluster yang terbentuk, dapat dipertimbangkan sebagai outliers. – Regresi Linier melibatkan penemuan garis “terbaik” untuk mencocokan dua variabel, sehingga satu variabel dapat digunakan untuk meramalkan yang lain. – Mulitiple Regresi Linier adalah perluasan dari regresi linear, dimana lebih dari dua variabel dilibatkan dan data disesuaikan pada permukaan multi dimensi. Untuk contoh perhitungan regresi linier lihat handout Aries Yoshan, Metode Numerik (Edisi Revisi), subbab 4.2, halaman 42. Sedangkan untuk regresi polinomial, lihat subbab 4.4, halaman 45. Perhatikan pula beberapa pendekatan pada subbab 4.3. 20 August 2004 Gunawan, Teknik Informatika STTS 17 20 August 2004 Gunawan, Teknik Informatika STTS 18 3 Penanganan Inconsistent Data Data Integration (Integrasi Data) Beberapa data yang tidak konsisten dapat diperbaiki secara manual dengan menggunakan referensi-referensi eksternal. Sering terjadi tugas analisis melibatkan integrasi data, yaitu penggabungan data dari beberapa data stores ke dalam sebuah tempat penyimpanan data seperti data cube atau warehousing. – Contoh: Kesalahan-kesalahan yang dibuat pada data entry dapat diperbaiki dengan melakukan pelacakan pada kertas. Mungkin juga terdapat inkonsistensi yang disebabkan oleh integrasi data, dimana atribut-atribut yang diberikan ternyata memiliki nama-nama yang berbeda karena berasal dari database-database yang berbeda. Sumber-sumber data dapat berupa multiple database, data cubes, atau flat files. Redundancy (perulangan) atribut juga mungkin terjadi. 20 August 2004 Gunawan, Teknik Informatika STTS 19 20 August 2004 Gunawan, Teknik Informatika STTS Beberapa Issues dalam Integrasi Data (#1) Beberapa Issues dalam Integrasi Data (#2) Entity Identification Problem Redudancy (Perulangan) – Bagaimana seorang data analis atau komputer dapat yakin bahwa customer_id dalam sebuah database dan cust_number dalam database lain sebenarnya menunjuk pada entity yang sama? – Database dan data warehouse biasanya mempunyai metadata – data tentang data. Metadata dapat digunakan untuk membantu menghindari kesalahankesalahan dalam integrasi. 20 August 2004 Gunawan, Teknik Informatika STTS 20 – Beberapa perulangan dapat dideteksi dengan correlation analysis (analisa korelasi). Contoh: Saat diberikan dua buah atribut, dapat diukur berapa kuat sebuah atribut berpengaruh pada atribut lainnya. 21 20 August 2004 Gunawan, Teknik Informatika STTS 22 Beberapa Issues dalam Integrasi Data (#3) Detection and Resolution of Data Value Conflicts (Deteksi dan Penyelesaian Konflik data) – Sebagai contoh, untuk entiti yang sama, nilai-nilai atribut dari beberapa sumber yang berbeda dapat berbeda. Hal ini dapat menyebabkan perbedaan dalam skala representasi. – Sebuah atribut weight dapat disimpan dalam unit metric pada satu sistem dan unit British imperial pada sistem lainnya. Gram vs. Ounce. – Harga hotel diukur melalui sistem mata uang yang berbeda, termasuk juga pelayanan yang berbeda (seperti free breakfast) dan pajak. 20 August 2004 Gunawan, Teknik Informatika STTS 23 4