Anda di halaman 1dari 28

Modul Skripsi Pengolahan Data

Aspect-Based Sentiment Analysis Rencana Pemindahan Ibu Kota


Menggunakan Naïve Bayes Classifier dan Support Vector Machine

Disusun oleh:
Daffa Jatmiko -1806196522

Departemen Teknik Industri


Fakultas Teknik
Universitas Indonesia
Pendahuluan
Presiden Joko Widodo melalui rapat terbatas pemerintah memutuskan untuk
memindahkan ibu kota negara ke luar Pulau Jawa. Selanjutnya, Presiden Joko Widodo
mengumumkan bahwa ibu kota baru akan dibangun di wilayah administratif Kabupaten
Penajam Paser Utara dan Kabupaten Kutai Kartanegara, Provinsi Kalimantan Timur. Ibu kota
negara memegang peranan yang sangat vital dikarenakan ibu kota negara bersifat
multifungsi, yaitu sebagai pusat politik dan pemerintahan, pusat kegiatan bisnis dan ekonomi.

Letak Jakarta yang lebih jauh ke bagian barat Indonesia diduga menjadi penyebab
tingginya tingkat ketimpangan antar wilayah di tanah air. Beberapa alasan pemerintah untuk
memindahkan Ibu Kota Negara Republik Indonesia, salah satunya terkait dengan jumlah
penduduk di Jakarta yang padat (Putri et al., 2018) karena semua kegiatan terpusat di Jakarta,
Jakarta rawan bencana karena berada di Ring of Fire.

Pemindahan ini banyak didukung masyarakat supaya terjadi pemerataan


pembangunan di seluruh Indonesia. Tetapi ada juga sebagian yang tidak mendukung karena
pemindahan ibu kota ini dianggap terlalu terburu-buru tanpa perencanaan yang matang. Pro
dan kontra masyarakat Indonesia inilah yang akan menjadi topik penelitian oleh penulis.

Penulis mengaplikasikan sentiment analysis yang akurat yang memerlukan classifier


berbasis machine learning dengan nilai akurasi yang tinggi. Tujuan peneliti adalah melakukan
perbandingan dan menentukan model classifier terbaik pada analisis sentimen untuk
mengklasifikasikan opini positif dan negatif publik tentang wacana relokasi atau pemindahan
ibu kota negara (IKN) dalam media sosial Twitter menggunakan Naive bayes, Support
Vector Machine.
Landasan Teori

1. Naïve Bayes
Dengan menggunakan teorema Bayes, dapat ditulis

𝑝(𝐶)𝑝(𝐹1 , … , 𝐹𝑛 |𝐶)
𝑝(𝐶|𝐹1 , … , 𝐹𝑛 ) =
𝑝(𝐹1 , … , 𝐹𝑛 )
dapat ditulis sebagai

𝑝𝑟𝑖𝑜𝑟 × 𝑙𝑖𝑘𝑒𝑙𝑖ℎ𝑜𝑜𝑑
𝑝𝑜𝑠𝑡𝑒𝑟𝑖𝑜𝑟 =
𝑒𝑣𝑖𝑑𝑒𝑛𝑐𝑒
Dalam prakteknya hanya difokuskan pada pembilang dari pecahan tersebut, karena
penyebutnya tidak bergantung pada C dan nilai fitur 𝐹𝑖 diberikan, sehingga penyebutnya
konstan secara efektif. Pembilangnya setara dengan model probabilitas gabungan
𝑝(𝐶, 𝐹1 , … , 𝐹𝑛 )
Sekarang asumsi independensi bersyarat "naif" mulai berlaku: asumsikan bahwa setiap fitur
independen bersyarat dari setiap fitur lainnya untuk. Ini berarti bahwa
𝑝(𝐹𝑖 |𝐶, 𝐹𝑗 ) = 𝑝(𝐹𝑖 |𝐶)
Untuk 𝑖 ≠ 𝑗, sehingga model gabungan dapat dinyatakan sebagai
𝑝(𝐶, 𝐹1 , … , 𝐹𝑛 ) = 𝑝(𝐶) 𝑝(𝐹1 |𝐶) 𝑝(𝐹2 |𝐶) 𝑝(𝐹3 |𝐶) …
𝑛

= 𝑝(𝐶) ∏ 𝑝(𝐹𝑖 |𝐶)


𝑖=1

Di bawah asumsi independensi di atas, distribusi bersyarat atas variabel kelas C dapat
dinyatakan seperti ini:
𝑛
1
𝑝(𝐶|𝐹1 , … , 𝐹𝑛 ) = 𝑝(𝐶) ∏ 𝑝(𝐹𝑖 |𝐶)
𝑍
𝑖=1

