Anda di halaman 1dari 13

Assignment 4.

Cross Validation
Kelompok :3
Nama Kelompok : - Rajab Sapta Hadi (203510019)
- Nur Maya Sari (203510189)
- Mocmd Sauki (203510078)
- Miska Arina (203510054)
Kelas : 7A
Mata Kuliah : Ilmu Data

Perintah untuk melakukan import library numpy dan pandas

Melakukan import dataset “chat_dataset.csv” dan tiap datanya dipisahkan dengan tanda
koma.

Dataset ini berisi kumpulan pesan obrolan (message) yang dapat digunakan untuk
mengembangkan model pembelajaran mesin analisis sentimen untuk mengklasifikasikan
pesan ke dalam 3 kelas sentimen yaitu positif, negatif dan netral. Pesan-pesan pada dataset
bersifat beragam, tidak hanya berisi teks sederhana tetapi juga karakter khusus, angka, emoji,
dan juga alamat URL. Dataset terdiri dari 584 baris dan 2 kolom yaitu kolom message yang
berisi pesan obrolan dan kolom sentiment yang berisi sentimen dari pesan obrolan yang dapat
bersifat positif, negatif ataupun netral. Pada foto dilakukan perintah untuk menampilkan
dataset “chat_dataset.csv” yang sudah di import sebelumnya.

1. `import re` dan `import nltk`


Mengimpor pustaka `re` dan mengimpor pustaka Natural Language Toolkit (NLTK).
2. `nltk.download('stopwords')`
Mengunduh dataset kata-kata umum yang tidak informatif (stopwords) dari NLTK.
3. `from nltk.corpus import stopwords`
Mengimpor dataset stopwords dari NLTK.
4. `from nltk.stem.porter import PorterStemmer`
Mengimpor alat pemangkasan (stemmer) Porter dari NLTK. Stemming adalah proses
mengubah kata-kata menjadi bentuk dasarnya untuk mengurangi kompleksitas dan
mengoptimalkan analisis teks.
5. `corpus = []`
Membuat sebuah list kosong bernama `corpus` yang akan digunakan untuk
menyimpan hasil dari pra-pemrosesan.
6. Loop `for i in range(0, 584):`
Melakukan iterasi sebanyak 584 kali (mulai dari 0).
7. `review = re.sub('[^a-zA-Z]', ' ', dataset['message'][i])`
Menghapus semua karakter selain huruf (a-z dan A-Z) dari string dalam kolom
'message' dari dataset.
8. `review = review.lower()`
Mengubah seluruh huruf dalam string menjadi huruf kecil (casefolding) untuk
memastikan konsistensi.
9. `review = review.split()`
Memecah string menjadi sebuah list kata (tokenizing).
10. `ps = PorterStemmer()`
Inisialisasi pemangkasan PorterStemmer.
11. `all_stopwords = stopwords.words('english')`
Mengambil daftar stopwords dalam bahasa Inggris dari dataset NLTK.
12. `review = [ps.stem(word) for word in review if not word in set(all_stopwords)]`
Melakukan stemming pada setiap kata dalam review asalkan kata tersebut bukan
merupakan stopwords.
13. `review = ' '.join(review)`
Menggabungkan kembali kata-kata yang telah diproses menjadi sebuah string.
14. `corpus.append(review)`
Menambahkan hasil pra-pemrosesan ke dalam list `corpus`.

Menampilkan hasil pra-pemrosesan.

Menampilkan daftar stopwords dalam bahasa Inggris dari dataset NLTK.


Membangun Bag of Words yang diambil dari index ke-1 sebagai target.

Perintah untuk menampilkan representasi Bag of Words

Membagi dataset menjadi dua bagian, yaitu training set dan test set.

1. Naïve Bayes Model

Melatih model klasifikasi Naive Bayes pada training set menggunakan metode Gaussian
Naive Bayes.
Melakukan prediksi pada test set menggunakan model yang telah dilatih, dan mengubah
bentuk dari y_pred menjadi array 2D.

