You are on page 1of 18

Analisis Teknik Klasifikasi Data Menggunakan Algoritma Bagging (Ensemble

Learning) Untuk Peramalan Cuaca


Muhammad Aditya Hasta Pratama a, 1, Muhammad Azar Nuzy a, 2, Sekar Madu Kusumawardani a, 3
a
Departemen Pendidikan Ilmu Komputer, Universitas Pendidikan Indonesia, Jl. Dr. Setiabudhi No.229 Bandung,
Indonesia, mdhstama@upi.edu, azarnuzy@upi.edu, sekarmadu@upi.edu

ABSTRAK
Sejarah Artikel
Diterima : Rabu, 05 Januari 2022
Prakiraan atau ramalan cuaca adalah pengunaan ilmu dan teknologi untuk memperkiraan
keadaan atmosfer Bumi pada masa datang untuk suatu tempat tertentu. Tujuan dari Disetujui : -
penelitian ini adalah untuk mencari pemodelan dan percobaan prediksi untuk cuaca
berdasarkan dataset yang sudah ada. Dalam paper ini, kami mempelajari klasifikasi cuaca
menggunakan beberapa algoritma klasifikasi seperti Tree, Logistic, Multilayer Perceptron, Kata kunci:
Naive Bayes dan Bagging. Adapun tahapan untuk penelitian kali ini yaitu, 1) preprocessing Data mining, klasifikasi, WEKA,
dataset, 2) pembuatan model klasifikasi, dan 3) pembuatan website heroku untuk hasil
Python, prediksi, peramalan
klasifikasi. Dari beberapa algoritma tersebut, algoritma Bagging dipilih untuk menggunakan
algoritma klasifikasi Bagging karena menunjukan hasil akurasi tertinggi dibanding algoritma cuaca.
lainnya.

ABSTRACT Keywords:
Forecasting or weather forecasting is the use of science and technology to estimate the future data mining, classification, WEKA,
state of the Earth's atmosphere for a particular place. The purpose of this research is to search
for modeling and prediction experiments for weather based on existing datasets. In this paper,
Python, prediction, forecasting.
we study weathers classification using several classification algorithms such as Tree, Logistics,
Multilayer Perceptron, Naive Bayes, and Bagging. The stages for this research are 1)
preprocessing the dataset, 2) creating a classification model, and 3) creating a Heroku website
for classification results. Of these several algorithms, the Bagging algorithm was chosen to use
the Bagging algorithm classification because it shows the highest accuracy results compared
to other algorithms.

Pendahuluan
Prediksi cuaca telah menjadi masalah yang menantang di departemen meteorologi selama
bertahun-tahun. Bahkan setelah kemajuan teknologi dan ilmu pengetahuan, keakuratan prediksi cuaca
tidak pernah cukup. Bahkan pada tanggal saat ini domain ini tetap sebagai topik penelitian di mana para
ilmuwan dan matematikawan bekerja untuk memproses dan menghasilkan model atau algoritma yang
secara akurat akan memprediksi cuaca. Ada peningkatan besar pada sensor yang bertanggung jawab untuk
merekam data dari lingkungan dan membatalkan kebisingan yang ada di dalamnya bersama dengan model
baru ini telah diusulkan yang menyertakan atribut berbeda yang terkait dengan cuaca untuk membuat
prediksi yang akurat. (Sheikh, F., Karthick, et al. 2016).
Data mining adalah proses untuk menemukan pengetahuan yang menarik, seperti asosiasi, pola,
anomali, perubahan, dan struktur signifikan dari sejumlah besar data yang disimpan dalam database atau
tempat penyimpanan informasi lainnya. Dalam prosedur data mining, data sebelumnya dijelaskan dan
aturan masa depan dihitung dengan analisis data. Data mining adalah bidang multi-disiplin yang merupakan
kombinasi dari machine learning, statistik, teknologi database, dan kecerdasan buatan. Teknik ini
mencakup beberapa fase: Pemahaman bisnis, pemahaman data, persiapan data, pemodelan, evaluasi, dan
deployment. Data mining telah terbukti sangat bermanfaat di bidang analisis medis karena meningkatkan
akurasi diagnostik, mengurangi biaya perawatan pasien, dan menghemat sumber daya manusia. Ada
berbagai teknik data mining seperti Association, Classification, Clustering, Neural Network, dan Regression.
(Kaur, Gaganjot, Ami Chabra. 2014).

Korespondensi: Muhammad Aditya Hasta Pratama, mdhstama@upi.edu, Ilmu Komputer, UPI, Bandung, Indonesia
Korespondensi: Muhammad Azar Nuzy, azarnuzy@upi.edu, Ilmu Komputer, UPI, Bandung, Indonesia
Korespondensi: Sekar Madu Kusumawardani, sekarmadu@upi.edu, Ilmu Komputer, UPI, Bandung, Indonesia
Copyright © 2022. Muhammad Aditya Hasta Pratama, Muhammad Azar Nuzy, Sekar Madu Kusumawardani. All Right Reserved
Muhammad Aditya Hasta Pratama 1, Muhammad Azar Nuzy 2, Sekar Madu Kusumawardani 3. Analisis Teknik Klasifikasi Data Menggunakan
Algoritma Bagging (Ensemble Learning) Untuk Peramalan Cuaca

Deskripsi dan Penjelasan Datasets