di mana Z (bukti) adalah faktor penskalaan yang hanya bergantung pada 𝐹1 , … , 𝐹𝑛 , 𝑖. 𝑒.,
sebuah konstanta jika nilai variabel fitur diketahui.

Pengklasifikasi naif Bayes menggabungkan model ini dengan aturan keputusan.


Pengklasifikasi yang sesuai adalah fungsi classify yang didefinisikan sebagai berikut:
𝑛

𝑐𝑙𝑎𝑠𝑠𝑖𝑓𝑦(𝑓1 , … , 𝑓𝑛 ) = 𝑎𝑟𝑔𝑚𝑎𝑥 𝑝(𝐶 = 𝑐) ∏ 𝑝(𝐹𝑖 = 𝑓𝑖 |𝐶 = 𝑐)


𝑖=1

2. Support Vector Machine

Teknik SVM adalah pengklasifikasi yang menemukan hyperplane atau fungsi 𝑔(𝑥) =
𝑤 𝑇 𝑥 + 𝑏 yang dengan benar memisahkan dua kelas dengan margin maksimum.

Gambar 1. Hyperplane pemisah margin-maksimum keras

Secara matematis, diberikan satu set poin 𝑥𝑖 yang termasuk dalam dua kelas yang dapat
|𝑔(𝑥)|
dipisahkan secara linier 𝜔1, 𝜔2 , jarak setiap instance dari hyperplane sama dengan ‖𝑤‖
.

SVM bertujuan untuk menemukan w, b, sehingga nilai 𝑔(𝑥) sama dengan 1 untuk titik data
terdekat milik kelas 𝜔1 dan -1 untuk yang terdekat dari 𝜔2 . Ini dapat dilihat sebagai memiliki
margin

1 1 2
+ =
‖𝑤‖ ‖𝑤‖ ‖𝑤‖
sedangkan 𝑤 𝑇 𝑥 + 𝑏 = 1 untuk x ∈ 𝜔1 , dan 𝑤 𝑇 𝑥 + 𝑏 = −1 untuk x ∈ 𝜔2 .
Hal ini menyebabkan masalah optimasi yang meminimalkan fungsi tujuan
1
𝐽(𝑤) = ‖𝑤‖2
2
subject pada constraint
𝑦𝑖 (𝑤𝑖𝑇 𝑥 + 𝑏) ≥ 1, 𝑖 = 1,2, … , 𝑁
Ketika masalah optimasi-apakah minimalisasi atau maksimalisasi-memiliki kendala
dalam variabel yang dioptimalkan, fungsi biaya atau kesalahan ditambah dengan
menambahkan kendala, dikalikan dengan pengali Lagrange. Fungsi Lagrangian untuk SVM
dibentuk dengan menambah fungsi tujuan dengan jumlah terbobot dari kendala,
𝑁
1
ℒ(𝑤, 𝑏, 𝜆) = 𝑤 𝑇 𝑤 − ∑ 𝜆𝑖 [𝑦𝑖 (𝑤 𝑇 𝑥𝑖 + 𝑏) − 1]
2
𝑖=1

di mana w dan B disebut variabel primal, dan 𝜆𝑖 pengali Lagrange.


Dengan adanya kendala pertidaksamaan,Karush-Kuhn-Tucker (KKT) kondisi
menggeneralisasi pengali Lagrange.
KKT syaratnya adalah:
1. Kendala utama
−[𝑦𝑖 (𝑤 𝑇 𝑥𝑖 + 𝑏) − 1] ≤ 0 ∀𝑖 = 1, … , 𝑁
2. Kendala ganda
𝜆𝑖 ≥ 0 ∀𝑖 = 1, … , 𝑁

3. Kelambanan komplementaritas
𝜆𝑖 [𝑦𝑖 (𝑤 𝑇 𝑥𝑖 + 𝑏) − 1] = 0 ∀𝑖 = 1, … , 𝑁
4. Gradien Lagrangian (nol, sehubungan dengan variabel primal)
𝑤 − ∑𝑁
𝑖=1 𝜆𝑖 𝑦𝑖 𝑥𝑖
∇ℒ(𝑤, 𝑏, 𝜆) = [ 𝑁 ]=0
− ∑𝑖=1 𝜆𝑖 𝑦𝑖
Berdasarkan kondisi KKT,
𝑁

𝑤 = ∑ 𝜆𝑖 𝑦𝑖 𝑥𝑖
𝑖=1
𝑁

∑ 𝜆𝑖 𝑦𝑖 = 0
𝑖=1

Masalah ganda optimasi SVM adalah menemukan


𝑁
1
𝑚𝑎𝑥 (∑ 𝜆𝑖 − ∑ 𝜆𝑖 𝜆𝑗 𝑦𝑖 𝑦𝑗 𝑥𝑖 𝑥𝑗 )
2
𝑖=1 𝑖,𝑗

