ISSN : 2407 - 6511 PENGGUNAAN RSTUDIO UNTUK EKSTRAKSI DAN REDUKSI FITUR Fairuz Ahmad Hirzani1, Fatiya Arifah2, Shaufiah3 1,2,3
Prodi S1 Teknik Informatika, Fakultas Informatika, Universitas Telkom
1
[email protected],
[email protected],
[email protected]
Abstrak Ekstraksi dan reduksi fitur merupakan hal yang sangat penting dalam proses persiapan data sebelum dilakukan penambangan data. Tantangan dalam proses ekstraksi data diantaranya adalah menentukan proses dan nilai apa saja yang akan digunakan. Reduksi data juga merupakan isu penting karena tidak semua fitur relevan untuk digunakan. Proses ekstraksi dan reduksi fitur akan lebih efektif jika menggunakan tools. Oleh karenanya paper ini membahas pemanfaatan tools Rstudio untuk membantu proses ekstraksi dan reduksi data pada kasus data berdimensi besar yaitu Daily and Sports Activities Dataset . Pada percobaan menunjukan bahwa Rstudio mampu melakukan ekstraksi fitur dengan cepat dan reduksi fiturnya dapat mengurangi waktu eksekusi tanpa merubah secara drastis akurasi yang dihasilkan. Kata kunci : ekstraksi fitur, reduksi fitur, data mining, rstudio Pendahuluan Dewasa ini perangkat accelerometer, gyroscopes, dan magnetometer secara tidak disadari telah berada di kehidupan manusia. Orang dewasa maupun anak-anak setiap harinya berinteraksi dengan accelerometer, gyroscopes, dan magnetometer. Hal ini dikarenakan ketiga alat tersebut telah tertanam dalam smartphone yang dimiliki masing-masing. Adanya alat yang dapat mengukur motion pada smartphone, dan maraknya penggunaan smartphone di berbagai kalangan menjadi issue yang menarik untuk diangkat dan berpeluang menumbuhkan inovasi baru dengan memanfaatkan alat tersebut. Salah satu contohnya adalah pembangunan aplikasi monitoring kegiatan anak. Misalkan orangtua dapat mengirimkan sebuah trigger ke smartphone sang anak, dari trigger ini sinyal ditangkap dari smartphone anak dan menjadi masukan kepada model yang tertanam di smartphone atau server. Hasil klasifikasi aktifitas yang didapatkan kembali dikirim ke smartphone orangtua. Ketiga perangkat accelerometer, gyroscopes, dan magnetometer menghasilkan data berupa bilangan real dengan koordinat x, y, z dan memiliki 25 rentetan nilai dalam satu detik. Data yang diobservasi merupakan nilai penggunaan ketiga alat dalam 5 detik. Sehingga dibutuhkan adanya ekstraksi ciri yaitu satu rangkaian nilai yang mewakili aktivitas seseorang dalam 5 detik pengambilan nilai dari ketiga alat. Ekstraksi fitur yang dilakukan berdampak pada bertambahnya jumlah dimensi data menjadi sangat besar, sehingga perlu dilakukan pereduksian dimensi. Proses ekstraksi dan reduksi data tentunya memiliki tantangan diantaranya memerlukan waktu yang lama jika harus dilakukan secara manual sehingga diperlukanlah bantuan Tools Preprocessing yang handal. Pada paper ini akan membahas pemanfaatan tools Rstudio untuk membantu proses ekstraksi dan reduksi data pada kasus data berdimensi besar yaitu Daily and Sports Activities Dataset. 2. Dasar Teori Dataset yang digunakan berasal dari UCI Machine Learning Repository yaitu βDaily and Sports Activities Datasetβ di mana atributnya bertipe real. Dataset ini menggambarkan serangkaian nilai yang dihasilkan oleh alat XSens MTx untuk setiap aktivitas yang dilakukan. Data didapatkan dari 4 orang pria dan 4 orang wanita yang melakukan 19 jenis aktivitas berbeda selama 5 menit. Dataset dibagi menjadi 19 folder aktifitas, dalam setiap foldernya terdapat 8 buah folder person yang berisikan 60 file segment dari total 5 menit sampling saat melakukan aktifitas. Disebutkan bahwa satu file segment merepresentasikan 5 detik seseorang melakukan aktifitas. Oleh karena itu satu orang yang melakukan aktifitas menghasilkan 60 buah segment, yaitu hasil pembagian antara 5 menit waktu beraktifitas dengan 5 detik sample per segmen. Sampling data XSens MTx dilakukan dengan frekuensi 25 Hz yang artinya mengambil 25 sampling selama 1 detik. Maka jumlah baris dalam satu file segment berjumlah 125, yang didapatkan dari perkalian 25 sample per detik dengan 5 detik waktu. 133
ISSN : 2407 - 6511 Pada data ini tercatat alat XSens MTx ditempatkan pada 5 tempat yaitu Torso, Right Arm, Left Arm, Right Leg, dan Left Leg. Satu unit XSens MTx dapat berfungsi sebagai accelerometer, gyroscopes, dan magnetometer. Sehingga disetiap tempat dimana XSens MTx ditempatkan terdapat 3 alat yang bekerja. Ketiga alat tersebut mengeluarkan hasil berupa vector 3 dimensi, dengan nilai x, y, dan z. Berdasarkan pencatatan tersebut memperlihatkan terdapat 45 attribut yang berasal dari 5 titik tubuh manusia dikalikan dengan 3 alat dan dikalikan dengan nilai keluaran 3 titik dari setiap alat. Sehingga dihasilkan 45 (5x3x3) atribut. R dan RStudio R merupakan software bahasa pemrograman gratis dan software environment untuk statistical computing dan grafik. Pada R tersedia berbagai package untuk statistic ataupun data mining. Oleh karena itu, R sering digunakan oleh ahli statistika dan data mining. Hasil survey Rexer Analytics pada tahun 2013 yang dicantumkan dalam website kdnuggets mengatakan bahwa R menduduki peringkat 1 dari Top 10 Chart Ranked by Usage. [3] Bahasa pemrograman yang sejenis dengan R adalah Matlab dan APL. Adapun beberapa fitur dari R yang membantu menyelesaikan kasus ini antara lain kemudahan dalam aritmatika matrix, fungsi statistika, fungsi Data mining dan struktur data R yang berupa vector, matriks, dan data frame. Berdasarkan pertimbangan tersebut bahasa pemrograman R dinilai cocok untuk menyelesaikan permasalahan untuk data yang akan diselesaikan.
Gambar 2 - Screenshot Rstudio
Gambar 3 - Tools Ranked by Usage[3]
Sedangkan RStudio adalah integrated development environment (IDE) untuk R. Di dalam RStudio terdapat console, syntax-highlighting editor yang mendukung eksekusi kode langsung. Selain itu terdapat fitur history, debugging, dan resource management. 2.3 Ekstraksi Fitur Satu file segment pada dataset diperlakukan sebagai satu data. Sedangkan dalam satu file segment terdiri dari 125 baris yang mewakili sinyal XSens MTx selama 5 detik. Maka dari itu, diperlukan adanya penarikan nilai yang dapat mewakili semua baris dalam satu segment. Penelitian Karem Altum, 2010 dalam papernya [1] menyatakan bahwa ada beberapa nilai yang dapat dijadikan fitur. Nilai- nilai tersebut adalah: (1)
β
π€
(2)
β β
π
(4)
β
ππ
(5)
β π
(3)
{
}
β
(6) 134
ISSN : 2407 - 6511 Mengikuti dua penelitian sebelumnya [1] [2], hasil dari proses ekstraksi berjumlah 26 Fitur dan dibagi menjadi 4 tahap ekstraksi. Tahapan tersebut memanfaatkan keenam rumus diatas. Least-Squared Method Konsep Least Squares Method atau LSM tidak berbeda jauh dari 1-NN. Namun, yang menjadi perbedaan dengan 1-NN adalah jarak yang dibandingkan bukan jarak satu tuple test dengan satu tuple training. Melainkan perbandingan antara satu tuple test dengan vector rata-rata dari berbagai kelas berbeda. Misalkan terdapat data seperti pada Tabel 1. Tabel 1 β Contoh Data X1 X2 X3 X4 Y 2 3 5 1 Kecil 67 62 51 98 Besar 45 99 37 91 Besar 10 7 11 8 Kecil Dari Tabel 1 terdapat 4 tuple training dengan 2 kelas besar dan kecil. Dalam 1-NN jarak tuple testing dibandingkan dengan setiap instance di data training. Sedangkan dalam LSM perbandingan jarak dilakukan dengan rata rata per aktifitasnya. Dalam tahapan training LSM proses yang dijalankan adalah membentuk tabel baru berisikan rata rata, seperti yang ditunjukan pada Tabel 2. Tabel 2 β Rata-Rata Setiap Kelas X1 X2 X3 X4 Y 6 5 8 4.5 Kecil 56 80.5 44 94.5 Besar
3. Pembahasan Ekstraksi fitur pada dataset yang digunakan ini akan dilakukan dalam lima tahapan, dengan mempertimbangkan karakteristik data yang ada dan juga kebutuhan sesuai task Data mining yang diinginkan. 3.1. Ekstraksi Fitur Tahap Satu Ekstraksi tahap pertama menggunakan 5 nilai; mean, minimum, maksimum, kurtosis, skewness dari setiap kolom pada data segment. Karena attribute pada segment berjumlah 45, maka jumlah attribute setelah proses ekstraksi pertama berjumlah 225, didapat dari perkalian antara 45 attribute dengan 5 nilai fitur. Dalam statistik deskriptif dikemukakan cara-cara penyajian data, dalam berbagai bentuk, dan menghitung penyebaran dan pemusatan data,beberapa contohnya adalah : 1. Mean Mean atau rata-rata hitung adalah suatu nilai rata-rata dari semua nilai data observasi yang bisa didapatkan dari rumus berikut : Rata-rata hitung (mean) = Jumlah semua nilai data Banyaknya nilai data 2.
Kurtosis Kurtosis atau ukuran keruncingan adalah kepuncakan dari suatu distribusi, biasanya diambil relative terhadap distribusi normal. 3. Skewness Skewness merupakan ukuran dari kesimetrisan atau lebih tepatnya kekurang simetrisan. Suatu distirbusi dikatakan simetris jika distribusi tersebut Nampak sama antara sebelah kanan dan sebelah kiri titik pusatnya. Distribusi yang simetris misalnya distribusi normal, distribusi t dan distribusi seragam. 3.2. Ekstraksi Fitur Tahap Dua Ekstraksi tahap kedua menggunakan nilai Discrete Fourier Transform sebagai fitur. Discrete Fourier Transform merupakan transformasi sinyal kontinyu ke dalam bentuk diskrit yang dipahami oleh komputer. Gerakan manusia saat beraktifitas adalah kontinyu, sedangkan alat XSens Mtx memiliki frekuensi 25 Hz yang berarti pengambilan 25 sampel selama 1 detik. Semakin besar nilai frekuensi, semakin mendekati pula titik-titik diskrit sinyal gerak badan dengan sinyal kontinyunya. Dalam implementasi di komputasi 135
ISSN : 2407 - 6511 komputer, muncul algortima dengan nama Fast Fourier Transform (FFT). Tujuannya sama seperti DFT hanya perhitungannya dalam bentuk algoritma, dan eksekusinya lebih cepat daripada perhitungan DFT. Berikut gambar yang menunjukan plot attribute TorsoAccX terhadap 125 satuan waktu, dan plot attribute TorsoAccX setelah hasil FFT.
Gambar 2 - Plot Sinyal Accelerometer
Gambar 3 - FFT TorsoAccX
Pada tahap ini, 5 puncak Fourier diambil sebagai fitur. Lima nilai ini diambil berdasarkan 5 nilai magnitude tertinggi. Hal ini berlaku untuk setiap attribute, yang berarti dari 45 attribut segment akan menghasilkan 225 fitur baru.
plot(1:125,x[,1], xlab="N",ylab="TorsoAccX") plot(abs(fft(x[,1])), 3.3. Ekstraksi Fitur Tahap Tiga xlab="Freq",ylab="Magnitude")
Setelah didapatkan 5 nilai magnitude terbesar, diambil nilai frekuensi dari kelima puncak Fourier tersebut. Jika dilihat pada plot fft sebelumnya, puncak diambil dari nilai magnitude, sedangkan pada tahap ini nilai frekuensinya yang diambil. Sama seperti tahap sebeumnya, kelima fitur dikalikan dengan jumlah attribute pada data segment. Hasil akhir fitur pada segment pada tahap ini berjumlah 225 fitur.
3.4. Ekstraksi Fitur Tahap Empat Tahap terakhir dari ekstraksi fitur menggunakan nilai variance dan autocorrelation sebagai acuan. Autocorrelation adalah cross correlation dengan dirinya sendiri. Sedangkan cross correlation sendiri mengukur tingkat kesamaan sinyal dari dua buah variabel. Dari 125 lag dalam autocorrelation, diambil sampel 10 nilai pertama yang mengacu pada penelitian Murat Cihan [2]. Nilai variance yang dihasilkan dari attribute tersebut digunakan sebagai fitur juga. Pada tahap ini dihasilkan 11 fitur dengan komposisi 1 nilai variance dan 10 nilai pertama dari autocorrelation. Sebelas fitur ini dimiliki oleh setiap attribute yang berjumlah 45. Sehingga total fitur yang dihasilkan dari satu data segment adalah 495 (11 x 45). Setelah dilakukan keempat tahapan ekstraksi, langkah selanjutnya adalah menggabungkan fitur dari keempat langkah tersebut. Langkah pertama, kedua, dan ketiga menghasilkan 225 fitur, dan langkah keempat menghasilkan 495 fitur. Total fitur yang dihasilkan dari setiap data segment yaitu 1170 fitur. Penggabungan kolom pada pemrograman R dapat dengan mudah dilakukan menggunakan syntax cbind(). 3.5. Reduksi Fitur Mengolah data dengan jumlah kolom 1170 dan baris 9120 bukanlah perkara mudah jika dilakukan oleh satu buah PC. Ada beberapa solusi yang dapat digunakan yaitu distributed computing menggunakan Hadoop tanpa mengurangi ukuran data, atau mengurangi ukuran data dengan tetap mengolah data menggunakan satu PC. Pada pemecahan kasus ini, dilakukan reduksi fitur menggunakan Principal Component Analysis. Tugas utama dari PCA adalah mereduksi dimensi, dengan membentuk sekumpulan kecil uncorrelated variable dari sekumpulan correlated variable yang besar. Fungsi pca pada pemrograman R dapat dilakukan menggunakan perintah princomp dan prcomp. Kedua perintah tersebut memiliki fungsi yang sama, namun berbeda dalam penghitungannya. Perintah princomp menggunakan eigen untuk menghitung PCA, sedangkan prcomp menggunakan svd. 3.6 Hasil Ekstraksi dan Reduksi Reduksi fitur pada penyelesaian kasus ini menghasilkan 30 fitur baru. Fitur yang dihasilkan melupakan hasil reduksi Principal Component Analysis. Sesuai dengan penelitian sebelumnya [1] [2], 136
ISSN : 2407 - 6511 jumlah fitur yang dihasilkan adalah 30 fitur dengan menggambil 30 komponen terbesar dari 1170 komponen yang dihasilkan. Gambar dibawah menunjukan dataset hasil reduksi yang telah dilakukan normalisasi sehingga range nilainya berada di angka 0 sampai 1. Attribut ke X menunjukan aktifitas, nilai 0 merupakan aktifitas 1 sedangkan nilai 1 menunjukan aktifitas 19. Pada percobaan reduksi fitur, dilakukan 2 percobaan untuk menunjukan keberhasilan reduksi yang dilakukan. Pada pengujian reduksi, dua dataset disiapkan untuk membandingkan akurasi antara training menggunakan dataset 1170 fitur dengan dataset hasil reduksi 30 fitur. Pengujian ini dilakukan menggunakan algoritma Least-Squares Method (LSM). Menggunakan algortima dengan komputasi tinggi tidak cocok dilakukan mengingat dataset memiliki 1170 fitur. Mengacu pada perbandingan waktu eksekusi training dan testing pada data yang telah direduksi [1], LSM memiliki waktu training kurang dari 10 detik dan waktu testing kurang dari 1 detik. Dari informasi tersebut, pengujian ini dilakukan menggunakan algoritma LSM.
Gambar 4 - Hasil 30 Komponen Terbesar Kedua dataset (reduksi dan non-reduksi) disiapkan dengan persentasi random split training 80%. Hasil akurasi dari kedua data menunjukan nilai yang sama yaitu 90.73%, dengan selisih waktu eksekusi yang sangat signifikan, yaitu sekitar 45 menit untuk pengkasifikasian data testing. Pengujian ini dilakukan menggunakan IDE RStudio. 4. Kesimpulan Ekstraksi fitur untuk nilai tiga perangkat dalam 5 detik pengambilan sample dilakukan dengan 4 tahapan utama yang menggunakan beberapa perhitungan statistic, Fast Fourier Transform dan principal component analysis. Perhitungan tersebut dapat dilakukan menggunakan fungsi yang terdapat pada RStudio seperti fungsi fft dan prcomp. Reduksi fitur yang dilakukan dapat mengurangi waktu eksekusi tanpa merubah secara drastis akurasi yang dihasilkan Daftar Pustaka:
[1] B. B. O. T. Karem ALtun, "Comparative Study on Classifying Human Activities with Miniature Inertial and Magnetic Sensors," Pattern Recogniton, 2010. [2] M. C. Yuksek and B. Barshan, "Human Activity Classification with Miniature Inertial and Magnetic Sensor Signal," 2011. [3] L. Ludeman, Fundamental of Digital Signal Processing, Singapore: John Wiley & Sons, Inc, 1987. [4] KDNuggets, "KDNuggets - Data mining Community Top Resource," [Online]. Available: http://www.kdnuggets.com/2013/10/rexer-analytics-2013-data-miner-survey-highlights.html. [Accessed 09 2014]. [5] Adiwijaya, 2014, Aplikasi Matriks dan Ruang Vektor. Graha Ilmu
137