Weather dataset merupakan kumpulan data riwayat cuaca di daerah Leeds, Inggris. Dataset ini
merupakan jenis time series dataset. Time series dataset adalah kumpulan pengamatan yang diperoleh
melalui pengukuran berulang sepanjang waktu. Data time series juga adalah urutan titik data yang
dikumpulkan selama interval waktu tertentu yang memberi kita kemampuan untuk melacak perubahan
dari waktu ke waktu. Data time series dapat melacak perubahan selama milidetik, hari, atau bahkan
bertahun-tahun. Dataset yang digunakan pada percobaan ini merupakan dataset publik yang diunduh dari
laman yang berisi kumpulan dataset yaitu Kaggle (https://www.kaggle.com/muthuj7/weather-dataset).
Dataset ini memiliki 12 kolom, yaitu Formatted Date, Summary, Precip Type, Temperature (C), Apparent
Temperature (C), Humidity, Wind Speed (km/h), Wind Bearing (degrees), Visibility (km), Cloud Cover,
Pressure (millibars), Daily Summary. Keseluruhan record pada dataset ini berjumlah 96.453 baris.
Detail atribut yang ada dalam dataset ini yaitu sebagai berikut,
1. Formatted Date
Atribut ini bertipe date atau tanggal. Formatted Date adalah data-data yang berisikan kapan
data atribut lainnya diisikan ke dalam dataset. Format tanggal pada atribut ini yaitu mm/dd/yyyy.

Gambar 1. Detail atribut Formatted Date

2. Precip Type
Atribut ini bertipe data string. Presipitasi (precipitation) atau dalam bahasa Indonesia diartikan
sebagai pengendapan merupakan peristiwa jatuhnya titik-titik air dari atmosfer ke permukaan bumi,
baik dalam bentuk cair atau kristal salju. Bentuk presipitasi dapat pula meliputi hujan, salju serta hujan
es. Dalam atribut Precip Type ini terdapat 2 jenis nilai unik, yaitu rain dan snow.

Gambar 2. Detail atribut Precip Type

3. Temperature
Atribut ini bertipe data float. Suhu atau Temperatur adalah besaran fisika yang menyatakan
panas dan dingin. Atribut ini menyatakan data temperatur udara pada saat tersebut.

2
Paper Tugas Besar Kelompok 5 Mata Kuliah Data Mining dan Warehouse 3KOM-C1

Gambar 3. Detail atribut Temperature

4. Apparent Temperature
Atribut ini bertipe data float. Suhu semu adalah suhu yang setara yang dirasakan oleh manusia,
yang disebabkan oleh efek gabungan dari suhu udara, kelembaban relatif, dan kecepatan angin.
Ukuran ini paling sering diterapkan pada suhu luar ruangan yang dirasakan.

Gambar 4. Detail atribut Apparent Temperature

5. Humidity
Atribut ini bertipe data float. Humidity atau kelembaban dapat didefinisikan sebagai jumlah
kandungan uap air yang ada di udara.

Gambar 5. Detail atribut Humidity

6. Wind Speed
Atribut ini bertipe data float. Wind Speed (Kecepatan Angin) adalah besaran atmosfer
mendasar yang disebabkan oleh pergerakan udara dari tekanan tinggi ke rendah,biasanya karena
perubahan suhu.

Gambar 6. Detail atribut Wind Speed

3
Muhammad Aditya Hasta Pratama 1, Muhammad Azar Nuzy 2, Sekar Madu Kusumawardani 3. Analisis Teknik Klasifikasi Data Menggunakan
Algoritma Bagging (Ensemble Learning) Untuk Peramalan Cuaca

7. Wind Bearing
Atribut ini bertipe data float. Wind Bearing mengacu pada arah dimana angin tersebut bergerak.

Gambar 7. Detail atribut Wind Bearing


8. Visibility
Atribut ini bertipe data float. Visibility mengacu pada jarak yang dapat dilihat oleh kondisi atau
cuaca tertentu.

Gambar 8. Detail atribut Visibility


9. Cloud Cover
Atribut ini bertipe data float. Cloud Cover (juga dikenal sebagai kekeruhan atau jumlah awan)
mengacu pada fraksi langit yang tertutup awan ketika diamati dari lokasi tertentu.

Gambar 9. Detail atribut Cloud Cover


10. Pressure
Atribut ini bertipe data float. Pressure (Tekanan) mengacu pada berat udara.

Gambar 10. Detail atribut Pressure


11. Summary
Atribut ini bertipe data string. Summary adalah ringkasan atau hasil pengukuran dari atribut-
atribut sebelumnya dan menjadi target output klasifikasi.
4
Paper Tugas Besar Kelompok 5 Mata Kuliah Data Mining dan Warehouse 3KOM-C1

Gambar 11. Detail atribut Summary


12. Daily Summary
Atribut ini bertipe data string. Daily Summary adalah hasil rata-rata input prediksi dalam
jangka waktu satu hari.

Gambar 12. Detail atribut Daily Summary

Algoritma Klasifikasi
Bagian ini merupakan penjelasan tentang algoritma-algoritma apa saja yang akan dipakai dalam
menentukan algoritma terbaik dalam penelitian ini dilihat dari tingkat akurasinya yang paling tinggi. Berikut
ini adalah macam-macam algoritmanya.
1. Tree
a. J48
Decision Tree adalah salah satu cara yang paling banyak dipakai untuk melakukan data
mining. Di dalam algoritma Decision Tree ini terdapat beberapa algoritma seperti ID3, C4.5 dan J48.
Dalam penelitian ini, jenis algoritma decision tree yang akan digunakan adalah J48. J48 merupakan
salah satu jenis classifier pada metode klasifikasi dalam data mining dan bagian dari C45 decision
tree yang sederhana (Jayasingh, S. K. et al. 2016).
b. REPTree
REPTree adalah metode untuk menghasilkan sebuah decision tree dari dataset yang ada.
REPTree ini dianggap sebagai pengembangan dari C45 dengan meningkatkan fase pruning atau
pemangkasan menggunakan Reduced Error Pruning (REP). Metode ini menggunakan pruning atau
pemangkasan dataset yang terpisah. Untuk setiap subtree diperiksa apakah dapat digantikan oleh
single node, tanpa menurunkan kinerja dari klasifikasi pada pruning set. Dengan demikian, metode
pruning yang digunakan sederhana, tetapi sering dianggap terlalu agresif dikarenakan adanya
penghapusan pada subtree yang sebenarnya penghapusan tersebut relevan. Oleh karena itu,
metode REPTree memberikan tingkat keterjelasan yang tinggi (Knowledge Centre Data & Society.
2019).
2. Multilayer Perceptron
Penerapan neural network yang berhasil melakukan analisis data adalah Multi Layer Perceptron
(MLP). Model ini adalah model jaringan saraf non linier yang dapat digunakan untuk memperkirakan
tingkat akurasi yang tinggi. MLP ini berisi input layer, hidden layers, dan output layer (Jayasingh, S. K.
et al. 2016).

5
Muhammad Aditya Hasta Pratama 1, Muhammad Azar Nuzy 2, Sekar Madu Kusumawardani 3. Analisis Teknik Klasifikasi Data Menggunakan
Algoritma Bagging (Ensemble Learning) Untuk Peramalan Cuaca

3. Function
a. Logistic
Model klasifikasi logistik adalah model klasifikasi biner, di mana probabilitas bersyarat dari
salah satu yang berada pada dua kemungkinan yaitu realisasi variabel output diasumsikan sama
dengan kombinasi linier dari variabel input dan ditransformasikan oleh fungsi logistik (Taboga,
Marco. 2021).
b. Simple Logistic
Simple Logistic Regression adalah uji statistik yang digunakan untuk memprediksi variabel
biner tunggal dengan menggunakan satu variabel lainnya. Simple Logistic Regression ini juga
digunakan untuk menentukan hubungan numerik antara dua variabel. Variabel yang akan diprediksi
haruslah biner dan data harus dapat memenuhi asumsi seperti linearitas, tidak ada outliers, dan
independence (StatTest. 2021).
4. NaiveBayes
Pengklasifikasi Naive Bayes adalah pengklasifikasi probabilistik berdasarkan teoema Bayes yang
mengasumsikan bahwa setiap fitur memberikan kontribusi yang independen dan setara ke kelas
target. Klasifikasi Naive Bayes mengasumsikan bahwa setiap fitur adalah independen dan tidak
berinteraksi satu sama lain, sehingga setiap fitur berkontribusi pada kemungkinan sampel untuk
menjadi bagian dari kelas tertentu. Klasifikasi Naive Bayes ini mudah untuk diimplementasikan dan
secara komputasi berjalan dengan cepat dan berkinerja dengan baik pada kumpulan data besar yang
memiliki dimensi yang tinggi. (ScienceDirect. 2020).
5. Bagging
Pengklasifikasi Bagging adalah meta-estimator ansambel yang cocok dengan pengklasifikasi
dasar masing-masing pada subset acak dari dataset asli dan kemudian menggabungkan prediksi
individu mereka (baik dengan memilih atau dengan rata-rata) untuk membentuk prediksi akhir. Meta-
estimator seperti itu biasanya dapat digunakan sebagai cara untuk mengurangi varians dari estimator
black box (misalnya, decision tree), dengan memasukkan pengacakan ke dalam prosedur konstruksinya
dan kemudian membuat ansambel darinya. (Scikit Learn. 2018)
Bagging sering juga disebut sebagai metode bootstarp aggregating. Dikutip dari Wikipedia,
bootstrap aggregating merupakan penggabungan algoritma pembelajaran mesin (machine learning)
yang dirancang untuk meningkatkan stabilitas dan akurasi dari algoritma machine learning yang
digunakan dalam klasifikasi statistik dan regresi. Bagging juga mengurangi varians dan membantu
untuk menghindari terjadinya overfitting. Meskipun biasanya diterapkan untuk metode decision tree,
bagging dapat digunakan dengan semua jenis metode. Bagging merupakan kasus khusus dari
pendekatan model averaging. (Wikipedia. 2020)

Tools (Alat Pengklasifikasi)


Bagian ini menjelaskan aplikasi-aplikasi apa saja yang digunakan untuk melakukan klasifikasi
datasets penelitian ini. Berikut adalah macam-macam aplikasinya, yaitu :
1. WEKA
Weka adalah aplikasi data mining open source berbasis Java. Aplikasi ini dikembangkan
pertama kali oleh Universitas Waikato di Selandia Baru sebelum menjadi bagian dari Pentaho. Weka
terdiri dari koleksi algoritma machine learning yang dapat digunakan untuk melakukan generalisasi /
6
Paper Tugas Besar Kelompok 5 Mata Kuliah Data Mining dan Warehouse 3KOM-C1

formulasi dari sekumpulan data sampling. Walaupun kekuatan Weka terletak pada algoritma yang
makin lengkap dan canggih, kesuksesan data mining tetap terletak pada faktor pengetahuan manusia
implementasinya. Tugas pengumpulan data yang berkualitas tinggi dan pengetahuan pemodelan dan
penggunaan algoritma yang tepat diperlukan untuk menjamin keakuratan formulasi yang diharapkan.
Setiap aplikasi dibuat untuk menyederhanakan suatu proses yang harus dibuat oleh user, dalam hal ini
ada beberapa fungsi utama dari aplikasi WEKA antara lain :
a) Comprehensive set of data pre-processing tools, learning algorithms and evaluation methods
b) Graphical user interfaces (incl. Data visualization)
c) Environment for comparing learning algorithms (Juniwaly. 2018).
Parameter kesalahan dalam WEKA yang berbeda untuk menganalisis prediksi yang digunakan
adalah sebagai berikut :
a) RMSE - Root-mean-square deviation (RMSD) atau root-mean-square error (RMSE) adalah ukuran
yang sering digunakan dari perbedaan antara nilai (sampel dan nilai populasi) diprediksi oleh
model atau estimator dan nilai yang benar-benar diamati.
b) MAE - Mean absolute error (MAE) adalah besaran yang digunakan untuk mengukur seberapa dekat
peramalan atau prediksi dengan hasil akhirnya.
c) RAE - Kesalahan relatif adalah kesalahan mutlak dibagi dengan besarnya nilai eksak. Kesalahan
persen adalah kesalahan relatif yang dinyatakan dalam per 100.
d) RRSE - Kesalahan kuadrat relatif Root dihitung sebagai kesalahan absolut Rata-rata dibagi dengan
kesalahan pengklasifikasi ZeroR (pengklasifikasi, yang mengabaikan semua prediktor dan hanya
memilih yang paling sering nilai) (Jayasingh, S. K. et al. 2016).
2. Python
Python adalah bahasa pemrograman interpretatif yang dapat digunakan di berbagai platform
dengan filosofi perancangan yang berfokus pada tingkat keterbacaan kode dan merupakan salah satu
bahasa populer yang berkaitan dengan Data Science, Machine Learning, dan Internet of Things (IoT).
Keunggulan Python yang bersifat interpretatif juga banyak digunakan untuk prototyping, scripting
dalam pengelolaan infrastruktur, hingga pembuatan website berskala besar. (Dicoding Indonesia..
2020)
Sistem klasifikasi pada penelitian ini dibuat sepenuhnya menggunakan bahasa pemrograman
Python. Selain karena Python yang merupakan bahasa populer dan mudah digunakan, library yang
dibutuhkan dalam proses membangun sistem klasifikasi ini juga sangat lengkap, mulai dari library untuk
penyeleksian data, pembersihan data, hingga analisis data dan pembuatan model untuk klasifikasi.
Disamping mudahnya penggalian data menggunakan Python, bahasa ini juga dapat diintegrasikan
dengan aplikasi web sehingga dapat langsung dihubungkan dengan template bertipe HTML untuk
dijalankan pada web browser.
Seperti yang telah disebutkan sebelumnya bahwa bahasa pemrograman Python memiliki
banyak library yang sangat mendukung dalam pembuatan model klasifikasi, berikut adalah beberapa
library yang akan digunakan dalam perancangan sistem peramalan cuaca pada penelitian ini.
a. Pandas
Pandas adalah library perangkat lunak yang ditulis untuk bahasa pemrograman Python
untuk manipulasi dan analisis data. Secara khusus, ia menawarkan struktur data dan operasi untuk
memanipulasi tabel numerik dan deret waktu (time series). Pandas menyediakan struktur data
yang cepat, fleksibel, dan ekspresif yang dirancang untuk membuat bekerja dengan data
7
Muhammad Aditya Hasta Pratama 1, Muhammad Azar Nuzy 2, Sekar Madu Kusumawardani 3. Analisis Teknik Klasifikasi Data Menggunakan
Algoritma Bagging (Ensemble Learning) Untuk Peramalan Cuaca