Subject pada
𝑁

∑ 𝜆𝑖 𝑦𝑖 = 0
𝑖=1

𝜆𝑖 ≥ 0 ∀𝑖
Langkah-langkah install Rapidminer Studio
1. Untuk mengunduh aplikasi, buka situs web RapidMiner
https://rapidminer.com/products/studio/

2. Klik tombol Unduh di sudut kanan atas.

3. Masuk jika Anda belum melakukannya. Lihat di bawah jika Anda perlu membuat
akun. Jika Anda hanya ingin mengunduh RapidMiner Studio tanpa masuk, klik
Unduhan

4. Klik pada sistem operasi pilihan Anda untuk memulai pengunduhan. Sistem operasi
Anda saat ini akan disorot.

Langkah-langkah membuat akun Rapidminer

1. Membuat akun memerlukan akses ke Internet:


https://my.rapidminer.com/nexus/account/index.html#signup?product=studio

2. Selesaikan langkah-langkah untuk membuat akun dengan mengikuti petunjuk di layar.

3. Setelah selesai, Anda dapat kembali ke RapidMiner Studio dan memasukkan


kredensial Anda untuk melanjutkan.

4. Dari layar login Anda juga dapat Mengatur Ulang Kredensial. Mengklik tautan akan
membuka halaman akun. Dari sana, Anda dapat mengubah email atau kata sandi
Anda.

5. Setelah Anda mengklik Login dan Instal, layar Sukses muncul. Klik saya siap.
Langkah-langkah pengolahan data
1. Pra-pemrosesan Data
• Pengumpulan Data
Data yang dipakai berupa teks yang membahas mengenai hal-hal seputar pemindahan
Ibu Kota Negara dengan keyword search atau query yaitu Ibu Kota Baru, Pindah Ibu Kota,
dan Pemindahan Ibu Kota dari September hingga Oktober 2021 dengan total 1153 jumlah
tweets.

Gambar 2. Cuplikan Web Scraping menggunakan Twitter Developer API


Gambar 3. Cuplikan Hasil Web Scraping 3 Queries dalam Excel

• Penerjemahan data
Semua tweets yang diperoleh dari 3 queries tersebut dalam Bahasa Indonesia dimana
perlu diterjemahkan ke dalam Bahasa Inggris karena daftar kata atau korpus yang tersedia
dan digunakan dalam Rapidminer adalah korpus standar Bahasa Inggris.

Gambar 4. Hasil translasi 3 queries tweets dari Bahasa Indonesia menjadi Bahasa Inggris untuk
menyesuaikan dengan korpus yang tersedia dalam Rapidminer

• Penggabungan data
Kemudian semua tweets dari 3 query yang berbeda digabungkan pada 1 kolom dalam 1
tabel atau sheet.
Gambar 5 Penggabungan 3 dataframe queries menjadi 1 kolom dan datasheet dengan total
1153 tweets data

• Penghilangan duplikasi
Operator ini menghapus contoh duplikat sehingga hanya satu dari semua contoh
duplikat yang disimpan. Dua contoh dianggap duplikat jika atribut yang dipilih memiliki nilai
yang sama di dalamnya.

Gambar 6. Proses pre-processing pembersihan dan pelabelan data


Gambar 7. Operator remove duplicate (menghilangkan duplikasi)

Berikutnya adalah pemilihan atribut. Operator ini menyediakan berbagai jenis filter
untuk memudahkan pemilihan Atribut. Kemungkinannya misalnya: Pemilihan langsung
Atribut. Seleksi dengan ekspresi reguler atau hanya memilih Atribut tanpa nilai yang hilang.

Gambar 8. Operator select attributes (memilih attribut)

• Penggantian ekspresi reguler

Operator ini memilih atribut untuk melakukan penggantian dan untuk menentukan
ekspresi reguler. Penggantinya bisa kosong.

Gambar 9 Operator replace (mengganti)

• Pelabelan polaritas
Teks yang disediakan dianalisis untuk menentukan apakah teks tersebut
mengekspresikan sentimen positif/negatif/netral; untuk melakukan ini, polaritas lokal dari
kalimat yang berbeda dalam teks diidentifikasi dan hubungan di antara mereka dievaluasi,
menghasilkan nilai polaritas global untuk keseluruhan teks.

Gambar 10 Operator Sentiment Analysis MeaningCloud untuk pelabelan polaritas data

Gambar 11 Cuplikan hasil pelablean data dengan operator Sentiment Analysis ekstensi
MeaningCloud

• Pembagian polaritas positif dan negative

