Abstrak
Cuaca adalah kondisi udara di suatu tempat pada waktu relatif singkat, yang dinyatakan dengan nilai parameter seperti kecepatan angin, suhu, tekanan, curah hujan, dan fenomena atmosfer lainnya sebagai komponen utama. Jalannya aktivitas manusia dapat dipengaruhi oleh kondisi cuaca, seperti bidang transportasi, bidang pertanian, bidang perkebunan, bidang bangunan atau bahkan bidang olah raga sekalipun. Oleh karena itu penentuan cuaca untuk mendapatkan informasi cuaca perlu dibuat sehingga dapat dimanfaatkan oleh masyarakat. Pembangunan sistem klasifikasi otomatis dapat dibangun menggunakan metode naive bayes berdasarkan pada analisis data cuaca untuk menentukan cuaca hujan atau tidak hujan. Dan hasil pengujian menunjukkan bahwa klasifikasi penentuan cuaca harian dengan menggunakan metode naive bayes mendapatkan nilai akurasi sebesar 82.5136612021858% dengan nilai recall sebesar 82.6544559868781% dan presisi sebesar 80.0427565392354%.
Kata kunci : Data Mining, Klasifikasi, Penentuan Hujan Harian, Naive Bayes, Confusion Matrix Abstract
The weather is the condition of the air somewhere in a relatively short time, expressed with a value of parameters such as wind speed, temperature, pressure, rainfall, and other atmospheric phenomena as main componen. The course of human activity can be affected by weather conditions, such as the fields of transport, agriculture, plantations, construction field or even field of sports though. Therefore, the determination of the weather to get the weather information needs to be made so that it can be utilized by the community. Development of automated classification system can be built using Naive Bayes method is based on analysis of weather data to determine weather rain or no rain. And the test results show that the determination of daily weather classification using Naive Bayes method gets an accuracy of 75.3424657534247% with recall value for 82.6544559868781% and precision of 80.0427565392354%. Keywords: Data Mining, Classification, Determination Of Daily Rain, Naive Bayes, Confusion Matrix
1.PENDAHULUAN1
Cuaca adalah kondisi udara di suatu tempat pada waktu relatif singkat, yang dinyatakan dengan nilai parameter seperti kecepatan angin, suhu, tekanan, curah hujan, dan fenomena atmosfer lainnya sebagai komponen utama [1]. Cuaca merupakan hal penting yang tidak akan pernah lepas dari kehidupan manusia. Jalannya aktivitas manusia dapat dipengaruhi oleh kondisi cuaca, seperti bidang transportasi, bidang pertanian, bidang perkebunan, bidang bangunan atau
bahkan bidang olah raga sekalipun. Misal keputusan waktu yang baik untuk mencocok tanam, penentuan waktu yang baik untuk melakukan pertandingan sepak bola, bahkan penentuan waktu yang tepat untuk akad nikah. Besarnya pengaruh yang ditimbulkan oleh cuaca mendorong perkembangan sistem penentuan cuaca yang menentukan kondisi cuaca. Pendekatan yang didukung menggunakan teknologi yang tersedia merupakan penerapan sistem penentuan cuaca yang ada saat ini [2]. Penentuan cuaca adalah proses penerapan ilmu serta teknologi untuk menentukan keadaan
PENERAPAN DATA MINING UNTUK MENENTUKAN POTENSI
HUJAN HARIAN DENGAN MENGGUNAKAN ALGORITMA
NAIVE BAYES
Ahmad Subhan1, Ahmad Zainul Fanani2
1,2
Teknik Informatika, Ilmu Komputer, Universitas Dian Nuswantoro Semarang, Jl. Nakula I No. 5-11, Semarang, 50131, Indonesia
sering dikerjakan oleh para peneliti cuaca atau atmosfer. Untuk mendapatkan hasil yang lebih baik dan lebih akurat, para peneliti terdorong untuk terus menerus melakukan penelitian terkait atmosfer cuaca dan mengembangkan metode-metode untuk memenuhi kebutuhan akan informasi kondisi cuaca atau atmosfer [1].
Naive Bayes Clasifier (NBC) adalah suatu
metode pembelajaran supervised yang handal, mudah, efektif, efisien dan mengatasi derau data seperti atribut yang kurang atau tidak relevan.
Dataset yang besar baik yang atribut variabel
diskrit atau kontinu juga dapat ditangani oleh
Naive bayes clasifier [4] [5]. Penggunaan
algoritma ini diharapkan akan mempermudah proses penentuan cuaca dengan akurasi yang baik.
2.METODEPENELITIAN
Penelitian ini menggunakan beberapa metode yang bertujuan untuk menyelesaikan masalah yang ada dalam penelitian ini. Metode yang diusukan dalam penelitian ini adalah sebagai berikut :
2.1. Pengolahan Awal Data (Preparation Data)
Di dalam penelitian ini, ada beberapa tahap yang harus dikerjakan terhadap data yang sudah diperoleh dalam data tersebut, semua data atau
record dan atribut tidak digunakan semua, data atau record dan atribut harus melalui beberapa tahap pengolahan awal data (preparation data). Sehingga mendapatkan data yang berkualitas, beberapa teknik yang dikerjakan sebagai berikut [6] :
a. Data Cleaning
Data yang baik dan berkualitas adalah kunci dasar untuk menghasilkan data yang berkualitas, data nois datayang masih outliers
atau eror, data incomplete data yang nilai atributnya hilang, dan data inconsistent data yang tidak konsisten di dalam pengisian atributnya.
1. Tahapan-tahapan dalam data cleaning:
2. Menghilangkan atau identifikasi outliers
dan menghilangkan data nois.
3. Melengkapi nilai-nilai yang tidak lengkap
value)
4. Data yang tidak konsisten diperbaiki. 5. Memecah redundansi yang disebabkan
oleh interogasi data.
b. Data intergration and transformasion
Langkah selanjutnya adalah integration teknik yang digunakan untuk menganalisis data korelasi, atribut yang redudan dan duplikat data, dan transformation digunakan untuk meningkatkan akurasi dan efisiensi algoritma. Kelebihan algoritma naive bayes adalah dapat memproses data yang bernilai nominal, kontinyu, dan ordinal. Oleh karena itu nilai dari setiap atribut yang terdapat dalam dataset
tidak usah di transformasikan.
c. Data reduction
Data rection adalah proses mereduksi dataset
dengan cara mengurangi jumlah atribut atau
record yang tidak diperlukan agar lebih sedikit namun tetap bersifat informatif. Mendapatkan representasi dalam volume data yang dikurangi namun masih mendapatkan hasil analitis yang sama atau serupa dan deskritasi data yang merupakan bagian dari reduksi data, bagian yang penting untuk data numerik. 2.2. Metode Klasifikasi dan Algoritma Naive
Bayes
Klasifikasi dapat didefinisikan dengan detail sebagai suatu kegiatan melakukan pembelajaran atau pelatihan terhadap fungsi f yang memetakan vektor x ke dalam suatu dari beberapa label y
kelas yang tersedia. Kegiatan tersebut akan memberikan hasil suatu model yang selanjutnya disimpan sebagai model [7]. Model yang dibuat pada saat pembelajaran selanjutnya dapat digunakan untuk menentukan label kelasnya. Selama proses pembelajaran dalam pembuatan model, diperlukan suatu algoritma pembelajaran antara lain yaitu: KNN, SVM, Naive Bayes,
Decission Tree, dan lain sebagainya [7].
Naive Bayes Classifier (NBC) juga disebut sebagai Bayesian Classification adalah metode Pengklasifikasian statistik yang berguna untuk proses menentukan probabilitas suatu keanggotaan dari suatu class. Teorema Bayes
mendasari Naive Bayes Classifier yang mempunyai kemampuan klasifikasi yang serupa
dengan Decision Tree dan Neural Network. NBC juga efisien, efektif, dan handal menangani derau data seperti atribut yang tidak relevan. NBC juga bisa mengatasi dataset besar baik dengan atribut variabel maupun kontinu [4] [5].
Cara kerja NBC secara umum berdasarkan bentuk umum teorema bayes sebagai berikut [5]:
𝑃(𝐶𝑖|𝑋) =
𝑃(𝑋|𝐶𝑖)𝑃(𝐶𝑖)
𝑃(𝑋) (1)
Dimana dalam hal ini:
𝐶𝑖 = hipotesis data X merupakan suatu
kategori/class spesifik.
𝑋 = data dengan class yang belum diketahui.
𝑃(𝐶𝑖|𝑋) = probabilitas hipotesis 𝐶𝑖
berdasarkan kondisi X (posteriori probability).
𝑃(𝑋|𝐶𝑖) = probabilitas X berdasarkan kondisi
pada hipotesis 𝐶𝑖.
𝑃(𝐶𝑖) = probabilitas hipotesis 𝐶𝑖 (prior
probability).
𝑃(𝑋) = probabilitas dari data X.
Pada data yang nilainya normal maka penggunaan metode sebelumnya berjalan secara langsung sebagai mana mestinya. Tetapi untuk tipe data numerik ada tambahan pekerjaan. Asumsi nilai numerik bahwa mereka memiliki probabilitas distribusi yang “normal” atau “Gaussian” dengan cara menghitung nilai dari rerata µ serta standar deviasi σ di setiap class.
Yang didefinisikan dengan [8] [9]:
g (x, µ, σ) = 1
σ√2πe
−(𝑥 − µ)2
2(σ2) (2)
Dan bisa disimpulkan pencarian probabilitas X
tergantung kondisi dari hipotesis 𝐶𝑖:
𝑃(𝑋𝑘|𝐶𝑖) = g (𝑥𝑘, µ𝑖, σ𝑖) (3)
2.3. Pengukuran akurasi, Recall, dan Presisi Tujuan dari pengukuran akurasi adalah untuk mengetahui kinerja dari “Algoritma Naive Bayes
dalam menentukan cuaca” dalam mengklasifikasi data ke dalam kelas yang telah ditentukan. Sehingga mengetahui kinerjanya maka diperlukannya suatu metode perhitungan
kinerja yaitu dengan menggunakan metode
confusion matrix.
Confusion Matrix yaitu mempresentasikan hasil
evaluasi model dengan menggunakan tabel matriks, jika dataset terdiri dari dua kelas, maka kelas pertama dianggap positif, dan kelas kedua dianggap negatif. Evaluasi dari Confusion Matrix tersebut menghasilkan nilai Akurasi,
Precision, dan Recall [10].
Tabel 1 : Confusion Matrix Correct
Classification
Classified as
+ -
+ True positives False negatives
- False positives True negatives
Pada tabel 1, True Positive (TP) adalah jumlah
record positif dalam dataset yang diklasifikasi positif. True Negative (TN) adalah jumlah record
negatif dalam dataset yang diklasifikasikan negatif. False Positive (FP) adalah jumlah record
negatif dalam dataset yang diklasifikasikan positif. False Negative (FN) adalah ulah record
positif yang diklasifikasikan negatif [10]. Berikut adalah persamaan model Confusion Matrix:
Nilai akurasi adalah persentase jumlah record
data yang diklarifikasikan dengan benar oleh suatu algoritma klasifikasi [9]. Nilai recall
digunakan untuk membandingkan True Positive
dengan tupel positif. Sedangkan nilai presisi adalah proposisi kasus dengan hasil diagnosa positif [10].
Perhitungan nilai akurasi didefinisikan dengan persamaan sebagai berikut:
𝐴𝑘𝑢𝑟𝑎𝑠𝑖 = 𝑇𝑃 + 𝑇𝑁 𝑇𝑃 + 𝑇𝑁 + 𝐹𝑃 + 𝐹𝑁 (4) 𝑅𝑒𝑐𝑎𝑙𝑙 = 𝑇𝑃 𝑇𝑃 + 𝐹𝑁 (5) 𝑃𝑟𝑒𝑠𝑖𝑠𝑖 = 𝑇𝑃 𝑇𝑃 + 𝐹𝑃 (6) Dalam hal ini dijelaskan bahwa:
TP = jumlah dari data yang terklasifikasi di kelas yang benar.
TN = jumlah dari data yang terklasifikasi di kelas sebaliknya yang benar.
FP = jumlah data yang dianggap berada di kelas yang benar oleh sistem padahal seharusnya data tersebut berada di
berada di kelas yang benar.
3.HASILDANPEMBAHASAN 3.1.Pengolahan data
Dalam melakukan eksperimen ini diperlukan data cuaca sebanyak 761 data yakni data cuaca dari bulan Januari tahun 2015 sampai bulan Desember tahun 2016 yang digunakan sebagai
dataset. Dataset tersebut didapatkan dari situs http://www.ogimet.com. Situs tersebut merupakan situs serupa yang digunakan oleh penelitian [11] dalam memperoleh data penelitiannya. Sebelum dilakukan proses klasifikasi, data atau record dan atribut harus melalui beberapa tahap pengolahan awal data
(preparation data). Sehingga mendapatkan data
yang berkualitas.
Pada data yang tidak lengkap atau hilang menyebabkan ketidakbenaran atau bahkan kekeliruan, oleh karena itu untuk mendapatkan data yang berkualitas, beberapa tahap pengolahan data awal (preparation data) dilakukan sebagai berikut:
a. DataCleaning
Proses penghapusan data yang tidak lengkap (Incomplete data), data noise, dan nilai atribut yang hilang yaitu sebesar 30 record.
b. Reduksi Data
Menghapus data noise dan memecah redudansi data dengan cara menghapus atribut dan nilai yang kurang penting. Menghapus atribut Date (tanggal) tidak akan memberi informasi yang dibutuhkan dalam mining. Berikut ini adalah hasil dari proses pengolahan data awal (preparation data) yaitu Data Cleaning
dan Reduksi Data. Didapatkan dari 761 record
menjadi 731 record dan dari 12 atribut menjadi 11 atribut yaitu 10 atribut numerik dan 1 atribut kategorial. Atribut numerik adalah atribut yang domainnya berupa bilangan integer atau riil, nilai modelnya yaitu Temperature MAX, Temperature MIN, Temperature Mean, Hr. Med, Wind Max, Wind Mean, Pressure SLP, Pressure STN, Vis, dan Prec. Atribut kategorial adalah adalah atribut yang domainnya merupakan
731 dataset cuaca menjadi dua bagian yaitu data
traning dan data testing. Berdasarkan
keseluruhan dataset cuaca yang ada, selanjutnya dibagi dengan komposisi perbandingan 75% untuk data traning dan 25% untuk data testing,
pembagian tersebut berdasarkan pada penelitian [12]. Sehingga data traning yaitu sebanyak 548
record dan data testing sebanyak 183 record
.
3.2.Hasil Implementasi
Dari hasil eksperimen yang telah dilakukan menggunakan metode naive bayes, didapatkan hasil kecocokan data testing antara hasil dari metode yang diusulkan dengan menggunakan 182 data cuaca uji dan kondisi cuaca sebenarnya. Hasil dari pencocokan data uji tersebut kemudian dimasukkan ke dalam tabel confusion matriks.
Berdasarkan tabel 2 maka nilai akurasi dapat dihitung menggunakan perhitungan berikut:
Tabel 2 Confusion Matriks True Hujan
True Tidak Hujan
Pred Hujan 49 10
Pred Tidak Hujan 22 102
Akurasi menyatakan bahwa nilai rasio jumlah data cuaca yang diklasifikasi di kelas secara benar (true positive) dan jumlah dari data yang terklasifikasi di kelas yang sebaliknya (true
negative) dengan seluruh data cuaca
diklasifikasikan. 1. Menghitung Akurasi
Nilai akurasi adalah proporsi jumlah prediksi yang benar [10]. Dihitung menggunakan persamaan (4) sebagai berikut:
𝐴𝑘𝑢𝑟𝑎𝑠𝑖 = 𝑇𝑃 + 𝑇𝑁
𝑇𝑃 + 𝑇𝑁 + 𝐹𝑃 + 𝐹𝑁 (4)
Akurasi = 151
183 x 100% = 82.5136612021858 %
2. Menghitung Recall
Nilai recall digunakan untuk membandingkan
True Positive dengan tupel positif [10]. Dihitung dengan menggunakan persamaan (5) sebagai berikut:
𝑅𝑒𝑐𝑎𝑙𝑙 = 𝑇𝑃
𝑇𝑃 + 𝐹𝑁 (5)
Recall Hujan = 49
59 x 100% = 83.0508474576271%
Recall Tidak Hujan = 102
124 x 100% = 82.258064516129%
3. Menghitung Presisi
Nilai presisi adalah proposisi kasus dengan hasil diagnosa positif [10]. Dihitung dengan menggunakan persamaan (6) sebagai berikut:
𝑃𝑟𝑒𝑠𝑖𝑠𝑖 = 𝑇𝑃
𝑇𝑃 + 𝐹𝑃 (6)
Presisi Hujan = 4971 x 100% = 69.0140845070423%
Presisi Tidak Hujan = 102
112 x 100% =
91.0714285714286%
Dari pengujian 183 data uji menggunakan metode naive bayes didapatkan akurasi sebesar 82.5136612021858% dengan nilai recall sebesar 82.6544559868781% dan presisi sebesar 80.0427565392354%. Hal ini menunjukkan bahwa penggunaan metode naive bayes dalam menentukan cuaca harian dapat digunakan sebagai sistem klasifikasi cuaca harian.
4.KESIMPULAN
Berdasarkan hasil dari eksperimen penelitian penentuan cuaca harian dengan menggunakan metode naive bayes telah dilakukan, sehingga dapat disimpulkan beberapa hal sebagai berikut: 1. Dari hasil pengujian menunjukkan bahwa
klasifikasi penentuan cuaca harian dengan menggunakan metode naive bayes
mendapatkan nilai akurasi sebesar 82.5136612021858% dengan nilai recall
sebesar 82.6544559868781% dan presisi sebesar 80.0427565392354%.
2. Dari hasil penelitian dan pengujian yang telah dilakukan, maka metode yang diusulkan pada penelitian ini yaitu klasifikasi cuaca harian (Hujan dan Tidak Hujan) dengan menggunakan metode naive bayes dapat digunakan untuk menentukan cuaca harian (Hujan dan Tidak Hujan).
5.SARAN
Berdasarkan hasil pembahasan dan analisis pada penelitian tersebut, maka peneliti memberikan saran untuk penelitian selanjutnya yang diharapkan bisa dijadikan dasar untuk mengembangkan penelitian ini yaitu:
1. Perlu adanya penelitian pada tahap selanjutnya, yaitu dengan menggunakan metode lain atau menggabungkan beberapa metode sehingga diharapkan dapat meningkatkan akurasi dengan menutup kekurangan-kekurangan metode yang telah digunakan sebelumnya.
2. Diharapkan penelitian selanjutnya memperbanyak dataset supaya hasil yang didapat lebih akurat.
DAFTARPUSTAKA
[1] N. E. Sari dan E. Sukirman, “Prediksi Cuaca Berbasis Logika Fuzzy Untuk Rekomendasi Penerbangan Di Bandar Dara Raja Haji Fisabilillah,” 2011. [2] H. Maharan, “Konstruksi Bayesian
Network Dengan Algoritma K2 Pada Kasus Prediksi Cuaca,” 2015.
[3] R. Chaniago, T. H. Liong dan K. R. R. Wardani, “Prediksi Cuaca Menggunakan Metode Case Based Reasoning dan Adaptive Neuro Fuzzy Inference System,”
Jurnal Informatika, vol. 12, 2014. [4] Y. Yang and G. I. Webb, “On Why
Discretization Works for Naive-Bayes Classifier,” 2003.
[5] K. dan E. T. Luthfi, Algoritma Data Mining, Yogyakarta: Penerbit Andi, 2009. [6] D. c. Mahendra dan A. W. Kurniawan,
“Klasifikasi Data Debitur Untuk Menentukan Kelayakan Kredit Dengan Menggunakan Metode Naive Bayes,” 2015.
[8] I. H. Witten, E. Frank dan M. A. Hall, Data Mining Practical Machine Learning Tools and Techniques, Burlington: Morgan Kaufmann, 2011.
[9] J. Han, M. Kamber dan J. Pei, Data Mining Concepts and Techniques, Waltham: Morgan Kaufmann, 2012.
[10] D. T. Wahyuni, T. Sutojo dan A. Luthfiarta, “Prediksi Hasil Pemilu Legislatif Dki Jakarta Menggunakan Naïve Bayes Dengan Algoritma Genetika Sebagai Fitur Seleksi,” 2014.
[11] S. Mujiasih , “Pemanfatan Data Mining Untuk Prakiraan Cuaca,” 2011.
[12] M. G. Salman , B. Kanigoro dan Y. Heryadi , “Weather Forecasting using Deep Learning Techniques,” 2015.