"relasional" atau "berlabel" menjadi mudah dan intuitif. Ini bertujuan untuk menjadi blok
bangunan tingkat tinggi yang mendasar untuk melakukan analisis data dunia nyata yang praktis
dengan Python. Selain itu, ia memiliki tujuan yang lebih luas untuk menjadi alat analisis/manipulasi
data open source yang paling kuat dan fleksibel yang tersedia dalam bahasa apa pun. Pandas
merupakan perangkat lunak gratis yang dirilis di bawah lisensi BSD tiga klausa. (Pandas
Documentation. 2020)
Pada penelitian ini, library Pandas membantu dalam pembuatan dataframe yang diesktrak
dari dataset yang merupakan file dalam bentuk CSV (Comma Separated Values).
b. Scikit Learn
Scikit-learn atau sklearn adalah modul untuk bahasa pemograman python yang dibangun
diatas library NumPy, SciPy, dan matplotlib, fungsinya dapat membantu melakukan processing
data ataupun melakukan training data untuk kebutuhan machine-learning. Ada banyak fitur yang
dapat digunakan dengan sklearn ini, seperti classification, regression, clustering, dimensionality
reduction, model selection, dan preprocessing data. Scikit learn adalah library yang sederhana dan
efektif untuk digunakan dalam analisis data, dapat diakses oleh setiap orang, bersifat reusable,
open source, dan berlisensi BSD. (Scikit Learn Documentation. 2019)
Pada penelitian ini, library Scikit Learn digunakan dalam praproses data, pembuatan
model, prediksi dan klasifikasi data, serta analisis tingkat akurasi. Beberapa fungsi dan algoritma
yang diambil dari library ini sudah dijelaskan pada bagian jenis-jenis algoritma dan akan diperjelas
kembali pada bagian pembahasan.