Hasil pelabelan dari operator Sentiment Analysis MeaningCloud terbagi menjadi 6 jenis
polaritas yaitu: NONE, P, N, P+, N+, dan NEU. Untuk data dapat diujikan pada model
algoritma Machine Learning Support Vector Machine, dibutuhkan tipe polaritas yang
binomial (hanya 2 jenis nilai saja yaitu P dan N) sehingga data polaritas pelabelan difilter
kembali menjadi hanya polaritas positif dan negatif saja.
Gambar 12 Pembagian dan jumlah dari 6 jenis polaritas pelabelan data

Tabel 1 Tipe polaritas (Polarity Value) beserta jumlah data per tipe dan persentasenya

Polarity Value Count Percentage

NONE 355 34,53%

P 350 34,05%

N 196 19,07%

P+ 55 5,35%

N+ 45 4,38%

NEU 27 2,63%

TOTAL 1153 100%

Tabel 2 Jumlah data dan persentase untuk polaritas positif dan negatif

Polarity Value Count Percentage

P 405 62,69%

N 241 37,31%

Total 646 100%

2. Identifikasi Aspek
Kategori aspek (misalnya, makanan, harga) mengidentifikasi fitur yang lebih kasar
daripada istilah aspek, dan mereka tidak selalu muncul sebagai istilah dalam kalimat tertentu.
Dalam contoh topik pemindahan IKN di atas, presiden, menteri, dan pemerintah yang
mengacu pada kategori aspek “Pelaksanaan atau Implementasi IKN” karena pada konteks
tweets di atas dijelaskan bahwa entitas-entitas tersebut yang turun tangan dalam pengerjaan
dan pelaksanaan pemindahan IKN (tidak disebutkan secara eksplisit atau langsung melainkan
implisit).

Terdapat pula banyak kata-kata pada tweets yang langsung disebutkan secara jelas
seperti Kalimantan, Samarinda, dll yang merujuk pada pemilihan lokasi Ibu Kota baru
sehingga masuk ke dalam aspek “Lokasi”. Ada pula beberapa Istilah yang memiliki arti yang
sama seperti rakyat, penduduk, dan warga dimana meskipun terdapat sedikit perbedaan pada
definisinya namun berdasarkan konteks mengacu pada entitas yang sama sehingga masuk ke
dalam kategori aspek “Sosial”.

Gambar 13. Proses Identifikasi kata kunci setiap tweets

Tabel 3 Daftar 6 Kategori Aspek Pemindahan IKN beserta kata kuncinya

ASPECTS

Pelaksanaan Pengelola Pembangunan


Lokasi Ekonomi Sosial Lingkungan
IKN IKN infrastruktur lain

Jokowi dki Jakarta Ahok train money people habitat

government east candidates project budget locals komodo


kalimantan dragon

leader of new
Minister kalimantan airport debt citizen komodo island
capital

RUU Bekasi chief construction benefit demonstration orang utan

ikn Bandung authority infrastructure pay students Forest

ikn law Samarinda cost

progress funds

relocation investment

pertamina

garuda

bumn

state-owned
enterprises

ASPECTS PERCENTAGE
Social Economy
12% 16%

Other infrastructure
development Environment
9% 2%

Location
9%

IKN implementation
IKN manager 36%
16%

Gambar 14. Persentase 7 Aspek dalam data tweets

3. Generasi fitur N-grams


Ini adalah metode untuk memeriksa 'n' kata atau suara terus menerus dari urutan teks
atau ucapan yang diberikan. Model ini membantu untuk memprediksi item berikutnya secara
berurutan. Dalam analisis sentimen, model n-gram membantu menganalisis sentimen dari
teks atau dokumen.
Berikut adalah operator Generate n-grams yang digunakan ketika memproses dokumen
sebelum di-apply pada model classifier. Operator ini membuat semua kemungkinan n-Gram
dari setiap token dalam dokumen.

Gambar 15. Proses membangun model Classifier Machine Learning dengan Cross Validation

Gambar 16. Operator generate n-grams pada Process Documents

4. Pembangunan model klasifikasi

• Case folding

Case Folding adalah proses konversi semua karakter dalam dokumen menjadi huruf
kecil semua, untuk mempercepat perbandingan selama proses pengindeksan.

Gambar 17 Process Documents transform cases hingga stemming dari data


Gambar 18 Process case folding dengan operator transform cases konversi menjadi huruf kecil

• Tokenization

Tokenisasi adalah proses mengubah teks menjadi token sebelum mengubahnya menjadi
vektor. Juga lebih mudah untuk menyaring token yang tidak perlu.

Gambar 19 Process tokenization dengan operator tokenize

• Filter stopwords

Stopwords dapat diartikan sebagai menghilangkan kata-kata umum yang tidak memiliki
makna atau informasi yang dibutuhkan (Ling et al. 2014). Contoh stopwords dalam bahasa
ndonesia seperti “yang”, “juga”, “dari”, “dia”, “kami”, “kamu”, “aku”, “saya”, “ini”, “itu”,
“atau” dan lain sebagainya.