Membuat confusion matrix, kemudian melakukan perhitungan akurasi model untuk


menunjukkan seberapa baik model memprediksi kelas-kelas tertentu. Pada model Naïve
Bayes ini, nilai akurasi mencapai hingga 73,5%.

2. Regresi Linear Logistik Model

Melatih model klasifikasi Regresi Logistik pada training set.

Melakukan prediksi pada test set menggunakan model yang telah dilatih, dan mengubah
bentuk dari y_pred menjadi array 2D.
Membuat confusion matrix, kemudian melakukan perhitungan akurasi model untuk
menunjukkan seberapa baik model memprediksi kelas-kelas tertentu. Pada model Regresi
Logistik ini, nilai akurasi mencapai hingga 82,9%.

3. K-NN Model

Melatih model klasifikasi K-NN pada training set.

Melakukan prediksi pada test set menggunakan model yang telah dilatih, dan mengubah
bentuk dari y_pred menjadi array 2D.
Membuat confusion matrix, kemudian melakukan perhitungan akurasi model untuk
menunjukkan seberapa baik model memprediksi kelas-kelas tertentu. Pada model K-NN ini,
nilai akurasi mencapai hingga 58,1%.

4. SVM Model

Melatih model klasifikasi SVM pada training set.

Melakukan prediksi pada test set menggunakan model yang telah dilatih, dan mengubah
bentuk dari y_pred menjadi array 2D.
Membuat confusion matrix, kemudian melakukan perhitungan akurasi model untuk
menunjukkan seberapa baik model memprediksi kelas-kelas tertentu. Pada model SVM ini,
nilai akurasi mencapai hingga 80,3%.

5. Kernel SVM Model

Melatih model klasifikasi kernel SVM pada training set.

Melakukan prediksi pada test set menggunakan model yang telah dilatih, dan mengubah
bentuk dari y_pred menjadi array 2D.
Membuat confusion matrix, kemudian melakukan perhitungan akurasi model untuk
menunjukkan seberapa baik model memprediksi kelas-kelas tertentu. Pada model Kernel
SVM ini, nilai akurasi mencapai hingga 79,4%.

6. Decision Tree Model

Melatih model klasifikasi Decision Tree pada training set.

Melakukan prediksi pada test set menggunakan model yang telah dilatih, dan mengubah
bentuk dari y_pred menjadi array 2D.
Membuat confusion matrix, kemudian melakukan perhitungan akurasi model untuk
menunjukkan seberapa baik model memprediksi kelas-kelas tertentu. Pada model Decision
Tree ini, nilai akurasi mencapai hingga 73,5%.

7. Random Forest Model

Melatih model klasifikasi Random Forest pada training set.

Melakukan prediksi pada test set menggunakan model yang telah dilatih, dan mengubah
bentuk dari y_pred menjadi array 2D.
Membuat confusion matrix, kemudian melakukan perhitungan akurasi model untuk
menunjukkan seberapa baik model memprediksi kelas-kelas tertentu. Pada model Random
Forest ini, nilai akurasi mencapai hingga 76,0%.

Hasil perhitungan prediksi dengan berbagai model Machine Learning

Hasil perhitungan Voting Classifier dari hasil prediksi 3 teratas


Melakukan Evaluasi untuk menghitung nilai accuracy, precision, recall dan f1

Menampilkan hasil dari perhitungan evaluasi nilai accuracy, precision, recall dan f1

Menampilkan hasil perhitungan nilai accuracy, precision, recall dan f1dalam bentuk diagram
Melakukan perhituangan akurasi dengan metode validasi silang dimana data uji secara acak
berdasarkan pembagian jumlah blok

Hasil perhitungan prediksi akurasi tertinggi dengan metode cross validation pada tujuh model
mesin learning.

Anda mungkin juga menyukai