Prediksi kualitas udara dengan metode naive bayes

Mohammad Rizky Zidan S

Sosial Media


0 orang menyukai ini
Suka

Summary

Prediksi kualitas udara menggunakan metode klasifikasi naive bayes dengan dataset yang diperoleh dari kaggle

Description

Sumber Data

Dalam pembuatan laporan ini, saya menggunakan data Air Quality in Yogyakarta Indonesia (2020). Sumber dataset yang saya peroleh berasal dari situs Kaggle pada link: 

https://www.kaggle.com/datasets/adhang/air-quality-in-yogyakarta-indonesia-2020 . Berdasarkan dataset yang saya gunakan, saya akan melakukan menggunakan metode klasifikasi Naive Bayes. Saya memilih menggunakan metode klasifikasi Naive Bayes karena metode ini cocok dan dapat berfungsi dengan biak dengan dataset berdimensi tinggi. Selain itu, dataset yang saya gunakan memiliki atribut yang cukup banyak dan jumlah yang besar. 

Metode Naive Bayes cocok untuk jumlah data yang besar dan juga Naive Bayes relatif sederhana dan mudah diimplementasikan. Hal tersebut membuat efisien dalam penggunaan dataset yang besar. 

1. Pre-processing & Data Mining

a. Mengimport dataset dengan menggunakan library pandas untuk membaca dataset yang disimpan dan menggunakan variabel dengan nama df (data frame) yang akan digunakan untuk membaca data dari file “pollutant-standards-index-jogja-2020.csv”. Menampilkan data dengan df.head(25) yang akan menampilkan 25 data pertama.

                       

b.  Menampilkan missing value. Untuk mengetahui apakah terdapat kolom yang memiliki nilai kosong dalam dataset, kita dapat menggunakan fungsi isnull().sum() untuk menampilkan jumlah missing value di setiap kolom. Hasilnya, semua kolom sudah terisi dan tidak terdapat missing value (missing value 0). Oleh karena itu, kita tidak perlu lagi mengisi atau menghapus baris yang tidak memiliki value.

c. Menampilkan informasi umum dari dataset. Sebanyak 366 data mengisi masing-masing kolom pada dataset.

d. Melihat jumlah data berdasarkan class ‘Category’. Class ini merupakan hasil akhir dari pengklasifikasian data frame yang menjadi inti dari klasifikasi. Hasilnya akan terlihat seberapa banyak kondisi yang ‘Good’, ‘Moderate’, dan ‘Unhealthy’.

e. Menggunakan library sklearn.preprocessing, lalu meng-import LabelEncoder dan menggunakan fungsi fit_transform untuk melakukan transformasi encoding pada kelas ‘Category’. Tujuan dari transformasi ini adalah mengubah tipe data kelas ‘Category’ dari object menjadi integer sehingga dapat memudahkan dalam pemrosesan dan analisis data.


f. Setelah mengubah tipe data class ‘Category’ menjadi integer, akan terlihat perubahannya, yaitu (0) Good, (1) Moderate, (2) Unhealthy. Pengurutan indeks ini ditentukan berdasarkan kondisi pada tiap kategori (dari yang bagus ke yang tidak bagus).

2. Features Selection

a. Selanjutnya, akan membuat tabel baru dengan nama new_df yang digunakan dalam metode klasifikasi Naive Bayes. Tabel ini terdiri dari 5 fitur (pm10, so2, co, o3, dan no2) yang mewakili kondisi udara, serta 1 kolom untuk variabel kelas, yaitu ‘Category’. Dengan menggunakan 5 fitur ini, kita dapat menggambarkan kondisi udara berdasarkan data yang dikumpulkan. Fitur-fitur tersebut yaitu pm10, so2, co, o3, dan no2, mungkin mengandung informasi penting yang dapat membantu dalam memprediksi atau mengklasifikasikan kategori tertentu dalam metode klasifikasi Naive Bayes.

3. Classification & Model Evaluation

a. Setelah itu akan dilakukan pemisahan data menjadi data latih (training) dan data uji (testing). Pemisahan tersebut dilakukan setelah kita membuat tabel baru lalu kita tentukan class/labelnya dan tentukan variable features-nya kemudian kita batasi dengan menggunakan ‘iloc’. Untuk features mulai dari kolom pertama sampai dengan sebelum 5 dan untuk label adalah kolom kelima. Data latih yang digunakan adalah sebesar 70% dari 366 data yang tersedia. 

b. Dalam metode klasifikasi ini, kita akan menggunakan algoritma Naive Bayes dari library sklearn.naive_bayes. Model GaussianNB akan diimport dari library tersebut. Setelah melatih data sebelumnya, kita akan membangun sebuah model. Metode Naive Bayes dipilih karena memiliki tingkat akurasi yang tinggi dibandingkan dengan algoritma lainnya.

c. Selanjutnya, kita akan menggunakan fungsi model.predict untuk melihat hasil prediksi dari data testing x_test. Hasil prediksi ini akan dibandingkan dengan nilai sebenarnya yang ada dalam y_test, yang merupakan jawaban asli yang disembunyikan. Dengan membandingkan hasil prediksi dengan jawaban asli, kita dapat mengevaluasi kinerja model dan melihat seberapa akurat model dalam memprediksi kelas target untuk data yang belum pernah dilihat sebelumnya.

d. Setelah itu, kita akan melihat seberapa akurat hasil prediksi yang dihasilkan. Untuk mengukur seberapa akurat hasil prediksi yang dihasilkan, kita akan mengimpor fungsi accuracy_score dari library sklearn.metrics. Dengan menggunakan fungsi ini, kita dapat membandingkan hasil prediksi yang disimpan dalam variabel hasil_prediksi dengan nilai aktual yang ada dalam y_test. Dengan melakukan perbandingan ini, kita dapat melihat nilai akurasi dari model, yaitu seberapa baik model memprediksi dengan benar kelas target untuk data yang belum pernah dilihat sebelumnya.

e. Melihat confusion matriks yang dihasilkan.

f. Melihat classification report yang dihasilkan.

g. Untuk menguji metode klasifikasi dengan Naive Bayes yang telah dibuat, kita akan coba memprediksi salah satu datanya dengan fungsi model.predict() untuk satu baris data. Hasilnya dapat dibandingkan dengan data yang sudah ada.

1. Kondisi ‘Good’ (bagus)

2. Kondisi ‘Moderate’ (sedang)

3. Kondisi ‘Unhealthy’ (tidak sehat)

Informasi Course Terkait
  Kategori: Artificial Intelligence
  Course: Artificial Intelligence