Langkah-langkah preprocessing

Pagi ini memberikan tutorial ke mahasiswa/i saya di UNS yang akan mengikuti kompetisi Data Mining yaitu tentang hal-hal yang perlu dilakukan sebelum mengolah data, terkait fase preprocessing.

  1. Perhatikan mana yang atribut rasio, mana yang internval, ordinal dan nominal. Terhadap atribut nominal, hati-hati. Pakailah 1-of-c coding untuk membuat representasi yang benar terhadap data tersebut.
  2. Perhatikan, apakah ada data/instance/sample yang ganda ? Kalau ada hapuslah dari training set.
  3. Apakah ada missing data ? Kalau missing data-nya relatif sedikit, hapus saja dari training set. Tetapi kalau banyak, harus diimputasi. Ulasannya dapat dibaca di buku Trevor Hastie : “The Elements of Statistical Learning”, 2nd.Edition, Springer, Bab 9.6 Missing Data. Buku Trevor Hastie dapat didownload dari situsnya : http://web.stanford.edu/~hastie/ElemStatLearn/
  4. Apakah ada data outlier ? Untuk kehati-hatian sebaiknya dihapus saja outlier-nya. Coba dibaca antara lain :  http://www.theanalysisfactor.com/outliers-to-drop-or-not-to-drop/
  5. Perhatikan range tiap atribut. Konversikan range atribute ke interval yang sama. Biasanya dikonversikan ke [0,1] artinya dinormalisasi ke minimal 0 dan maksimal 1. Mengapa demikian ? Perhatikan ilustrasi berikut:
    1. Misalnya saat membuat classifier untuk membedakan atlet sumo dan atlet soccer, memakai 2 fitur : tinggi badan dan berat badan
    2. Tinggi badan diukur dengan mili meter sehingga  nilainya misalnya berada pada kisaran : 1600-2300, atau  range-nya bisa kita tulis  [0, 3000]
    3. Adapun berat badan diukur memakai kilo gram, sehingga rentangnya misalnya pada [55, 230]. Atau agar lebih ekstrem lagi, diukur dengan Mega gram, sehingga rentang di atas menjadi [0.055, 0.230]. Lebih mudahnya, kita tulis menjadi [0, 1.0]
    4. Kalau data di atas tidak dinormalisasi ke range yang sama, saat proximity dihitung memakai euclidean distance, perbedaan berat badan antara atlet soccer dan atlet sumo akan sangat kecil dibandingkan perbedaan tinggi badan, sehingga dalam perhitungan jarak akan terabaikan dan beresiko terhadap hasil klasifikasi.
    5. Salah satu cara yang mudah untuk melakukan scaling adalah memakai linear scaling. Misalnya pada tinggi badan dari sampel yang kita kumpulkan rentangnya  [ 500, 3000], maka berat tinggi badan  x (dalam mm)  akan dikonversikan dengan formula
      x_baru = ( x_lama – min ) / (max – min)
      = ( x  – 500 ) / ( 3000 – 500 )
      = ( x – 500 ) / 2500
    6. Penjelasan lebih lengkap dapat dibaca misalnya di Neuro FAQ  : Should I normalize/standardize/rescale the data?

 

Tentang Anto Satriyo Nugroho

My name is Anto Satriyo Nugroho. I am working as research scientist at Center for Information & Communication Technology, Agency for the Assessment & Application of Technology (PTIK-BPPT : Pusat Teknologi Informasi & Komunikasi, Badan Pengkajian dan Penerapan Teknologi). I obtained my doctoral degree (Dr.Eng) from Nagoya Institute of Technology, Japan in 2003. My office is located in Serpong, Tangerang Selatan City.Since 2015, I was appointed as Program Director of R&D activities in Intelligent Computing Laboratory (former name: Digital Signal Processing Laboratory). The activities in the laboratory are organized into three groups : (i) Natural Language Processing (ii) Multimodal biometrics Identification (iii) ICT solution for Tropical Disease. I also enjoy to teach the students, as a part time lecturer in Swiss German University Serpong & UNS Sebelas Maret Surakarta. Should you want to know further information on my academic works, please visit my professional site at http://asnugroho.net
Pos ini dipublikasikan di datamining, Uncategorized. Tandai permalink.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s