|
|
**1. System Requirements**
|
|
|
|
|
|
* Platform yang kompatibel dengan Intel yang menjalankan Windows 2000, XP/2003/Vista/7/8/2012 Server/8.1/10.
|
|
|
|
|
|
* Minimal 32 MB RAM dan Cukup ruang disk untuk file yang dipulihkan, file gambar, dll.
|
|
|
|
|
|
* Hak istimewa administratif diperlukan untuk menginstal dan menjalankan utilitas R-Studio di bawah Windows 2000 / XP / 2003 / Vista / 7/8/2012 Server / 8.1 / 10.
|
|
|
|
|
|
|
|
|
* Sambungan jaringan untuk pemulihan data melalui jaringan.
|
|
|
|
|
|
* R Version `3.4.0` or later
|
|
|
|
|
|
|
|
|
**2. Unduh dan Install**
|
|
|
|
|
|
* Mengunduh dan menginstal `R` sesuai dengan *platform* yang digunakan. Untuk sistem operasi mac OS <a href=" https://cran.r-project.org/bin/macosx/">Unduh R Mac OS</a>, untuk sistem operasi windows <a href ="https://cran.r-project.org/bin/windows/base/"> Unduh R Windows</a>.
|
|
|
|
|
|
|
|
|
* Mengunduh dan menginstal Rstudio <a href="https://www.rstudio.com/products/rstudio/download/"> Unduh Studio </a> untuk memudahkan pengguna dalam menjalankan program `R`.
|
|
|
|
|
|
* Jalankan `Rstudio` dan unduh *library* `shiny`, `tm`, `stringr`, `plyr`, `gsubfn`, `katadasaR`, `e1071`, `maxent`, `caret`, `dplyr`, `rJava`, `Rweka`, `tau`, `randomForest`, `ROCR`,` cvAUC`, `devtools`.
|
|
|
|
|
|
|
|
|
* <a href= "https://cran.r-project.org/web/packages/"> Cara Instalasi Library R <a/> dan *update library* dapat dilakukan dengan mudah dengan menggunakan `Rstudio`.
|
|
|
|
|
|
* Unduh *file/script* `server.R`, `ui.R`, `stopwords`, `twit positif` dan `negatif` (file berada pada STIS-GIT) dan jalankan script `server.R` dan `ui.R` dengan menggunakan `Rstudio` . Jangan lupa untuk mengubah *path file stopwords* sesuai path aslinya yang terdapat pada `server.R`.
|
|
|
|
|
|
**2. Fungsi-Fungsi Utama**
|
|
|
|
|
|
* Pemilihan Kombinasi Algoritma
|
|
|
|
|
|
![Screen_Shot_2017-08-10_at_9.38.36_PM](/uploads/728e5f75d1ff25de26d1f662296eb538/Screen_Shot_2017-08-10_at_9.38.36_PM.png)
|
|
|
|
|
|
![Screen_Shot_2017-08-10_at_9.38.48_PM](/uploads/ecaf3ac0fc2162e4a9290673c8d8faad/Screen_Shot_2017-08-10_at_9.38.48_PM.png)
|
|
|
|
|
|
Pada pemilihan kombinasi, pengguna dapat memilih kombinasi *preprocessing* dan kombinasi algoritma yang ingin digunakan. Kombinasi algoritma terdiri dari kombinasi preprocessing dan metode klasifikasi. Pengguna dapat memilih kombinasi algoritma dengan menggunakan menu *drop down* seperti pada gambar di atas.
|
|
|
|
|
|
|
|
|
* Import Dataset
|
|
|
|
|
|
![Screen_Shot_2017-08-10_at_9.25.28_PM](/uploads/355602244ae62241167323e7c1a80122/Screen_Shot_2017-08-10_at_9.25.28_PM.png)
|
|
|
|
|
|
Pengguna dapat memasukkan data twitter yang berekstensi .csv atau .txt ke dalam aplikasi. *Import dataset* ini dilakukan sebanyak dua kali, yaitu import dataset `twit positif dan negatif`. *Import* sebanyak dua kali digunakan agar sistem dapat dengan mudah melakukan pelabelan yang pada dasar nya pelabelan ini dilakukan secara manual. Untuk *import* data twit pengguna dapat mengklik menu *“Browse”* seperti pada gambar diatas dan memilih dataset yang digunakan.
|
|
|
|
|
|
|
|
|
|
|
|
* Penggunaan Konversi Kata (normalisasi) atau Tidak
|
|
|
|
|
|
![Screen_Shot_2017-08-10_at_9.25.35_PM](/uploads/d532abe2e32f3fcb3ae2baf7be5fb21c/Screen_Shot_2017-08-10_at_9.25.35_PM.png)
|
|
|
|
|
|
Konversi kata berpengaruh terhadap hasil klasifikasi. Oleh karena itu, pada aplikasi ini user dapat memilih menggunakan `konversi kata(normalisasi) atau tidak` dengan Menggunakan menu *drop down* pada gambar. Konversi kata berarti menyamakan istilah istilah penting yang terdapat pada data twit.
|
|
|
|
|
|
|
|
|
|
|
|
* Penggunaan Stemming atau Tidak
|
|
|
|
|
|
![Screen_Shot_2017-08-10_at_9.25.42_PM](/uploads/05d950032f944269d9d386a3113bae28/Screen_Shot_2017-08-10_at_9.25.42_PM.png)
|
|
|
|
|
|
Penggunaan `stemming atau tidak` dalam tahap *preprocessing* akan berpengaruh terhadap hasil klasifikasi. Pengguna dapat dengan mudah untuk memilih menggunakan tahapan *stemming* dalam *preprocessing* atau tidak pada menu *drop down* gambar di atas. Menggunakan *stemming* berarti kata pada twit diubah menjadi bentuk kata dasar sesuai dengan kaidah bahasa Indonesia.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Menjalankan *Preprocessing*
|
|
|
|
|
|
![Screen_Shot_2017-08-13_at_12.04.28_AM](/uploads/798f370dbbf891a3e283153328bab3fe/Screen_Shot_2017-08-13_at_12.04.28_AM.png)
|
|
|
|
|
|
|
|
|
Setelah melakukan *import* dataset twit positif dan negatif serta memilih penggunaan stemming dan normalisasi atau tidak pengguna dapat menjalankan *preprocessing* seperti pada gambar diatas. Waktu yang dibutuhkan dalam menjalankan *preprocessing* tergantung pada teknik *preprocessing* yang dipilih, penggunaan *stemming* lebih membutuhkan waktu yang lebih lama dibandingkan dengan tidak menggunakan *stemming*.
|
|
|
|
|
|
![Screen_Shot_2017-08-10_at_9.25.50_PM](/uploads/bd79d285b0263686a4a9fe1beea09718/Screen_Shot_2017-08-10_at_9.25.50_PM.png)
|
|
|
|
|
|
Setelah *preprocessing* dijalankan, maka akan dihasilkan twit hasil kombinasi *preprocessing* dan hasil tersebut dapat digunakan sebagai input untuk klasifikasi sentimen. Untuk tampilan *output* hasil *preprocessing* dapat dilihat pada gambar di bawah ini.
|
|
|
|
|
|
![Screen_Shot_2017-08-12_at_11.47.07_PM](/uploads/4254ecaafee9df320b1329db1f837977/Screen_Shot_2017-08-12_at_11.47.07_PM.png)
|
|
|
|
|
|
* Pemilihan N-Grams
|
|
|
|
|
|
![Screen_Shot_2017-08-10_at_9.25.57_PM](/uploads/93d6f4882b8cb66e15db68f9a2eb9f77/Screen_Shot_2017-08-10_at_9.25.57_PM.png)
|
|
|
|
|
|
N-Grams berhubungan dengan seleksi fitur dan proses tokenisasi yang digunakan. Dalam aplikasi ini, N-Grams yang dapat dipilih oleh pengguna berupa `unigram`, `unigram+bigram`, dan `unigram+bigram+trigram` dengan menggunakan menu *drop down* seperti pada gambar di atas.
|
|
|
|
|
|
|
|
|
|
|
|
* Pemilihan Seleksi Fitur
|
|
|
|
|
|
![Screen_Shot_2017-08-10_at_9.26.04_PM](/uploads/a49098f2389a51ea28007146b5469906/Screen_Shot_2017-08-10_at_9.26.04_PM.png)
|
|
|
|
|
|
Pengguna dapat memilih metode seleksi fitur yang digunakan untuk mereduksi term pada document-term matrix. Seleksi fitur yang dapat dipilih ialah `Document Frequency Threshold`, `Information Gain`, `Chi-Square` menggunakan *drop down* seperti pada Gambar di bawah atas.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Pemilihan Algoritma Klasifikasi
|
|
|
|
|
|
Algoritma klasifikasi twit yang didapat dipilih oleh pengguna berupa `Maximum Entropy`, `Random Forests`, dan `Naïve Bayes`. Pemilihan algoritma klasifikasi menggunakan menu *drop down* seperti pada Gambar di bawah ini.
|
|
|
|
|
|
![Screen_Shot_2017-08-10_at_9.26.09_PM](/uploads/a862eb800e81b661dfbdb84219422b7b/Screen_Shot_2017-08-10_at_9.26.09_PM.png)
|
|
|
|
|
|
![Screen_Shot_2017-08-13_at_12.04.18_AM](/uploads/6130ffeb2ca2ebdcd012591e0a05e65d/Screen_Shot_2017-08-13_at_12.04.18_AM.png)
|
|
|
|
|
|
Setelah seluruh pemilihan kombinasi preprocessing dan metode klasifikasi digunakan, akan dihasilkan performa 108 model. Setiap model akan diperhitungkan nilai `F1-Scores`, `akurasi`, `precision`, `recall`, `AUC`, `kurva ROC`, dan `waktu` nya. Tampilan hasil performa dari setiap model kombinasi yang dihasilkan terdapat pada gambar di bawah.
|
|
|
|
|
|
![Screen_Shot_2017-08-10_at_9.41.43_PM](/uploads/cb2ea5d364f3cfab1bbcfc691eb4e65d/Screen_Shot_2017-08-10_at_9.41.43_PM.png)
|
|
|
|
|
|
|
|
|
Confusion matrix, ROC-Curve, Output AUC digunakan sebagai ukuran klasifikasi. Setiap model kombinasi yang dihasilkan akan diukur performanya menggunakan `5X5 Nested Cross Validation`.
|
|
|
|
|
|
**3. Rincian Output**
|
|
|
|
|
|
* Dataset Twit
|
|
|
|
|
|
![Screen_Shot_2017-08-13_at_12.32.49_AM](/uploads/cf9520be4d025c603d50e1fa20983054/Screen_Shot_2017-08-13_at_12.32.49_AM.png)
|
|
|
|
|
|
Dataset twit digunakan untuk menampilkan keadaan data Twitter sebelum dilakukan *preprocessing* . *Preprocessing* digunakan agar data twit yang tak terstruktur diubah menjadi data yang terstruktur.
|
|
|
|
|
|
* Dimensi Data Twit
|
|
|
|
|
|
![Screen_Shot_2017-08-13_at_12.33.00_AM](/uploads/7b0966724d03406c77a69e5461ae52f0/Screen_Shot_2017-08-13_at_12.33.00_AM.png)
|
|
|
|
|
|
*Output* dimensi dataset digunakan untuk memastikan seluruh jumlah twit yang telah diimport untuk digunakan selanjutnya dalam analisis.
|
|
|
|
|
|
* Twit Hasil Preprocessing
|
|
|
|
|
|
![Screen_Shot_2017-08-13_at_12.33.09_AM](/uploads/8a8c62dd555cc3ca7385cb1fe0dd7655/Screen_Shot_2017-08-13_at_12.33.09_AM.png)
|
|
|
|
|
|
Twit hail *preprocessing* digunakan untuk memastikan bahwa proses *preprocessing* berhasil dilakukan dan menghasilkan data twit yang lebih terstruktur dari sebelumnya. Output twit hail *preprocessing* tergantung dari kombinasi *preprocessing* yang digunakan.
|
|
|
|
|
|
|
|
|
* Waktu
|
|
|
|
|
|
![Screen_Shot_2017-08-13_at_12.04.04_AM](/uploads/c957dfb4761f03bc3b877f37867e8e44/Screen_Shot_2017-08-13_at_12.04.04_AM.png)
|
|
|
|
|
|
Waktu yang dibutuhkan untuk eksekusi kombinasi algoritma yang digunakan. Satuan *elapsed* dalam detik.
|
|
|
|
|
|
* Ukuran Klasifikasi untuk setiap 5X5 Cross Validation(inner dan outer)
|
|
|
|
|
|
![Screen_Shot_2017-08-13_at_12.03.57_AM](/uploads/65653e66cd821711600bd73e877bbbca/Screen_Shot_2017-08-13_at_12.03.57_AM.png)
|
|
|
|
|
|
Selain itu, diperlukan untuk melihat kekonsistenan algoritma dalam memprediksi twit seperti pada gambar di atas, Apabila algoritma cenderung baik akan menghasilkan ukuran klasifikasi yang konsisten tinggi untuk di setiap iterasi *inner* dan *outer cross validation*. Adapun ukuran yang digunakan ialah `F1-Scores`, `akurasi`, `AUC`, `recall`, dan `precision`.
|
|
|
|
|
|
|
|
|
|
|
|
* ROC Curve
|
|
|
|
|
|
![Screen_Shot_2017-08-13_at_12.03.48_AM](/uploads/58e76dbc3ad5a5c41bf9c9de3b53dbde/Screen_Shot_2017-08-13_at_12.03.48_AM.png)
|
|
|
|
|
|
*Output* kurva ROC yang merupakan kurva untuk mengukur seberapa baik kombinasi algoritma yang digunakan dalam memprediksi data testing ke dalam dua kelas yang digunakan untuk menghindari adanya akurasi paradoks.
|
|
|
|
|
|
* Performa Algoritma (F1-Scores, Akurasi, Recall , Precision)
|
|
|
|
|
|
![Screen_Shot_2017-08-13_at_12.03.42_AM](/uploads/c353b71f4094131174fc06a026943eb6/Screen_Shot_2017-08-13_at_12.03.42_AM.png)
|
|
|
|
|
|
Output untuk performa setiap kombinasi algoritma dengan menggunakan `5X5 Nested Cross Validation` dapat dilihat pada gambar diatas, Nilai F1-Scores, akurasi, recall, dan precision yang ditampilkan merupakan hasil iterasi untuk setiap inner dan outer cross validation yang digunakan. Pertimbangan cara perhitungan F1-Scores, Akurasi, Recall, dan Precision menggunakan hasil penelitian pada `(Forman & Scholz, 2009)`.
|
|
|
|
|
|
|
|
|
* AUC (Area Under ROC-Curve)
|
|
|
|
|
|
![Screen_Shot_2017-08-13_at_12.03.25_AM](/uploads/49afb4b90b6c1c47168b5f2041bf12fb/Screen_Shot_2017-08-13_at_12.03.25_AM.png)
|
|
|
|
|
|
*Output* AUC pada gambar diatas merupakan nilai dari luas di bawah kurva ROC, semakin besar nilai AUC menandakan luas di bawah kurva ROC semakin besar. Performa klasifikasi semakin bagus dengan semakin besarnya nilai AUC atau semakin luasnya daerah di bawah kurva ROC.
|
|
|
|
|
|
|
|
|
|
|
|
* Confusion Matrix
|
|
|
|
|
|
![Screen_Shot_2017-08-13_at_12.03.33_AM](/uploads/f8ebab2181ed04939e8a29da6765427d/Screen_Shot_2017-08-13_at_12.03.33_AM.png)
|
|
|
|
|
|
Pada Gambar di atas, ditampilkan contoh output confusion matrix yang merupakan dasar untuk perhitungan akurasi, precision, recall, dan AUC. confusion matrix sangat penting dalam mengukur performa klasifikasi. Hasil Confusion Matrix merupakan penjumlahan dari seluruh `5X5 Nested Cross Validation`.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Untuk selengkapnya silahkan *download* dokumen berikut: [USER_MANUAL.docx](/uploads/baf29bc85ca7a0318ccb5828f82e4a80/USER_MANUAL.docx) |
|
|
\ No newline at end of file |