Gambar 20. Proses stopword removal dengan operator filter stopwords

• Stemming
Stemming adalah metode menghilangkan akhiran kata dan membawanya ke kata dasar.

Gambar 3.21 Process stemming dengan Bahasa Inggris

• Optimize Parameter

Operator ini memberikan nilai parameter yang optimal melalui port parameter yang
juga dapat ditulis ke dalam file dengan operator Write Parameters.

Gambar 22. Proses membangun model Classifier Machine Learning dengan Optimize Parameter
Grid

Tabel 4 Optimize Parameter jumlah kernel Naïve Bayes

Parameter Grid/range

Number of kernels 1 - 10

Bandwidth 0,1 - 0,5

Tabel 5 Optimize Parameter C Support Vector Machine

Parameter Grid/range
C 0.1 - 100

Gamma 0,0001 - 10

• Machine Learning Classification

Terdapat 2 algoritme klasifikasi yang digunakan yaitu Naïve Bayes (NB) dan Support
Vector Machine (SVM). Setelah proses training dilakukan, setiap model akan dievaluasi
dengan confusion matrix dan kriteria performa model pada tahap selanjutnya.

A. Naïve Bayes

Pengklasifikasi Naive Bayes adalah pengklasifikasi probabilistik sederhana berdasarkan


penerapan teorema Bayes (dari statistik Bayesian) dengan asumsi independensi yang kuat
(naif). Istilah yang lebih deskriptif untuk model probabilitas yang mendasarinya adalah
'model fitur independen'. Secara sederhana, pengklasifikasi Naive Bayes mengasumsikan
bahwa ada (atau tidak adanya) fitur tertentu dari suatu kelas (yaitu atribut) tidak terkait
dengan ada (atau tidak adanya) fitur lainnya.

Gambar 23. Process training algoritma klasifikasi Naïve Bayes

B. Support Vector Machine


SVM standar mengambil satu set data input dan memprediksi, untuk setiap input yang
diberikan, yang mana dari dua kelas membuat SVM menjadi pengklasifikasi linier biner non-
probabilistik.
Gambar 24. Process training algoritma klasifikasi Support Vector Machine

5. Evaluasi K-fold Cross Validation

Ada 4 model yang akan di evaluasi yaitu :

• Naïve Bayes
• Optimized Naïve Bayes
• Support Vector Machine
• Optimized Support Vector Machine

Confusion matrix kriteria performa model akan dipaparkan lebih lanjut pada analisis hasil
penelitian. Evaluasi semua model dilakukan dengan 10-fold validation sehingga tidak
diperlukannyadata testing dan training ataupun split dalam data.

a) Naïve Bayes
Model menghasilkan prediksi dengan akurasi 61,76% (unigram), 59,76% (bigram), dan
67,20% (trigram). Dengan nilai true positive 344 dan true negative 55 (unigram), true
positive , algoritme ini tergolong belum memenuhi kategori good classifier

Tabel 6. Confusion Matrix Naïve Bayes (unigram)

Confusion Matrix True Class

Default Naïve Bayes Positive Negative precision

Positive 344 186 64,91%


Predict
Negative 61 55 47,41%

Class recall 84,94% 22,82%

Tabel 7. Confusion Matrix Naïve Bayes (bigram)

Confusion Matrix True Class

Default Naïve Bayes Positive Negative precision

Positive 298 153 66,08%


Predict
Negative 107 88 45,13%
Class recall 73,58% 36,51%

Tabel 8. Confusion Matrix Naïve Bayes (trigram)

Confusion Matrix True Class

Default Naïve Bayes Positive Negative precision

Positive 343 150 69,57%


Predict
Negative 62 91 59,48%

Class recall 84,69% 37,76%

b) Optimized Naïve Bayes


Dengan akurasi sebesar 64,09% (unigram), 65,64% (bigram), dan 68,41% (trigram)
model ini belum dapat di golongkan ke dalam kategori good classifier. Dari keempat model
yang dikembangkan, model NB teroptimasi merupakan klassifier terbaik secara akurasi.

Tabel 3.9 Confusion Matrix Optimized Naïve Bayes (unigram)

Confusion Matrix True Class

Optimized Naïve Bayes Positive Negative precision

Positive 344 171 66,80%


Predict
Negative 61 70 53,44%

Class recall 84,94% 29,05%

Tabel 10. Confusion Matrix Optimized Naïve Bayes (bigram)

Confusion Matrix True Class

Optimized Naïve Bayes Positive Negative precision

Positive 362 179 66,91%


Predict
Negative 43 62 59,05%

Class recall 89,38% 25,73%

Tabel 3.11 Confusion Matrix Optimized Naïve Bayes (trigram)