Penerapan Algoritma
Dari percobaan penerapan algoritma yang telah dilakukan dengan membagi 70% dataset untuk
training dan 30% dataset untuk data testing, dapat dilihat rangkuman akurasi setiap algoritma pada tabel
berikut :
a) Detail penerapan algoritma menggunakan WEKA
Untuk menganalisis perbandingan performa setiap algoritma yang telah disebutkan sebelumnya,
digunakan aplikasi WEKA. Berikut adalah hasil penerapan algoritma untuk pembuatan model dari data pada
weather dataset menggunakan WEKA.
Tabel 1.
Penerapan algoritma klasifikasi dalam WEKA

No. Parameter J48 REPTree MLP Bagging

1. Correctly classified instances 51.6463 % 52.6552% 51.5223 % 54.8538%

2. Incorrectly classified instances 48.3537 % 47.3448% 48.4777 % 45.1462%

3. Kappa Statistic 0.3501 0.3565 0.3321 0.3892

4. Mean Absolute Error 0.087 0.0913 0.0965 0.0876

5. Root Mean Squared Error 0.251 0.2259 0.2215 0.2172

6. Relative Absolute Error 69.6331 % 73.0719% 77.2666 % 70.0736%


8
Paper Tugas Besar Kelompok 5 Mata Kuliah Data Mining dan Warehouse 3KOM-C1

