Hai, gue berasa kita udah semakin dekat dengan tahun pemilu. Tapi sebelum itu aku pengen berkomentar sedikit tentang debat capres yang terjadi pada tanggal 12 Desember kemarin. Menurutku pribadi sungguh banyak memunculkan momen-momen yang gak terduga. Mulai dari saling lempar pertanyaan yang tajam, hingga tanggapan-tanggapan yang benar-benar......meragetkan.
Angin tak ada KTP-nya. Oke, seperti yang kita ketahui, setiap capres punya strateginya masing-masing dalam menyelesaikan permasalahan yang ada di... Indonesia. Contohnya kemarin yang sempat dibahas pada proses debat adalah tentang pemberantasan korupsi, penegakan HAM, dan konflik yang ada di Papua.
Dari banyaknya strategi yang sudah dilakukan oleh para capres, balik lagi pada proses memiliki kali ini tujuan utamanya adalah mengait hati masyarakat yang ada di Indonesia. Pertanyaan cuma satu nih, apakah strategi yang sudah dilakukan oleh para capres benar-benar terbilang efektif? Jawaban tersebut akan terjawab di video kali ini.
Let's go! Kita akan melakukan analisis sentimen terhadap Pak Anies, Pak Prabowo, dan Pak Ganjar. Kemudian kita akan melakukan perbandingan dari hasil analisis sentimen masyarakat terhadap para capres.
Akan kita lihat nih, komentar dari para masyarakat terhadap capres itu gimana sih? Apakah mereka akan cenderung memberikan komentar yang positif? Atau justru mereka cenderung memberikan komentar yang negatif? Tapi sebelum itu, FYI aja buat kalian, saya bukan buzzer partai.
Analisis yang saya lakukan pure... Based on data jadi gak memihak Capres manapun. Oke, kita lanjut.
Let's go! Untuk melakukan analisis ini, saya mencoba mengambil data dari platform Twitter atau X dengan keyword Anis, Prabowo, dan Ganjar. Kemudian data yang akan kita gunakan masih terbilang cukup hangat nih.
Mulai dari The Baca Pres pertama pada tanggal 12 Desember hingga tanggal 15 Desember. Jadi data yang akan kita gunakan yaitu 3 hari sesudah The Baca Pres kemarin. Karena sampel data yang kita gunakan berasal dari Twitter, Maka dari itu langkah pertama kita adalah kita harus nge-clean ataupun ngebersihin data kita dari elemen-elemen yang nggak penting.
Contohnya ada hashtag, mention, sampai beberapa simbol yang bikin data kita kompleks. Nah kalau data kita udah terbebas dari itu semua atau sudah bersih baru kita bisa masuk ke tahapan preprocessing. Di tahapan ini mencakup 4 step.
Yang pertama ada yang namanya normalisasi. Kemudian yang kedua ada stop work. Yang ketiga ada yang namanya tokenisasi. Dan yang terakhir ada yang namanya stemming.
Nah. Ada satu hal penting yang harus kalian ketahui Pas kita mau nge-labelin sentimen tiap baris data Kita harus menerjemahin teksnya ke dalam bahasa Inggris terlebih dahulu Kenapa? Karena berdasarkan hasil eksplor yang sudah saya lakukan Package ataupun alat buat nge-labelin sentimen ke dalam bahasa Inggris itu Lebih banyak dan lebih mudah untuk diakses Sedangkan untuk bahasa Indonesia sendiri masih terbilang tricky Dan gak semudah itu buat diakses Maka dari itu mau gak mau kita harus melakukan terjemahan terlebih dahulu Gak apa-apa, cara ini gak... sesulit yang kalian bayangkan kok.
Untuk labelin data yang kita peroleh dari Twitter, kita menggunakan dua metode. Yang pertama ada yang namanya TextBloom. Kemudian yang kedua, kita akan melakukan eksplorasi algoritma machine learning spesifiknya Naive Bayes Classifier buat ngelabelin sentimen pada baris data.
Jadi ada dua metode keren yang bakal kita gunakan buat labelan data. Untuk software pendukung kita dalam melakukan analisis, kita akan menggunakan bahasa pemrograman Python beserta library tambahan yang ada di dalamnya. Let's go!
Oke, sekarang kita sudah berada di tampilan Google Colab. Nah, nanti di sini dalam proses analisis data sudah saya buatkan semacam rundown. Yang dimana yang pertama kita bakal melakukan cleaning data untuk membersihkan data tersebut.
Kemudian tahapan kedua kita bakal melakukan text preprocessing karena data kita terbilang otor. Yang ketiga kita bakal melakukan translate atau menerjemahkan data yang tadinya berbentuk bahasa Indonesia ke dalam bahasa Inggris. Yang keempat labeling untuk mencari sentimen.
Sentiment dari tiap data itu seperti apa sih Dan yang kelima kita masuk ke visualisasi Nah disini kita bakal melakukan visualisasi terhadap capres Dan juga sentiment dari capres tersebut Dan yang terakhir kita bakal melakukan semacam labeling Tetapi ini berbeda karena dia menggunakan klasifikasi sentiment Atau menggunakan algoritma Naive Bias Classifier Oke langsung aja nanti diatas ini kita harus melakukan import beberapa library Untuk menunjukkan kita dalam melakukan analisis data Disini ada Intro library pandas regular expression seaborn dan matplotlib nanti untuk beberapa library ditambah akan kita sertakan di codingan berikutnya Oke ini kita running aja oke udah aman ya buat teman-teman yang mendapatkan hasil error buat import library kalian bisa install pip install library yang akan kalian gunakan misalkan regular expression belum kalian install kalian bisa installnya di sini regular expression kurang lebih seperti itu Oke kita lanjut deh ini kita hapus aja Baik, tahapan pertama seperti biasa kita bakal melakukan import data terlebih dahulu karena datanya disini terpecah atau terbagi menjadi 3 Saya akan melakukan import data terhadap capres pertama terlebih dahulu lebih dahulu yaitu panis nah kalian tinggal ketikan saja buat variable data frame kemudian di dalamnya pandas read, karena data kita formannya csv jadi ini kalian ketikan csv, oh iya untuk datanya nanti bakal saya sertakan di link deskripsi, oke lanjut nanti di dalamnya sini saya ambil url tempat saya menaruh data panis, saya taruh disini kemudian kita tampilkan df.head, coba kita lihat datanya seperti apa Oke, udah tampil ya untuk datanya. Disini banyak sekali atributnya, tapi kita kayaknya nggak bakal menggunakan semua atributnya, hanya beberapa doang. Disini mungkin kita bakal menggunakan atribut full text, create add, dan mungkin nambahin username.
Oke, coba kita seleksi beberapa atribut dulu. Disini tinggal kalian ketikan aja, df, nama data frame-nya, ataupun variable-nya. Kemudian di dalamnya df, kita bakal milih atribut apa aja tadi, full text. terus ada yang namanya username dan yang terakhir kita akan menggunakan atribut yang mana nih eee..
entah create ad ya buat ngeliat waktu datanya create ad waktu debatnya sorry oke kemudian kita tampilkan oke untuk karakteristik dari datanya mungkin tidak perlu terlalu saya jelaskan lebih detail teman-teman bisa lihat disini ini adalah atribut tweet ataupun komentar orang-orang terhadap capres kemudian yang mengetikan komentar tersebut berada di atribut username ataupun nama Twitter orang tersebut dan yang terakhir ada create ad maksudnya disini tiap-tiap komentar dibuat pada waktu kapan sih ataupun seseorang melakukan tweet terhadap capres oke kalau udah seperti ini kita masuk ke flow pertama yaitu cleaning data kalian tinggal tambahkan saja kode disini yang pertama kita bakal lihat baris dan kolom pada data coba kalian ketikan df shape nah disini data kita memiliki 515 baris dan 3 kolom kemudian mungkin kita bakal ngehapus beberapa atribut yang memiliki nilai yang duplicate ataupun nilai yang sama kalian bisa ketikan df buat variable terlebih dahulu kemudian df.drop duplicate kemudian tambahkan parameternya subset di dalamnya duplicate yang akan kita hapus misalkan disini ada full text nah seperti ini coba kita running Oke kalau udah seperti ini coba kita lihat apakah masih ada data yang duplikat Caranya df.duplicate.sum Kita running aja Oke 0 ya Berarti sekarang kita lanjut untuk menghapus nilai yang kosong Kalian bisa ketikan df buat variable terlebih dahulu baru df.drop NA ini kalian training aja oke kalau udah seperti ini coba kita lihat hasilnya df.is0 apakah ada variable yang kosong.sum kita lihat sesudah oke disini udah semua ya atribut data kita tidak memiliki nilai yang kosong sekarang kita lihat hasil akhir dari cleaning data yang tadinya disini memiliki 515 baris apakah ada perubahan df.shape kita ketikan Oke, ternyata disini ada perubahan yaitu dia mengurangkan 7 data yang tadinya 515 sekarang menjadi 508 baris data dan atributnya tetap sama masih ada 3. Oke, tadi saya kelupaan menambahkan tahapan terakhir pada bagian cleaning data yaitu kita bakal melakukan pembuatan function untuk melakukan pembersihan. Clean Twitter, kita buat nama functionnya, text, kemudian parameternya, text. nantinya di dalam fungsi ini kita masukkan proses pembersihan data ini harus rata posisinya sebentar, wait sebentar, oke kita ratakan posisinya kemudian yang terakhir return nya untuk mengembalikan variable nya kita mundurin oke, mengambil konotasinya seperti ini oke untuk fungsi dari tiap baris kode ini berbeda-beda yang pertama disini kita bakal melakukan penghapusan terhadap mention yang kedua disini kita bakal melakukan penghapusan terhadap hashtag yang ketiga ini maksudnya kita bakal melakukan penghapusan terhadap retweet kemudian ini kita bakal menghapus url nah yang ini agak sedikit berbeda harusnya kita pisahkan seperti ini karena disini kita bakal menghapus karakter non alfanumerik dan yang terakhir kita bakal menghapus spasi yang berlebihan jadi kalau misalkan ada spasi yang lebih dari 1 bakal kita hapus di proses ini kalau udah tinggal kita kembalikan aja nilai variabelnya baru kita musik masukkan function tersebut ke data yang kita punya df fulltext oke sorry ini berlebihan kemudian df fulltext lagi kita pilih atribut fulltext kemudian kita apply sorry kita apply functionnya clean twitter text oke kurang lebih seperti ini kalau udah silahkan teman-teman running aja oke kalau udah baru kita coba copy yang ini kita copy kemudian sama dengan kita bakal melakukan perubahan data menjadi huruf kecil kita ganti str ataupun string.lower kita ubah katanya menjadi huruf kecil kita running dan kita coba tampilin datanya Oke, sekarang kalau misalnya teman-teman lihat datanya sudah berubah menjadi huruf kecil, kemudian ada beberapa simbol ataupun hashtag ataupun mention yang sudah hilang. Karena kita sudah membuat penghapusan simbol tersebut di dalam function clean twitter text. Oke, kalau sudah untuk proses cleaning data sudah kelar, sekarang kita masuk ke proses berikutnya yaitu preprocessing.
Sip, langsung saja kita masuk ke proses yang pertama yaitu normalisasi pada tahapan preprocessing. Oke yang dimana nanti normalisasi kalian harus buat variable noun Kemudian di dalamnya ada dictionary Disini kalian isikan kata-kata yang typo misalkan seperti ini Kata YG ini maksudnya artinya kita ubah menjadi yang seperti itu Jadi disini jika ada kata-kata seseorang yang typo ataupun ngetiknya disingkat Kalian bisa kembalikan kata tersebut menjadi kata normalnya atau kata dasarnya maka dari itu ini disebut sebagai proses normalisasi nah ini untuk katanya bebas aja tapi yang paling penting karena kita mengolah data panis kita harus netralin data tersebut dengan cara menghapus capres yang lainnya yaitu capres ganjar kita hapus saja caranya seperti ini dikosongin aja dan Prabowo nah ini kalian kosongin aja seperti ini Oke kalau udah seperti ini kita udah ngapus nama capresnya baru coba kita hapus beberapa kata misalkan disini ada kata enggak Kita ganti atau kita normalisasi menjadi tidak seperti ini ya contohnya ya Oke kalau udah mungkin kalian bisa tambahkan kalian bisa kreasikan contoh-contoh kata yang menurut kalian perlu di normalisasi Disini saya udah punya disini kalau udah baru kalian buat function untuk melakukan penerapan normalisasi nah disini saya udah membuat function tinggal kalian coba ketikan aja dengan nama normalisasi nanti kita lakukan perulangan di dalamnya perulangan seperti ini kemudian nanti kita replace kata-kata yang harusnya tidak disingkat baru kita kembalikan nilainya seperti ini lalu untuk atribut yang bakal kita normalisasi sama dengan proses cleaning data kita masih melakukan normalisasi terhadap atribut fulltext kalau udah silahkan di running aja Nah disini kata sesudah dinormalisasi coba kita cross check lagi atau kita pastikan lagi Perhatikan disini kita coba melakukan normalisasi terhadap data enggak kita ubah menjadi tidak Contohnya disini di baris ke 0 Ini disesudah normalisasi coba kita lihat data sebelum dilakukan normalisasi Disini kalimatnya pastilah Prabowo Anis enggak punya prestasi kita ubah menjadi pastilah Anis Prabowo nya hilang karena kita menghapus data Prabowo ataupun kata apa Prabowo Agar datanya menjadi netral berfokus kepada Pak Anis Dan kata enggaknya kita ubah menjadi tidak Seperti itu cara kerja dari normalisasi Oke kalau sudah kita masuk ke proses yang berikutnya yaitu stop work Nah disini sebelum itu kita bakal melakukan instalasi terlebih dahulu Yang harus kalian install Vip install sastrawi karena pada proses stop work kalian menggunakan library ataupun package sastrawi seperti oke untuk proses install sastrawi udah kelar nah disini kita masuk ke proses stop work karena saya sudah punya kode programnya jadi tinggal saya paste aja disini teman-teman bisa ketikan ulang lagi tinggal di pause videonya nah kemudian saya akan menjelaskan maksud dari kode ini disini saya membuat variable more stop work maksudnya pada proses sastrawi Disini maksudnya dia bakal ngebuang kata-kata yang tidak memiliki bobot Contohnya kata di, kata yang, kata dengan, dan masih banyak lagi Nah disini karena kata tidak menurut saya tidak memiliki bobot Maka dari itu saya tambahkan lagi kata ini untuk dibuang dan tidak digunakan Jadi tidak ada kata tidak di data kita, seperti itu baru kalau udah kalian tinggal buat beberapa variable disini menerapkan stopword ataupun sastrawi kemudian kalian buat function lagi stopword untuk melakukan apply dari package stopword yang sudah kalian inisialisasikan kalau udah baru kita terapkan ke dalam attribute fulltext coba kita running nah kalau misalkan teman-teman lihat kata disini, kata disini sudah tidak punya kata-kata stopword ataupun kata-kata yang tidak memiliki bobot seperti kata yang, kata dan Dan masih banyak lagi Disini sudah kata-kata utama yang bakal kita olah pada proses analisis sentimen Sekarang kalau udah seperti ini berarti proses topor kita udah kelar Next yang ketiga ada yang namanya Tokenisasi Tokenisasi aja ya oke nice Oke karena proses tokenize menurut saya cukup pendek enggak seribut yang dibayangkan jadi kita coba ketikan aja kita buat variabel tokenize kemudian di dalamnya data yang kita lakukan apply terhadap tokenize yang bakal kita pisahkan adalah data atribut full text kemudian kalian apply Oke jangan lupa gunakan fungsi Lambda X.2 X split datanya Nah kalau udah tinggal kalian tampilkan aja datanya Kita running. Oke, disini ada error karena, oke sorry ini kelewatan, kita kurang T. Coba kita running lagi.
Oke, udah ya. Jadi kata yang tadi harusnya kalimat sudah kita pisahkan menjadi tiap-tiap kata. Pastilah, Anis, punya, prestasi. Jadi simbol yang memisahkan kata tersebut adalah simbol koma. Kalau udah, baru kita masuk ke proses stemming.
Stemming disini fungsinya untuk mengubah kata yang tadinya memiliki imbuhan menjadi kata dasar Contohnya kata dimana misalkan Dimana itu bakal kita ubah menjadi kata dasar yaitu mana Seperti itu untuk cara kerja stemming Oke ini saya tinggal copy aja kode programnya disini karena sudah saya ketikan juga Teman-teman bisa ketikan ulang Nah disini kita memerlukan library stemmer factory Yang dimana nantinya akan kita gunakan di dalam function stemming yang kita buat nah disini kita bakal mengubah kata semua kata yang miliki bukan menjadi kata dasar di function ini tinggal kalian ketikan aja kemudian kalau udah seperti ini baru kita terapkan function yang sudah kita buat nah kalian bisa ketikan token nice kemudian di dalamnya token nice lagi kalian apply function yang sudah kita buat yaitu function stemming jangan lupa untuk hasil stemming ini kalian backup di drive kalian masing-masing karena untuk proses stemming memerlukan waktu yang cukup panjang jadi kalian perlu ngebackup data yang sudah kita lakukan stemming ataupun preprocessing ini kalian tinggal ketikan aja perintah tokenize.to.csp baru di dalamnya kalian pengen nyimpannya kemana misalkan disini saya pengen nyimpannya di drive saya disini di hasil preprocessing ganjar sorry bukan ganjar ini maksudnya hasil preprocessing anis nah seperti ini di drive saya kalian silahkan simpan di drive kalian masing-masing jangan lupa tambahkan indexnya kita ganti ke polos tenang aja kalau misalkan proses ini memerlukan waktu yang cukup panjang nanti saya juga bakal nyertain data hasil preprocessing ke link deskripsi biar teman-teman gak perlu melakukan proses preprocessing ataupun proses timing yang lama tinggal kalian download aja data yang sudah saya cantumkan di link deskripsi Oke kalau datanya sudah dilakukan proses teming nanti coba kita backup lagi kita import lagi datanya di dalam variable data Seperti biasa kita gunakan pandas tip csp di dalamnya kita samain aja url nya dengan ini Kita copy kita paste disini Jangan lupa disini kalian masukkan parameter encoding sama dengan latin 1 Oke kalau udah seperti ini tinggal teman-teman running aja tapi ingat proses ini membutuhkan waktu yang cukup lama jadi kalau misalkan teman-teman gak pengen running silahkan balik lagi download datanya di link deskripsi ya Coba kita running nah ini kan agak lama nih jadi karena datanya sudah saya backup kita cancel aja oke ini error nggak usah kalian hiraukan karena saya sudah melakukan proses stemming dan saya sudah backup filenya di dalam sini jadi ini tinggal kita coba Cut aja atau kita copy, kita cut. Terus kita masuk ke proses berikutnya yaitu translate. Nah sebelum kita masuk ke proses translate lebih panjang, kita harus melakukan instalasi terlebih dahulu terhadap package translate.
Nah ini kalau udah seperti ini kalian running aja. Oke kalau udah kelar seperti ini baru kita bisa menggunakan package translate untuk menerjemahkan data kita ke dalam bahasa Inggris. Coba yang tadi data yang disini kita masukkan kesini Data hasil preprocessingnya kita masukkan sini Kalau udah kita running aja Nah udah ya coba kita tampilkan Data.head Nah ini adalah contoh data hasil preprocessing yang kita gunakan Kenapa atributnya cuma satu yaitu fulltext Karena untuk proses pengolahan labeling ataupun analisis datanya Kita hanya memerlukan atribut komentar aja dari para masyarakat Maka dari itu kita tidak memerlukan atribut username dan juga read-add Oke kalau udah sekarang baru kita masuk ke proses Translate ataupun terjemahan Oke langkah pertama kita importer lebih dahulu package translate nya kalian bisa ketikkan from translate import translator seperti ini terus di dalamnya Sorry kenapa ini merah. Nah ini kita kurang S. Terus di dalamnya kalian bisa masukkan function yang sudah saya buat seperti ini.
Nah disini nama functionnya convert English. Di dalam ini parameternya tweet. Kemudian perhatikan disini. Di bagian parameter translator. Disini kita ingin melakukan terjemahan dari bahasa Indonesia ke bahasa Inggris.
Maka dari itu from langenya adalah ID ataupun Indonesia. Dan to langenya atau to language nya keubah menjadi bahasa Inggris. kalau udah tinggal kalian return aja hasil translationnya baru kita coba apply ke data kita kalian bisa buat variable data kemudian di dalamnya kita inisialisasikan atribut baru contohnya seperti tweet english ataupun hasil terjemahan di dalamnya masukkan data nama atributnya apa?
full text ya oke sorry ini merah terus kalian apply fungsinya convert english nah fungsinya ini kalian apply Kalau udah jangan lupa kalian backup lagi hasil dari terjemahan Kenapa? Karena untuk proses translate ini memakan waktu yang cukup panjang Maka dari itu data hasil translate perlu kita backup Supaya kita tidak perlu melakukan running berulang kali Backupnya gimana? Sama perintahnya data to CSP Di dalamnya kalian masukkan link ataupun posisi di Google Drive kalian Nah disini saya sudah masukkan Saya simpan di dalam folder hasil terjemahan dengan nama Backup Sorry, ini bukan terjemahan prawo, terjemahan anis seperti ini.
Oke, kalau udah silahkan di running lagi. Oke, proses translator kita udah selesai ataupun terjemahan. Sekarang kita masuk ke step berikutnya, yaitu labeling.
Kita buat terlebih dahulu datanya, kemudian pd.read.csp, seperti biasa. Di dalamnya kita masukkan data hasil terjemahan tadi. Namanya terjemahan anis yang saya simpan di dalam folder. hasil terjemahan kalau udah jangan lupa index column nya kalian ubah jadi nol Nah kalau udah coba kita tampilin ya data oke ini masih nggak ditemukan kenapa Oke kenapa data kita error tadi ini karena pas saya cek di drive ternyata T nya gede jadi terjemahan anis T nya gede coba kita running lagi Nah sekarang udah bisa jadi atribut kita sekarang ada dua yaitu full text dan tweeting list ini adalah hasil terjemahan dari atribut full text Oke kalau udah seperti ini sebelum kita masuk ke proses labeling kalian harus melakukan instalasi beberapa library terlebih dahulu yang dimana ada tweet preprocessor textblog workout dan nltk kalau udah kalian running aja empat library ini Oke kita tunggu prosesnya Oke udah kelar untuk proses instalasi baru coba kita import kan library yang sudah kita install kita import kan preprocessor, textblob, nltk dan juga disini jangan lupa kalian lakukan nltk.download di dalamnya pang, taraning, oke kalau udah seperti ini kita masuk ke proses labeling yang pertama kalian harus membuat variable data tweet kemudian di dalamnya sorry ini kapus masukkan list data yang kita masukkan tweet english yang ini ya, atribut yang ini atribut yang, bentar, tweet english yang ini oke, kita masukkan tweet english kemudian, sorry, ini ke udah, kalau udah seperti ini jangan lupa buat variable polaritas yang dimana di dalamnya kalian buat angka 0 atau inisialisasikan angka 0 terus buat variable status di dalamnya ada list kosong, nanti kalian lihat status sentimentnya kemudian, nih, kalian buat variable total positif sorry total positif kemudian variable total negatif dan juga variable total netral nanti di dalamnya ada nilai nol seperti ini kalau udah baru kita masuk ke proses penerapan labelingnya kode programnya sudah saya buat sorry ini negatif oke udah saya benerin nih kode programnya kurang lebih seperti ini oke kenapa ini merah?
oke ini merah karena kita lupa masukkan variable total di ujung sini nah harusnya udah bisa kita bakal melakukan perulangan terhadap tweet terhadap attribute ataupun variable tweet yang dimana nantinya di dalam hasil sentimentnya kita buat menjadi 3 yaitu sentiment positif, netral, dan negatif kalau udah coba kita lihat hasil labeling dari metode textblow coba kita masukkan kode ini kalian bisa ketikan dan kita ranik Nah disini untuk data Anis bisa kita lihat disini positifnya memiliki nilai 138 dan negatifnya bisa terbilang cukup tinggi yaitu 57 baris data dan total data yang kita lihat adalah 138. kita gunakan ada 278 nah seperti ini gambaran jika kalian menggunakan metode text block berarti ada satu metode lagi yang belum kita gunakan yaitu live bias classifier oke kalau udah seperti ini coba kita tampilin aja datanya kalian bisa ketikan data klasifikasi kalian masukkan status disini oke terus kalian tampilkan Nah sekarang data kita sudah punya atribut baru yaitu klasifikasi yang dimana di dalamnya ada sentimen masyarakat. Next kita masuk ke tahapan visualisasi. Nah tahapan ini karena agak sedikit kompleks jadi saya tinggal pastikan aja kode program yang sudah saya buat.
Disini kita bakal menampilkan visualisasi workload ataupun menampilkan beberapa kata yang memiliki kuantitas yang tinggi ataupun jumlah kemunculan kata yang tinggi. Nah disini saya menggunakan library workload kemudian di dalamnya kita masukkan. yang akan kita visualisasikan atribut full text nah ini beberapa parameter kalian bisa ketikan untuk backgroundnya saya kasih warna hitam dan color mapnya atau warna dari tiap katanya saya menggunakan blues underscore r seperti ini kalau udah coba kita running aja oke udah nampil ya untuk hasil visualisasi data anisnya disini kalau bisa perhatikan hasil workload paling gede anis ini maksudnya jumlah kemunculan kata anis pada data yang kita punya cukup gede Kemudian ada kata debat, ada kata pilih, ada kata baswedan. Nah disini menarik nih, ada kata gempa disini. Lumayan gede.
Ini maksudnya berarti masyarakat mengetikan kata gempa disini lumayan banyak kuantitasnya. Sip, sekarang kita masuk ke visualisasi buat nampilin jumlah sentimen. Ini kalian tinggal buat kode baru aja. Nah karena kode programnya sekali lagi sudah saya buat.
Jadi kalau misalkan saya ketikan ulang ini durasinya lumayan lama. Jadi saya tinggal paste aja. Kalian bisa pause videonya dan ketik kode program yang... saya buat, nah seperti ini nah disini kita akan melakukan visualisasi terhadap label positif, negatif, dan netral yang dimana nantinya kita bakal menghitung visualisasi sentimen tertinggi dan terendah kalau udah tinggal kalian running aja seperti ini, nah disini untuk hasil visualisasinya, kalian bisa lihat disini capres anis memiliki visualisasi positif sebesar 138, sedangkan untuk negatifnya masih terendah yaitu 57 dan netralnya ada 83 dengan jumlah data yang kita punya 280an kalau nggak salah.
Oke kalau udah seperti ini udah kelar sekarang step terakhir kita masuk ke klasifikasi sentiment. Sebelum itu kita bisa lihat data kita terlebih dahulu kalau ketikkan data, kita simpan di variable data tadi, nah datanya masih klasifikasinya berdasarkan text blob ya. Kita akan melakukan klasifikasi berdasarkan naive bias classifier. Oke kalau udah kita masuk ke step berikutnya ini stepnya lumayan pendek jadi kita ketik aja kita buat variable data set kemudian kalian drop data dengan parameter sorry dengan attribute Kita buat ini full text kita drop aja kemudian disini axisnya kalian kasih 1 dan in place nya kalian masukkan false Oke kalau udah dibawahnya buat lagi variable data set kemudian buat list di dalamnya ada tuple X kemudian for X in data set to record masukkan to record kemudian jangan lupa to recordnya Sorry jangan lupa tambahkan index lagi indexnya kalian kasih false Oke kalau udah seperti ini kita bakal melakukan pembuangan atribut full text karena kita bakal melakukan sentimen analisis berdasarkan tweet Inggris saja kalau udah seperti ini coba kita running Oke ini error Kenapa karena to recordnya kurang S Oke kita running ulang Oke udah ya Kalau udah baru kita masuk ke klasifikasinya Karena sekali lagi kode programnya panjang Jadi saya paste aja seperti ini Nah pertama saya hanya menjelaskan maksud dari kode program ini Kalian import random terlebih dahulu Kemudian kalian inisialisasikan sentimen positif Ataupun variable positif Negatif dan netral Kemudian di dalamnya kalian berikan list kosong Nanti kalian lakukan perulangan Yang dimana perulangan tersebut bakal ngedetect nih Jika dia variable nya sentimennya positif maka dia akan dilempar ke variable set positif jika sentimennya negatif dia dilempar ke variable set negatif kurang lebih seperti itu kemudian disini kita ngebagi datanya ke dalam data trend nah disini set positif negatif dan detralnya kita bagi dua setengahnya lainnya kita bagi kemudian di dalam sini data trendnya kita jumlahkan ketiga variable ini terus kita simpan ke dalam data trend buat nge-trend data untuk menemukan sentimen dari masyarakat menggunakan MyBiasClassifier kalau udah seperti ini kalian training aja oke udah ya untuk proses training datanya kalau udah coba kita lihat hasil performa dari training yang kita buat kalian bisa ketikkan from text block masih menggunakan text block classifier dan import naif bias classifier oke kalau udah seperti ini kalian buat variable cl di dalamnya naif bias classifier terus masukkan data yang sudah kita simpan tadi di trend set oke data trend kita kita masukkan baru kita lihat print akurasi testingnya oke kita masukkan cl akurasi yang kita masukkan apa?
dataset Oke ini kenapa error Sorry disini B nya harusnya B gede nih naif bias coba kita running like nah untuk hasil akurasi dari training data anis kita memperoleh akurasi 74% ini bisa dikatakan lumayan tinggi lah ya buat proses pengolahan data kalau udah coba kita labeling lagi labeling hasil trainingnya terus kode programnya sudah saya buat juga kalian bisa post videonya dan ikutin Pada programnya kalian tinggal ketikan aja Nah disini sama buat ngelihat hasil sentiment analysis kita jumlahnya berapa Coba kita running Nah ternyata disini masih menunjukkan hasil positif yang tinggi Dengan menggunakan algoritma naive bias Dan negatifnya ada 22, positifnya ada 188 Sedangkan netralnya ada 62 Coba kita lihat hasil sebelumnya menggunakan text block Kalau ini kan 188, kita lihat hasil sebelumnya menggunakan text block Nah kalau di TextBlob hasilnya 138 ini jelas berbeda ya karena metode yang kita gunakan juga berbeda Oke kalau udah hasilnya hasil yang ini kita masukkan ke dalam data kita kita buat atribut baru Pertama kalian buat variable kosong sorry variable baru status yang dimana di dalamnya pd data frame Ini kalian masukkan klasifikasi bias misalkan seperti itu ya Kemudian ini masukkan status kemudian ini di dalamnya kalian masukkan ke dalam data frame kalian data kalian pengen ngasih namanya apa misalkan klasifikasi bias oke kalau udah seperti ini kalian masukkan status oke kita running aja oke udah ya baru kita lihat visualisasi dari sentimennya menggunakan naib bias classifier coba kita lihat ini kode programnya masih sama kalian tinggal ketikan lagi visualisasinya ini keterangannya kita hapus aja, ini gak usah biarin aja coba kita running disini sama hasil positifnya 188 sesuai dengan hasil metode naive bias yang kita gunakan oke hampir kelar nih program kita kalau udah coba kalian lihat hasilnya ketikan data nah disini ada 2 hasil sentimennya yaitu atribut klasifikasi menggunakan metode text blob dan disini klasifikasi bias menggunakan metode naive bias classifier Kalau udah coba kita lihat datanya kita ubah bentuk datanya menjadi lebih mudah dimengerti dan kita koperasi nih hasilnya. Kalian bisa ketikan perintah ini. Sudah saya ketikan programnya.
Kalian buat variable data eval ataupun evaluasi di dalamnya ada tuple. Kemudian kalian lakukan perulangan untuk melihat sentimen dari baris-baris data. Ini kalau udah coba kita running aja. Oke kurang lebih seperti ini ya hasil program kita. Di sini coba kita lihat hasilnya.
Nah disini ada yang berkomentar tentang Anis PKS Hasil klasifier menggunakan text blobnya bersifat netral Sedangkan hasil klasifier menggunakan live biasnya bersifat positif Ini jelas berbeda karena tiap-tiap metode punya caranya sendiri untuk melakukan klasifikasi Nah kurang lebih seperti ini hasil dari sentimen analisis terhadap data capres Anis Nah kira-kira udah selesai belum hasil analisis yang kita buat? Jelas sebelumnya? Karena kita baru melakukan analisis terhadap data Anies Baswedan Kita belum melakukan analisis terhadap data Capres Paganjar dan juga Pak Prabowo Kalau misalkan kalian ingin melakukan analisis Kalian bisa balik lagi ke kolom ini Bentar, kalian balik lagi ke baris awal Nah yang ini datanya kalian tinggal ganti aja Misalkan disini saya ingin menggunakan data Pak Prabowo Ini Pak Prabowo Oke, coba saya running Running tapi jangan lupa datanya kalian backup ke dalam drive kalian masing-masing nanti untuk link datanya saya sertakan di kolom deskripsi disini ada data paprobowo kemudian kalian ubah lagi di bagian sebentar kalian ubah lagi di bagian sini di bagian translate ininya kalian masukkan pertama kalian preprocessing dulu datanya terus kalian masukkan lagi disini hasil preprocessing untuk dilakukan translate kemudian kalau udah di terjemahan disini, disini ada merah sedikit terus di labelingnya, nah ini untuk tiap datanya nanti bakal saya backup untuk data aslinya data hasil preprocessingnya dan data terjemahannya nanti kalian tinggal cek aja di link deskripsi kalau udah nanti hasilnya kurang lebih sama seperti ini berikutnya kita bakal melakukan komparasi dari hasil analisis yang kita buat let's go Kalau misalkan proses import data dan proses analisis sentimen kalian terhadap 3 capres sudah kelar, sekarang mari kita bahas tentang insight yang kita peroleh dari analisis tersebut.
Nah, karena kita menggunakan 2 metode pada analisis sentimen kali ini, nantinya pada proses visualisasi, kedua metode tersebut akan kita tampilkan, dan nantinya sekalian kita lakukan perbandingan dari kedua metode ini. Yang pertama ada yang namanya text block, kemudian yang kedua ada yang namanya live bias classifier. Akan kita lihat nih. Performa metode mana sih yang lebih powerful untuk analisis sentimen capres? Oke, ayo.
Pertama kita lihat nih hasil perbandingan sentimen masyarakat terhadap masing-masing capres. Di posisi pertama ada Pak Ganjar dengan sentimen positif sebesar 278. Kemudian diikuti Pak Anies nih dengan sentimen positif sebesar 189. Lalu di posisi terakhir pada perbandingan sentimen positif yaitu ada Pak Prabowo dengan sentimennya sebesar... 169 ini dapat dikatakan nilai sentimen yang diperoleh dari para capres tidak bisa dibilang rendah juga ini lumayan tinggi juga oke next kita bakal lihat hasil perbandingan sentimen negatif pada tiap capres nah disini untuk posisi pertama ada capres anis dengan sentimen sebesar 83 sentimen negatif ini terbilang cukup tinggi juga kemudian diikuti dengan pak prabowo dengan sentimen negatif sebesar 49 kemudian di posisi terakhir perbandingan sentimen negatif yaitu pak ganjar dengan sentimen negatif sebesar 44. Nah ini dapat dikatakan Pak Ganjar lumayan unggul karena dia memperoleh sentimen positif tertinggi dan sentimen negatif terendah.
Kalau dilihat dari hasil akurasi pelatihan data menggunakan metode naive bias nih, Capres Ganjar punya akurasi tertinggi yaitu sebesar 83. Lagi-lagi Pak Ganjar unggul untuk hasil akurasi training data. Kemudian di posisi kedua Capres Prabowo dengan akurasi sebesar 79% dan di posisi terakhir ada Pak Anies dengan akurasi sebesar 76%. Oke, dari hasil perbandingan yang sudah kita lakukan, dapat disimpulkan bahwa gagasan serta strategi yang sudah dilakukan oleh para capres terbilang efektif.
Kenapa? Karena komentar yang diberikan masyarakat terhadap para capres sesudah acara debat kemarin bisa dibilang memiliki label sentimen yang mayoritas positif. Ini berarti dapat dikatakan bahwa kebanyakan dari masyarakat kita mendukung, mempercayakan penuh, serta memberikan pujian kepada calon presiden 2024. Terima kasih. Walaupun yang kita tahu, balik lagi nilai sentimen tertinggi dimenangkan oleh Pak Ganjar dengan nilai sentimen positif sebesar 278 komentar.
Dan perlu kalian ketahui, hasil analisis yang sudah kita lakukan bersifat dinamis atau dapat berubah sewaktu-waktu tergantung dari karakteristik data yang kalian punya. Oke, mungkin segitu saja untuk video kali ini. Terima kasih. Kita ketemu lagi di video selanjutnya.
Bye-bye.