Confusion Matrix True Class


precision
Optimized Naïve Bayes Positive Negative

Positive 354 153 69,82%


Predict
Negative 51 88 63,31%

Class recall 87,41% 36,51%

c) Default Support Vector Machine


Sama dengan model klasifikasi sebelumnya, SVM dengan parameter default dapat
terlihat hanya mampu memprediksi kelas positif pada kasus unigram namun menunjukkan
performa yang berbeda untuk bigram dan trigram dalam memprediksi kelas negatif. Dengan
akurasi yang hanya mencapai 62,69% (unigram), 61,94% (bigram), dan 64,56% (trigram)
dimana model ini belum dapat digolongkan ke dalam kelas good classifier.

Tabel 12. Confusion Matrix Default Support Vector Machine (unigram)

Confusion Matrix True Class

Default Support Vector Machine Positive Negative precision

Positive 405 241 62,69%


Predict
Negative 0 0 0%

Class recall 100% 0%

Tabel 13. Confusion Matrix Default Support Vector Machine (bigram)

Confusion Matrix True Class

Optimized Naïve Bayes Positive Negative precision

Positive 326 167 66,13%


Predict
Negative 79 74 48,37%

Class recall 80,49% 30,71%

Tabel 14. Confusion Matrix Default Support Vector Machine (trigram)

Confusion Matrix True Class

Optimized Naïve Bayes Positive Negative precision


Positive 373 197 65,44%
Predict
Negative 32 44 57,89%

Class recall 92,10% 18,26%

d) Optimized Support Vector Machine


Model SVM yang telah dioptimasi masih belum dapat mencapai akurasi yang baik
yaitu 62,85% (unigram), 58,21% (bigram), dan 66,10% (trigram).

Tabel 15. Confusion Matrix Optimized Support Vector Machine (unigram)

Confusion Matrix True Class

Default Support Vector Machine Positive Negative precision

Positive 402 237 62,91%


Predict
Negative 3 4 57,14%

Class recall 99,26% 1,66%

Tabel 16. Confusion Matrix Optimized Support Vector Machine (bigram)

Confusion Matrix True Class

Optimized Naïve Bayes Positive Negative precision

Positive 244 109 69,12%


Predict
Negative 161 132 45,05%

Class recall 60,25% 54,77%

Tabel 17. Confusion Matrix Optimized Support Vector Machine (trigram)

Confusion Matrix True Class

Optimized Naïve Bayes Positive Negative precision

Positive 295 109 73,02%


Predict
Negative 110 132 54,55%

Class recall 72,84% 54,77%


Hasil dan Analisa
Bab ini akan menjelaskan hasil dari penelitian yang telah dikerjakan pada bagian
sebelumnya. Analisis secara lebih detail dan mendalam mengenai model machine learning
yang telah dikembangkan akan dilakukan pula pada bab ini. Analisis yang akan dilakukan
mengacu pada hasil dari penelitian untuk masing-masing metode klasifikasi. Kemudian,
perbandingan performa model yang dihasilkan dari algoritme Naïve Bayes (NB) dan Support
Vector Machine (SVM) juga akan dilakukan untuk mendapatkan kesimpulan dan saran.

4.1. Perbandingan Model Klasifikasi


Analisis terakhir pada penelitian ini adalah perbandingan antara semua model klasifikasi
yang telah dikembangkan. Tabel 4.1, 4.2, dan 4.3 memuat semua nilai evaluasi performa dari
model. Menariknya, baik NB dan SVM yang dioptimalkan mengungguli pengklasifikasi
default mereka sendiri. NB default belum dapat menangani tugas klasifikasi dengan baik
dengan akurasi dan MCC berturut-turut sebesar 61,76% dan 10% pada model unigram,
59,76% dan 11% pada model bigram, dan 67,20% dan 26% pada model trigram. Sementara
itu, hasil NB yang dioptimalkan menghasilkan kinerja yang hanya sedikit lebih baik (tidak
signifikan) jika dibandingkan dengan NB default perbedaan akurasi sebesar 2,33% pada
model unigram, 5,88% pada model bigram, dan 1,21% pada model trigram.

Tabel 18. Performa model klasifikasi (unigram)

Model Klasifikasi
Kriteria
Optimized
Evaluasi Default NB Optimized NB Default SVM
SVM

Accuracy 61.76% 64.09% 62.69% 62.85%

Precision 64.91% 66.80% 62.69% 62.91%

Sensitivity 84.94% 84.94% 100.00% 99.26%

Specificity 22.82% 29.05% 0.00% 1.66%

MCC 10% 17% 0% 4%

Tabel 19. Performa model klasifikasi (bigram)

Kriteria Model Klasifikasi


Evaluasi
Optimized
Default NB Optimized NB Default SVM
SVM