7. Root Relative Squared Error 100.4135 % 90.3531% 88.5914 % 86.9082%

8. Total Number of Instances 28246 28246 28246 28246

No. Parameter Logistic Simple Naive Naive Bayes


Logistic Bayes Multinomial Text

1. Correctly classified instances 49.5999% 49.5044% 44.5833% 33.5198%

2. Incorrectly classified instances 50.40001% 50.4956% 55.4167% 66.4802%

3. Kappa Statistic 0.3076 0.3062 0.2562 0

4. Mean Absolute Error 0.1013 0.1014 0.0983 0.125

5. Root Mean Squared Error 0.2249 0.225 0.245 0.25

6. Relative Absolute Error 81.0816% 81.152% 78.6608% 100%

7. Root Relative Squared Error 89.9696% 89.9925% 96.0293% 100%

8. Total Number of Instances 28246 28246 28246 28246

Keterangan :
• Correctly classified instances
Correctly classified instances adalah tingkat akurasi hasil prediksi yang benar.
• Incorrectly classified instances
Incorrectly classified instances adalah tingkat akurasi hasil prediksi yang salah.
• Kappa Statistic
Kappa Statistic adalah ukuran yang menyatakan konsistensi pengukuran yang dilakukan dua
orang penilai (Rater) atau konsistensi antar dua metode pengukuran atau dapat juga mengukur
konsistensi antar dua alat pengukuran.
• Mean Absolute Error
MAE mengukur besarnya rata-rata kesalahan dalam serangkaian prediksi, tanpa
mempertimbangkan arahnya. Ini adalah rata-rata di atas sampel uji dari perbedaan absolut antara
prediksi dan observasi aktual di mana semua perbedaan individu memiliki bobot yang sama.
• Root Mean Squared Error
RMSE adalah aturan penilaian kuadrat yang juga mengukur besarnya rata-rata kesalahan. Ini
adalah akar kuadrat dari rata-rata perbedaan kuadrat antara prediksi dan observasi aktual.
• Relative Absolute Error
Relative Absolute Error (RAE) adalah cara untuk mengukur kinerja model prediktif. Ini
terutama digunakan dalam pembelajaran mesin, penambangan data, dan manajemen operasi. RAE
tidak menjadi bingung dengan kesalahan relatif, yang merupakan ukuran umum presisi atau akurasi
untuk instrumen seperti jam, penggaris, atau timbangan.Kesalahan Absolut Relatif dinyatakan
sebagai rasio, membandingkan kesalahan rata-rata (sisa) dengan kesalahan yang dihasilkan oleh
9
Muhammad Aditya Hasta Pratama 1, Muhammad Azar Nuzy 2, Sekar Madu Kusumawardani 3. Analisis Teknik Klasifikasi Data Menggunakan
Algoritma Bagging (Ensemble Learning) Untuk Peramalan Cuaca

model yang sepele atau naif. Model yang masuk akal (yang menghasilkan hasil yang lebih baik
daripada model trivial) akan menghasilkan rasio kurang dari satu.
• Root Relative Squared Error
Root relative squared error (RRSE) relatif terhadap apa yang akan terjadi jika prediktor
sederhana telah digunakan. Lebih khusus lagi, prediktor sederhana ini hanyalah rata-rata dari nilai
sebenarnya. Jadi, kesalahan kuadrat relatif mengambil kesalahan kuadrat total dan
menormalkannya dengan membaginya dengan kesalahan kuadrat total dari prediktor sederhana.
Dengan mengambil akar kuadrat dari kesalahan kuadrat relatif, seseorang mengurangi kesalahan
ke dimensi yang sama dengan kuantitas yang diprediksi.
• Total Number of Instances
Total Number of Instances adalah banyaknya data yang di testing oleh model.

b) Rangkuman perbandingan tingkat akurasi


Setelah dilakukan percobaan penerapan algoritma pada dataset menggunakan WEKA, berikut
rangkuman hasil akurasi setiap algoritma untuk dijadikan sebagai perbandingan.
Tabel 2.
Penerapan algoritma klasifikasi dalam WEKA

No. Algoritma Tingkat Akurasi

1. J48 51.6463 %

2. REPTree 52.6552%

3. MLP 51.5223 %

4. Bagging (Decision Tree) 55.2999%