Accuracy 59.76% 65.64% 61.94% 58.21%

Precision 66.08% 66.91% 66.13% 69.12%

Sensitivity 73.58% 89.38% 80.49% 60.25%

Specificity 36.51% 25.73% 30.71% 54.77%

MCC 11% 20% 13% 15%

Tabel 20. Performa model klasifikasi (trigram)

Model Klasifikasi
Kriteria
Optimized
Evaluasi Default NB Optimized NB Default SVM
SVM

Accuracy 67.20% 68.41% 64.56% 66.10%

Precision 69.57% 69.82% 65.44% 73.02%

Sensitivity 84.69% 87.41% 92.10% 72.84%

Specificity 37.76% 36.51% 18.26% 54.77%

MCC 26% 28% 16% 28%

Sama seperti sedikit perbaikan dari standar ke dioptimalkan dalam kinerja NB,
Hyperparameter tuning (Parameter optimization) hanya meningkatkan beberapa kinerja SVM
menjadi sedikit lebih baik (tidak signifikan). Peningkatan akurasi dan MCC dalam SVM
masing-masing sebesar 0,16% dan 4,29% pada model unigram, penurunan akurasi sebesar
3,73% dan peningkatan MCC sebesar 1,85% pada model bigram, dan peningkatan sebesar
1,54% dan 12% pada model trigram. Tanpa optimasi, dapat dikatakan SVM masih dapat
menjalankan tugas klasifikasinya meskipun dengan nilai presisi dan specificity yang lebih
kecil. Dengan nilai MCC sebesar 16%, dapat disimpulkan bahwa model ini bukan definisi
klasifier yang bagus dan bahkan hanya mencapai 28% setelah teroptimasi. Pada kasus ini,
NB terbukti lebih baik dari SVM ketika dioptimalkan meskipun dengan perbedaan yang
sangat kecil (perbedaan akurasi hanya 2,31% dan 0% perbedaan MCC), yang menjadikan NB
sebagai pengklasifikasi terbaik dalam penelitian ini.

30% 28% 28%


26%
25%
20%
20% 17%
15% 16%
15% 13%
10% 11%
10%
4%
5%
0%
0%
Optimized NB Optimized SVM Default NB Default SVM

MCC Unigram MCC Bigram MCC Trigram

Gambar 25. Peringkat Performa Model Berdasarkan Nilai MCC

MCC digunakan sebagai kriteria utama untuk menentukan peringkat pengklasifikasi pada
gambar 4.13. Pengklasifikasi terbaik dalam penelitian ini adalah NB trigram teroptimasi
diikuti oleh SVM trigram teroptimasi, kemudian NB Default trigram, dan terakhir, SVM
default trigram.

Optimize parameters terbukti mampu meningkatkan performa model klasifikasi dengan


waktu komputasi yang cukup singkat. Peningkatan pada NB tergolong tidak signifikan namun
mampu menunjukkan bahwa algoritme NB dapat memberikan hasil yang lebih memuaskan
jika parameter yang digunakan sesuai dan tepat. Dari penelitian ini, didapatkan 4
pengklasifikasi walaupun tidak cukup baik yaitu NB teroptimasi, SVM teroptimasi, NB
default, dan SVM default dengan ketiga model pertama bekerja lebih baik dibandingkan
model SVM default yang hampir tidak mampu untuk melakukan tugas klasifikasi sentiment
analysis.
Daftar Referensi

Arslan, M. (2014). The significance of shifting capital of KAZAKSTAN from ALMATY TO ASTANA: An
EVALUTION on the basis of geopolitical and Demographic Developments. Procedia - Social and
Behavioral Sciences, 120, 98–109. https://doi.org/10.1016/j.sbspro.2014.02.086
Amrani, Y. A., Lazaar, M., & Kadiri, K. E. (2018). A novel hybrid classification approach for sentiment
analysis of text document. International Journal of Electrical and Computer Engineering (IJECE), 8(6),
4554–4567. https://doi.org/10.11591/ijece.v8i6.pp4554-4567
Carley, K. M., Malik, M., Kowalchuck, M., Pfeffer, J., & Landwehr, P. (2015). Twitter usage in Indonesia.
SSRN Electronic Journal. https://doi.org/10.2139/ssrn.2720332
Hamdan, H., Bellot, P., & Bechet, F. (2015). Lsislif: CRF and logistic regression for Opinion target
extraction and Sentiment POLARITY ANALYSIS. Proceedings of the 9th International Workshop on
Semantic Evaluation (SemEval 2015), 753–758. https://doi.org/10.18653/v1/s15-2128
Kelly, J. (2020). The city Sprouted: The rise of BRASÍLIA.
http://www.jstor.org/stable/10.2307/26924964?refreqid=search-gateway.
Logan, D. (2013, October 20). Myanmar's Phantom capital. The Globalist.
https://www.theglobalist.com/myanmars-phantom-capital/.
Luo, P., Kang, S., Apip, Zhou, M., Lyu, J., Aisyah, S., Binaya, M., Regmi, R. K., & Nover, D. (2019). Water
quality trend assessment in Jakarta: A rapidly growing Asian megacity. PLOS ONE, 14(7).
https://doi.org/10.1371/journal.pone.0219009
Maitra, S., Madan, S., Kandwal, R., & Mahajan, P. (2018). Mining authentic student feedback for faculty
using naïve Bayes classifier. Procedia Computer Science, 132, 1171–1183.
https://doi.org/10.1016/j.procs.2018.05.032
Narayanan, V., Arora, I., & Bhatia, A. (2013). Fast and accurate sentiment classification using an enhanced
naive bayes model. Intelligent Data Engineering and Automated Learning – IDEAL 2013, 194–201.
https://doi.org/10.1007/978-3-642-41278-3_24
Ni, P., Kamiya, M., & Ding, R. (2018). Cities network along the Silk road: The global Urban
competitiveness report 2017. SPRINGER.
Pak, A., & Paroubek, P. (2010). Twitter as a Corpus for Sentiment Analysis and Opinion mining . Proceedings
of the Seventh International Conference on Language Resources and Evaluation (LREC'10).
Park, C. W., & Seo, D. R. (2018). Sentiment analysis of twitter corpus related to artificial intelligence assistants.
2018 5th International Conference on Industrial Engineering and Applications (ICIEA).
https://doi.org/10.1109/iea.2018.8387151
Putri, R. F., Wibirama, S., Sukamdi, & Giyarsih, S. R. (2018). Population condition analysis of jakarta land
deformation area. IOP Conference Series: Earth and Environmental Science, 148, 012007.
https://doi.org/10.1088/1755-1315/148/1/012007
Reva, D. (2017, May 9). Capital City Relocation and National Security: The Cases of Nigeria and Kazakhstan.
UPSpace. http://hdl.handle.net/2263/60413.
Siegel, F. R. (2020). Coastal city flooding. In Adaptations of coastal cities to global warming, sea level rise,
climate change and endemic hazards (pp. 27–34). essay, Springer.
Sutoyo, E., & Almaarif, A. (2020). Educational Data Mining for Predicting Student Graduation Using the Naïve
Bayes Classifier Algorithm. Jurnal RESTI (Rekayasa Sistem Dan Teknologi Informasi), 4(1), 95–101.
https://doi.org/10.29207/resti.v4i1.1502
Bayhaqy, A., Sfenrianto, S., Nainggolan, K., & Kaburuan, E. R. (2018). Sentiment analysis about e-
commerce from tweets using decision tree, K-nearest neighbor, and Naïve Bayes. 2018 International
Conference on Orange Technologies (ICOT). https://doi.org/10.1109/icot.2018.8705796
Fitri, V. A., Andreswari, R., & Hasibuan, M. A. (2019). Sentiment analysis of social media Twitter with
case of anti-LGBT campaign in Indonesia using naïve Bayes, decision tree, and Random Forest algorithm.
Procedia Computer Science, 161, 765–772. https://doi.org/10.1016/j.procs.2019.11.181
Guia, M., Silva, R., & Bernardino, J. (2019). Comparison of naïve Bayes, support Vector Machine,
decision trees and random forest on sentiment analysis. Proceedings of the 11th International Joint
Conference on Knowledge Discovery, Knowledge Engineering and Knowledge Management.
https://doi.org/10.5220/0008364105250531
Hakim, S. N., Putra, A. J., & Khasanah, A. U. (2021). Sentiment analysis on myindihome user reviews
using support vector machine and naïve Bayes classifier method. International Journal of Industrial
Optimization, 2(2), 151. https://doi.org/10.12928/ijio.v2i2.4437
Joachims, T. (1998). Text categorization with support Vector MACHINES: Learning with many relevant
features. Machine Learning: ECML-98, 137–142. https://doi.org/10.1007/bfb0026683
Kristiyanti, D. A., Putri, D. A., Indrayuni, E., Nurhadi, A., & Umam, A. H. (2020). E-wallet sentiment
analysis using naïve Bayes and Support Vector Machine algorithm. Journal of Physics: Conference Series,
1641, 012079. https://doi.org/10.1088/1742-6596/1641/1/012079
Neogi, A. S., Garg, K. A., Mishra, R. K., & Dwivedi, Y. K. (2021). Sentiment analysis and classification of
Indian Farmers’ protest using Twitter data. International Journal of Information Management Data
Insights, 1(2), 100019. https://doi.org/10.1016/j.jjimei.2021.100019

Anda mungkin juga menyukai