5. Logistic 49.5999%

6. Simple Logistic 49.5044%

7. Naive Bayes 44.5833%

8. Naive Bayes Multinomial Text 33.5198%

Dari tabel di atas dapat dilihat bahwa algoritma yang memiliki tingkat akurasi tertinggi adalah
algoritma Bagging Classifier. Sehingga algoritma tersebut dipilih untuk pembuatan sistem klasifikasi time
series kali ini.

Pra-proses Data
Tahap pre-processing atau pra-proses data merupakan proses untuk mempersiapkan data mentah
sebelum dilakukan proses lain. Pada umumnya, praproses data dilakukan dengan cara mengeliminasi data
yang tidak sesuai atau mengubah data menjadi bentuk yang lebih mudah diproses oleh sistem. Dalam
pembuatan sistem klasifikasi kali ini, ada beberapa pra-proses yang dilakukan, yaitu :

10
Paper Tugas Besar Kelompok 5 Mata Kuliah Data Mining dan Warehouse 3KOM-C1

a) Feature Selection
Dataset Weather memiliki 12 buah features atau atribut yang tidak semuanya memiliki peran
dalam pembuatan model untuk klasifikasi. Oleh karena itu, di pilih beberapa atribut/features saja yang
mewakili atribut target.

Gambar 11. Sintaks praproses bagian ‘Feature Selection’


Dari gambar di atas dapat dilihat bahwa atribut yang digunakan untuk membangun model
hanya 8 dari total 12. Atribut ‘Summary’ dan ‘Daily Summary’ merupakan calon atribut target. Atribut
‘Date’ tidak dibutuhkan untuk membuat model. Atribut ‘Cloud Cover’ hanya memiliki 1 nilai yang sama,
yaitu 0. Sehingga ke-4 atribut tersebut dieliminasi.
Selain pemilihan atribut untuk digunakan dalam membangun model, pemilihan atribut juga
dilakukan untuk menetapkan atribut target. Terdapat 2 atribut yang menjadi calon target, yaitu
‘Summary’ dan ‘Daily Summary’. Karena atribut ‘Daily Summary’ merupakan atribut yang bergantung
pada atribut ‘Summary’, maka yang dipilih menjadi target adalah atribut ‘Summary’ (seperti terlihat
pada gambar sebelumnya).
b) Menghilangkan data yang memiliki nilai NaN (Not a Number), NULL, dan NA (Not Available)
Nilai NaN, NULL, dan NA dapat berpengaruh besar dalam menurunkan tingkat akurasi model.
Untuk menangani data ini dilakukan penghapusan record yang mengandung nilai tersebut serta
apabila masih terdapat nilai yang kosong (missing value) maka nilai-nilai tersebut diisi dengan median
dari atributnya.

Gambar 12. Sintaks praproses bagian


‘Menghilangkan data NaN atau NULL’

c) Menghapus record data yang memiliki double value (memiliki substring ‘dan’ pada atribut target/hasil)
Pada atribut target, yaitu ‘Summary’ terdapat label yang memiliki 2 nilai, misalnya Partly Cloudy
and Overcast. Hal ini membuat variasi dari target sangat banyak (24 nilai unik) yang mana berdampak
pada kecilnya tingkat akurasi model. Berikut adalah perbandingan testing accuracy model sebelum
dan sesudah penghapusan double value target.

Gambar 15. Model sebelum


penghapusan double value target

Gambar 16. Gambar model sesudah


penghapusan double value target

Berikut adalah syntax yang digunakan untuk melakukan penghapusan record yang
mengandung double value pada atribut targetnya (Summary).

11
Muhammad Aditya Hasta Pratama 1, Muhammad Azar Nuzy 2, Sekar Madu Kusumawardani 3. Analisis Teknik Klasifikasi Data Menggunakan
Algoritma Bagging (Ensemble Learning) Untuk Peramalan Cuaca

Gambar 17. Sintaks untuk penghapusan record double value


target

d) Encoding label data


Di dunia nyata, label dibuat dalam bentuk kata-kata, karena kata-kata dapat dibaca manusia.
kita melabeli data training dengan kata-kata sehingga pemetaan dapat dilacak. Untuk mengonversi
label kata menjadi angka, kita perlu menggunakan pembuat label encoding. label encoding mengacu
pada proses transformasi label kata menjadi bentuk numerik agar lebih mudah diproses dalam
pembuatan model.Label encoding dilakukan pada 2 buah variable bertipe string, yaitu ‘Precip Type’
dan ‘Summary’. Berikut adalah syntax yang dibuat untuk melakukan label encoding.

Gambar 18. Sintaks untuk melakukan encoding label

Pembahasan Analisis dan Pembuatan Model


a) Penggunaan Library Machine Learning
Dari banyaknya library machine learning pada Python, dalam pembuatan sistem klasifikasi kali
ini hanya akan menggunakan 2 library, yaitu Pandas dan Scikit Learn.

Gambar 19. Sintaks import library


Library Pandas digunakan dalam pembuatan dataframe dari dataset yang telah disediakan.
Sedangkan library Scikit Learn digunakan dalam praproses data, analisis performa algoritma, dan
pembuatan model.
b) Training dan testing data dalam Pyhton
Dari total seluruh data, 70% digunakan sebagai data training, sedangkan sisanya 30%
digunakan sebagai data testing. Pembagian data untuk training dan testing dapat dilihat pada gambar
di bawah.

Gambar 19. Source code untuk membuat training dan testing datasets klasifikasi

12
Paper Tugas Besar Kelompok 5 Mata Kuliah Data Mining dan Warehouse 3KOM-C1

c) Pembuatan dan training model


Pembuatan model menggunakan algoritma Bagging dengan Decision Tree sebagai base
estimatornya seperti yang ditunjukkan pada gambar berikut.

Gambar 20. Sintaks Pembuatan dan Training Model


Dapat dilihat pada gambar di atas, model yang dibangun menggunakan algoritma Bagging
Classifier dengan menerapkan algoritma Decision Tree sebagai base estimator-nya. Alasan penerapan
algoritma Decision Tree sebagai base estimator adalah karena Decision Tree J48 pada analisis akurasi
menggunakan WEKA memiliki tingkat akurasi yang cukup bagus dibandingkan algoritma lain, yaitu
sebesar 51.6463 %. Setelah digunakan sebagai base estimator pada algoritma Bagging, akurasi model
meningkat menjadi 55.2999%.
d) Testing model
Setelah model dibuat, dilakukan pengujian pada model. Cara pengujuannya yaitu dengan
melihat tingkat akurasi model, menggunakan cross validation, menggunakan confusion matrix, serta
mencetak laporan hasil klasifikasinya.
1) Tingkat akurasi
Tingkat akurasi yang ditunjukan ketika model di tes menggunakan function score pada Python
memang memiliki angka yang berbeda jika di tes menggunakan WEKA. Namun, tingkat akurasi ini
tetap yang tertinggi apabila dibandingkan dengan pengetesan pada algoritma lain.

Gambar 21. Sintaks dan hasil tes akurasi algoritma pada Python

2) Metode confusion matrix


Confusion matrix merupakan salah satu metode yang dapat digunakan untuk mengukur
kinerja suatu metode klasifikasi. Pada dasarnya confusion matrix mengandung informasi yang
membandingkan hasil klasifikasi yang dilakukan oleh sistem dengan hasil klasifikasi yang
seharusnya. Berikut adalah hasil evaluasi performa model menggunakan metode Confusion Matrix.

Gambar 22. Sintaks pengujian performa model dan hasilnya


dengan menerapkan metode confusion matrix

13
Muhammad Aditya Hasta Pratama 1, Muhammad Azar Nuzy 2, Sekar Madu Kusumawardani 3. Analisis Teknik Klasifikasi Data Menggunakan
Algoritma Bagging (Ensemble Learning) Untuk Peramalan Cuaca

3) Laporan performa model


Laporan performa model digunakan untuk menampilkan nilai precision, recall, dan F1-
score dari model yang telah dibuat.

Gambar 23. Hasil pengecekan Measure Performance pada model


e) Hasil klasifikasi
Pengetesan hasil klasifikasi dilakukan menggunakan data record pertama pada dataset,
hasilnya menunjukkan bahwa model yang telah dibuat berjalan dengan baik karena label target sudah
sesuai dengan yang ada pada dataset.

Gambar 24. Prediksi hasil klasifikasi menggunakan data record 1

Gambar 25. Hasil klasifikasi

14
Paper Tugas Besar Kelompok 5 Mata Kuliah Data Mining dan Warehouse 3KOM-C1

f) Pembuatan web aplikasi


Dalam pembuatan web aplikasi, sistem dibangun menggunakan bahasa Python. Bagian
tampilan dibangun menggunakan bahasa markup HTML 5 (HiperText Markup Language) dan di
styling menggunakan Bootstrap 5 yang merupakan salah satu framework CSS (Cascading Style Sheet).
Berikut adalah potongan kode dalam pembuatan sistem dan tampilan untuk web aplikasi Sistem
Klasifikasi Peramalan Cuaca. Sedangkan untuk kode utuh dapat dilihat pada repository GitHub berikut
https://github.com/sekarmk03/weather-forecasting-bagging-classifier
1) Pembuatan Sistem
Dalam pembuatan web aplikasi, dibutuhkan library tambahan untuk pengembangan web
menggunakan bahasa Python. Dalam sistem kali ini, digunakan library Flask. Flask adalah salah satu
framework pengembangan web pada Python. Flask sangat cocok digunakan bagi pemula dalam
pengembangan web karena tingkat kompleksitas yang lebih rendah dibanding web framework lain.

Gambar 26. Import Library Flask

Gambar 27a, 27b, 27c. Penggunaan library Flask dalam pembuatan web aplikasi

Seperti pada gambar-gambar di atas, library Flask digunakan untuk mengarahkan laman web
(routing) ke laman yang lain dimana pada setiap laman akan diterapkan method yang berbeda-beda.
Library Flask juga digunakan untuk memanggil template (rendering template).
Method yang digunakan dalam sistem ini ada 2, yaitu method index yang akan menampilkan
halaman utama (halaman default) untuk menginputkan data dari user, dan method prediction yang
akan menampilkan halaman setelah dilakukan pemrosesan input data.

Gambar 28. Method index

Method index() akan mengembalikan template yang berisikan nilai-nilai awal (?) untuk bagian
hasil prediksi.

15
Muhammad Aditya Hasta Pratama 1, Muhammad Azar Nuzy 2, Sekar Madu Kusumawardani 3. Analisis Teknik Klasifikasi Data Menggunakan
Algoritma Bagging (Ensemble Learning) Untuk Peramalan Cuaca

Gambar 29. Method prediction

Method prediction akan menangkap input dari user untuk selanjutnya diproses
menggunakan model klasifikasi yang telah dibuat. Hasil pemrosesannya akan dikembalikan lagi
sebagai template yang telah di render untuk menggantikan seluruh nilai yang sebelumnya masih
berupa tanda tanya (?).

Gambar 30. Mengembalikan nilai prediksi setelah diproses

2) Pembuatan Tampilan
Pembuatan tampilan melibatkan HTML dan CSS dengan sintaks yang cukup banyak. Sedikit
penjelasan mengenai tampilan yang dibuat adalah bahwa setiap input dari template akan ditangkap
oleh sistem berdasarkan atribut name yang terdapat dalam form input pada berkas html.
Selanjutnya, setiap output yang diberikan oleh sistem (file python) akan ditangkap oleh
template yang memiliki tanda kurung kurawal ({…}) dimana di dalam kurung kurawal tersebut
berisikan nama variabel yang sama dengan variabel yang dikirim oleh sistem.
g) Hasil Deploy Web Aplikasi
Agar sistem klasifikasi dapat digunakan oleh user dari perangkat masing-masing, dibuat
sebuah web aplikasi yang sistemnya juga dibangun menggunakan bahasa Python. Web aplikasi ini
sudah di deploy pada cloud platform Heroku yang mana platform ini sudah mendukung bahasa
Python dan library-library nya. Web aplikasi ini dapat diakses pada web browser dengan mengunjungi
link berikut, https://forecasting-weahter-app.herokuapp.com/

16
Paper Tugas Besar Kelompok 5 Mata Kuliah Data Mining dan Warehouse 3KOM-C1

Gambar 31. Tampilan web aplikasi klasifikasi


beserta pengujian klasifikasi

Kesimpulan
Dari analisis 4 (empat) parameter error yang berbeda pada WEKA di antara 8 model algoritma
klasifikasi untuk datasets prakiraan cuaca di Leeds, Inggris, dapat disimpulkan bahwa algoritma Bagging
berkinerja lebih baik dibanding model algoritma-algoritma klasifikasi lainnya.
Jadi, untuk diwaktu yang akan datang, model algoritma Bagging ini dapat digunakan untuk
meramalkan cuaca lebih baik sehingga masyarakat sekitar Leeds, Inggris ini bisa berguna untuk masyarakat
yang di bidang pertanian, keputusan untuk pendakian gunung, memancing di laut, dan banyak hal lainnya
yang dimana kegiatan tersebut sangat tergantung dengan cuaca di sekitarnya. Semakin baik prediksinya,
semakin aman masyarakat di sekitar Leeds, Inggris.

17
Muhammad Aditya Hasta Pratama 1, Muhammad Azar Nuzy 2, Sekar Madu Kusumawardani 3. Analisis Teknik Klasifikasi Data Menggunakan
Algoritma Bagging (Ensemble Learning) Untuk Peramalan Cuaca

Referensi
Dicoding Indonesia. (2020). Memulai Pemrograman Dengan Python. Tersedia :
https://www.dicoding.com/academies/86. Diakses pada [29 Desember 2021].

Jayasingh, S. K., Mantri, J. K., & Gahan, P. (2016). Comparison between J48 Decision Tree, SVM and MLP in
Weather Forecasting. International Journal of Computer Science and Engineering, 3(11), 42-47.

Juniwaly. (2018). Apa dan Bagaimana WEKA Digunakan?. Tersedia : https://juniwaly.blogspot.com/2018/05/apa-


bagaimana-weka-digunakan.html. Diakses pada [28 Desember 2021]

Kapoor, P., Rani, R., & JMIT, R. (2015). Efficient decision tree algorithm using J48 and reduced error pruning. Int.
J. Eng. Res. Gen. Sci, 3(3), 1613-1621.

Kaur, Gaganjot, Ami Chabra. (2014). Improved J48 Classification Algorithm for the Prediction Dataset.
International Journal of Computer Application. DOI: 10.5120/17314-7433.

Knowledge Centre Data & Society. (2019). RepTree.Tersedia :https://data-en-maatschappij.ai/en/tools/method-


reptree. Diakses pada [29 Desember 2021]

Mathuria, M. (2013). Decision tree analysis on j48 algorithm for data mining. International Journal of Advanced
Research in Computer Science and Software Engineering, 3(6).

Ramesh, D., Pasha, S. N., & Roopa, G. (2017). A comparative analysis of classification algorithms on weather dataset
using data mining tool. Oriental Journal of Computer Science and Technology, 10(4), 1-5.

Saravana, N., & Gayathri, D. V. (2018). Performance and classification evaluation of J48 algorithm and Kendall’s
based J48 algorithm (KNJ48). Int. J. Comput. Trends Technol.(IJCTT)--Volume, 59.

Sheikh, F., Karthick, S., Malathi, D., Sudarsan, J. S., & Arun, C. (2016). Analysis of data mining techniques for
weather prediction. Indian Journal of Science and Technology, 9(38), 1-9.

Scikit Learn. (2018). Bagging Classifier. Tersedia : https://scikit-


learn.org/stable/modules/generated/sklearn.ensemble.BaggingClassifier. Diakses pada [29 Desember 2021]

StatTest. (2021). Simple Logistic Regression. Tersedia :https://www.statstest.com/simple-logistic-regression/.


Diakses pada [29 Desember 2021]

Taboga, Marco. (2021). Logistic Classification Model. Tersedia : https://www.statlect.com/fundamentals-of-


statistics/logistic-classification-model. Diakses pada [29 Desember 2021]

Tripto, N. I., Kabir, M., Bayzid, M. S., & Rahman, A. (2020). Evaluation of classification and forecasting methods
on time series gene expression data. Plos one, 15(11), e0241686.

18

You might also like