1 PERBANDINGAN HASIL EVALUASI MODEL DECISION TREE, KNN, LOGISTIC REGRESSION, MLP, RANDOM FOREST, SVM, XGB PADA STUDI KASUS DETEKSI BIOSIGNAL PEROKOK* Andreas Parluhutan Rumahorbo, Muhammad Fazril Fahri, Ricko Supriyanto. Abstract — Tingginya mobilitas masyarakat di ruang publik membuat interaksi manusia semakin padat. Perokok adalah orang yang sering ditemui pada padatnya interaksi tersebut. Pengguna fasilitas umum maupun privat terkadang menghindari asap rokok demi menjaga kesehatan. Sehingga pada studi kasus ini dilakukan prediksi berdasarkan model machine learning untuk mendeteksi kemungkinan seseorang adalah perokok aktif atau tidak.Penelitian ini menggunakan metode klasifikasi yang terdapat pada machine learning guna membuat suatu model. Penelitian ini melakukan 4 tahapan dimana peneliti melakukan tahap preparasi data, EDA, visualisasi data (feature dan class-nya), membangun model hingga mengevaluasi nilai accuracy, precision, recall dan f1-score. Hasil penelitian menunjukkan model dengan nilai accuracy tertinggi adalah Random Forest dengan nilai accuracy sebesar 82.8 %. Sedangkan Decision Tree sebesar 77.9%, Logistic Regression sebesar 70.6%, MLP sebesar 74.3%, KNN sebesar 70.09%, XGB sebesar 75.8%, dan SVR sebesar 72.5% I. PENDAHULUAN Perilaku merokok telah menjadi perilaku yang tidak menyenangkan bagi sebagian besar masyarakat. Perilaku merokok merupakan salah satu dari aspek tingkah laku yang kompleks karena memberikan dampak biopsikososial yang cukup signifikan, dalam hal ini perilaku merokok telah berdampak pada kondisi fisiologis, kognitif, psikologis hingga lingkungan sosial. Secara kognitif, para perokok tidak memperlihatkan keyakinan yang tinggi terhadap bahaya akan asap rokok. Terdapat dua jenis perokok, yaitu perokok aktif dan pasif. Meskipun risiko kesehatan lebih tinggi pada perokok aktif namun perokok pasif yang secara tidak sengaja menghirup asap rokok, secara tidak langsung juga telah turut memasukkan zat-zat berbahaya ke dalam tubuhnya.Beberapa penelitian melaporkan bahwa sekitar 20% - 30% risiko kesehatan seperti penyakit paru-paru juga dialami oleh perokok pasif [1]. Interaksi antara perokok aktif dengan perokok pasif ini biasanya terjadi di tempat-tempat umum, seperti di stasiun kereta api, terminal, di dalam bus kota, dan sebagainya. 1 Tingginya mobilitas masyarakat di ruang publik membuat interaksi manusia semakin padat sehingga tidak pernah lepas dari keberadaan asap rokok. Selain di tempat publik, perokok juga termasuk orang yang sering dihindari saat berada di ruangan pribadi seperti rumah, kantor, kamar dan sebagainya. Bodysignal atau Bio-signal merupakan suatu fitur khusus yang berasal dari aktivitas tubuh manusia, sebagai suatu mekanisme reaksi dari aktivitas-aktivitas biologis yang terjadi dalam tubuh. Data biosignal dapat dimanfaatkan untuk mendeteksi kemungkinan seseorang perokok atau bukan. Pada penelitian ini, dataset biosignal diambil dari kaggle. Dataset memiliki sejumlah fitur yang dapat dimanfaatkan untuk memprediksi seseorang terindikasi sebagai perokok atau tidak. Penelitian dilakukan dengan menerapkan salah satu algoritma dalam machine learning yaitu klasifikasi. Klasifikasi merupakan suatu teknik atau metode dalam machine learning, data akan dikelompokkan berdasarkan kelasnya dimana di dalamnya terdapat label atau target. Terdapat beberapa algoritma klasifikasi yang digunakan dalam penelitian ini antara lain: Decision Tree. K-Nearest Neighbors (KNN), Logistic Regression, Multilayer Perceptron (MLP), Random Forest, SVM dan Extreme Gradient Boosting (XGB) II. KAJIAN LITERATUR A. Machine Learning Merupakan cabang ilmu dari data science dan kecerdasan buatan yang memiliki banyak teknik paling populer dalam menyelesaikan suatu kasus yang berhubungan dengan data. Machine Learning banyak digunakan karena sifatnya yang meniru cara manusia berperilaku dan berpikir dalam menyelesaikan masalah. Sesuai namanya, machine learning merupakan pembelajaran mesin yang menirukan cara manusia belajar sampai cerdas [2] B. K-Nearest Neighbor (KNN) K-Nearest Neighbor (KNN) adalah suatu algoritma klasifikasi dalam machine learning yang sering digunakan dalam mengklasifikasi objek. Pada KNN, suatu objek diklasifikasikan berdasarkan nilai k dan data latih yang jaraknya paling dekat dengan objek tersebut. Nilai k tidak boleh lebih besar dari n atau banyak data. Nilai k harus ganjil dan lebih dari satu [3] C. Multi Layer Perceptron MLP merupakan salah satu teknik klasifikasi dalam machine learning. Pada ANN, MLP sudah menjadi topologi umum dimana setiap perceptron terhubung membentuk lapisan-lapisan atau yang disebut sebagai layer. MLP memiliki input layer, hidden layer dan output layer. Pada arsitektur, MLP harus memiliki minimal satu hidden layer [4] D. Decision Tree Decision Tree adalah satu teknik atau metode klasifikasi dalam machine learning. Pada Decision Tree , prediksi dari data akan menggambarkan relasi dari variabel atribut x dan variabel target y ke dalam bentuk pohon keputusan. Struktur pada pohon keputusan sebenarnya menyerupai diagram alir dimana setiap internal node merupakan akan melakukan pengujian terhadap variabel atribut, sedangkan setiap cabangnya adalah hasil dari pengujian tersebut, lalu node terluar (leaf) akan menjadi labelnya. Terdapat dua jenis algoritma Decision Tree yang cukup sering digunakan, yaitu C4.5 dan Random Forest [5] E. Logistic Regression (LR) Logistic Regression adalah salah satu metode klasifikasi dalam machine learning yang paling sering digunakan untuk klasifikasi. LR sebenarnya adalah metode standar untuk memperkirakan rasio kemungkinan yang telah diprediksi [6] . Model LR banyak digunakan untuk mengamati besar pengaruh variabel independen (x) terhadap variabel dependen (y) dan dipakai untuk melakukan prediksi berdasarkan perhitungan probabilitas. F. Random Forest (RFR) Random Forest adalah salah satu metode berbasis klasifikasi dan regresi dimana terdapat proses agregasi pohon keputusan . Metode ini dipilih karena menghasilkan kesalahan yang lebih rendah, memberikan akurasi yang bagus dalam klasifikasi, dapat menangani data pelatihan yang jumlahnya sangat besar, dan efektif untuk mengatasi data yang tidak lengkap [7] G. Support Vector Regression (SVR) SVM merupakan pendekatan non linier yang berbasis machine learning. Salah satu modifikasi SVM yang digunakan untuk pendekatan regresi adalah Support Vector Regression (SVR). Konsep dari SVR adalah memaksimalkan hyperplane untuk mendapatkan data-data yang menjadi support vector. Keunggulan SVR salah satunya adalah mampu mengatasi overfitting. Permasalahan yang sering dialami ketika menggunakan SVR adalah pada saat penentuan parameter model yang optimal. Salah satu cara yang dapat digunakan adalah dengan metode grid search. Metode ini mampu mendapatkan parameter SVR yang optimal [8] H. Extreme Gradient Boosting (XGBoosting) XGBoost adalah algoritma yang ditingkatkan berdasarkan gradient boosting decision tree dan dapat membangun boosted trees secara efisien dan beroperasi secara parallel. XGBoost merupakan salah satu teknik pembelajaran mesin untuk mengatasi permasalahan regresi dan klasifikasi berdasarkan Gradient Boosting Decision Tree (GBDT). XGBoost pada dasarnya adalah metode ensemble yang didasarkan pada gradient boosting tree. Didalam pohon regresi, nodes bagian dalam mewakili nilai-nilai untuk tes atribut dan leaf nodes dengan skor mewakili keputusan. Hasil prediksi adalah jumlah skor yang diprediksi oleh pohon K, seperti ditunjukkan pada persamaan [9] A. Dataset Dataset yang digunakan pada penelitian ini bersumber dari kaggle. Kelas pada dataset ini dibagi menjadi perokok (1) dan bukan perokok (0). Atribut dari dataset adalah sebagai berikut: ID, gender, age, height(cm), weight(kg), waist(cm), eyesight(left), eyesight(right), hearing(left), hearing(right), systolic, relaxation, fasting blood sugar, Cholesterol, triglyceride, HDL, LDL, hemoglobin, Urine protein, serum creatinine, AST, ALT, Gtp, oral, dental caries, tartar [10.] III. METODE PENELITIAN Pada penelitian ini, metode yang digunakan adalah metode Logistic Regression, Decision Tree Classifier, Random Forest Classifier, KNN Classifier, MLP Classifier, XGB Classifier Dan SVR Classifier. Pada algoritma diatas digunakan model atau fungsi yang menggunakan beberapa algortima machine learning dengan tujuan untuk mengetahui model yang terbaik dengan memperhatikan nilai dari accuracy, presisi, recall dan f1 score. Adapun skema sistem yang dibuat sebagai berikut : Gambar 1. Skema umum proses deteksi Perokok Untuk deteksi perokok berdasarkan data dataset biosignal maka dibentuklah skema umum untuk mendukung proses klasifikasi. Penelitian ini melakukan 4 tahapan dalam menghasilkan model yang dapat mendeteksi perokok dimana tahapan yang dilakukan adalah : mempersiapkan dataset, EDA, visualisasi feature dan kelas yang terdapat pada dataset, membangun model klasifikasi Logistic Regression, Decision Tree Classifier, Random Forest Classifier, KNN Classifier, MLP Classifier, XGB Classifier Dan SVR Classifier kemudian evaluasi hasil accuracy, precision, recall, f1-score dari model. A. Exploratory Data Analysis Exploratory Data Analysis (EDA) adalah proses menganalisis dan menampilkan data bertujuan mendapatkan pemahaman yang lebih baik tentang wawasan dari data[5]. Ada berbagai langkah yang dilakukan saat melakukan EDA, berikut ini adalah langkah - langkah umum yang dapat diambil dalam melakukan analisis EDA data: a. Memaksimalkan wawasan ke dalam kumpulan data. b. Mengungkap struktur data. c. Ekstrak variabel yang penting. d. Mendeteksi outlier dan anomali. e. Melakukan uji asumsi. f. Mengembangkan model. g. Menentukan faktor yang optimal Kebanyakan teknik EDA adalah berbentuk grafis dengan beberapa teknik kuantitatif. Peran utama EDA adalah untuk mengeksplorasi data secara terbuka, dan grafik bertujuan memperkuat analisis yang dilakukan [11] B. Preprocessing Data Pra-pemrosesan data seringkali dapat memiliki dampak yang signifikan pada kinerja generalisasi dari ML yang diawasi, fitur yang memiliki terlalu banyak nilai fitur nol. fitur menyimpang juga disebut sebagai outlier. Sebagai tambahan dari kumpulan data yang sangat besar adalah memilih satu sampel dari kumpulan data yang besar. Penanganan data yang hilang ( missing value) , noise, rusak adalah masalah yang sering terjadi dalam langkah-langkah persiapan data [13] C. Feature Selection Seleksi fitur teknik yang paling sering dan penting dalam pra-pemrosesan data, dan telah menjadi komponen tak terpisahkan dari proses pembelajaran mesin. Hal ini juga dikenal sebagai variabel ● seleksi, pemilihan atribut, atau pemilihan subset variabel dalam pembelajaran mesin dan statistik. Ini adalah proses mendeteksi. ● fitur yang relevan dan menghapus data yang tidak relevan, berlebihan, atau berisik. Proses ini mempercepat algoritma. ● meningkatkan akurasi prediksi, dan meningkatkan pemahaman. Fitur yang tidak relevan adalah fitur yang tidak memberikan manfaat ● informasi, dan fitur redundan tidak memberikan informasi lebih dari fitur yang dipilih saat ini. Istilah dari Oleh karena itu, penggunaan yang benar dari algoritma pemilihan fitur untuk memilih fitur meningkatkan pembelajaran, kecepatan belajar, atau mengurangi kompleksitas model [13] D. Training Model Fit Model Fitting mengukur seberapa baik model pembelajaran mesin menggeneralisasi data yang serupa dengan yang dilatihnya. Kecocokan model yang baik mengacu pada model yang secara akurat, hasil model dibandingkan dengan nilai nyata yang diamati dari variabel target untuk menentukan akurasi. Pemasangan mengacu pada penyesuaian parameter dalam model untuk meningkatkan akurasi [14] E. Training Model Predict Prediksi model Keras adalah metode fungsi yang disediakan di Keras yang membantu dalam prediksi output tergantung pada sampel input yang ditentukan ke model, Prediksi membutuhkan model untuk melakukan perhitungan tertentu yang dilakukan dalam batch [15] IV. PEMBAHASAN Pada penelitian ini dilakukan 7 skenario pengujian untuk mengetahui hasil akurasi dari proses klasifikasi. Empat skenario pertama dilakukan dengan memprediksi kelas dengan metode Logistic Regression, Decision Tree Classifier, Random Forest Classifier, KNN Classifier, MLP Classifier, XGB Classifier Dan SVR Classifier. A. Exploratory Data Exploratory data (EDA) merupakan langkah pendahuluan dalam penelitian dengan tujuan memeriksa data dan mengidentifikasi anomali, juga merupakan alat pengujian hipotesis dan visualisasi data yang ada. [17] Hal penting yang perlu diperhatikan dalam EDA: 1. Pemahaman mengenai data dan visualisasinya 2. Identifikasi anomalidan pengembangan model prediksi 3. Ekstraksi dan pendefinisian variabel yang relefan pada kasus Dengan melakukan EDA, pengguna akan sangat terbantu dalam mendeteksi kesalahan dari awal, dapat mengidentifikasi outlier, mengetahui hubungan antar data serta dapat menggali feature-feature penting dari data. 1. Import Library Import Library yang diperlukan dalam analisis Gambar 2. Library Yang Digunakan Untuk Eksperimen 2. Shape Melihat Shape Pada Dataset. Shape berfungsi untuk mengetahui jumlah total baris dan kolom pada data. df.shape 3. Info Cek Data Type Dan Menunjukkan Semua Kolom df.info() B. Preprocessing Data Pada penelitian tahap preprocessing saat melakukan exploratory data analysis dan melakukan cross check pada tipe data dan kolom tidak ditemukan missing value dan outlier pada dataset. Adapun Hasil Output sebagai berikut. Gambar 3. Hasil Output Menunjukkan tidak ada missing value C. Visualisasi Feature Pada tahapan ini dilakukan visualisasi beberapa feature yang dianggap penting yang terdapat pada dataset. 1. Visualisasi Data Gender Gambar 4. Visualisasi Data Gender Dengan Pie Chart Grafik lingkaran di atas menunjukkan persentase gender antara laki-laki dan perempuan M (Male) sebanyak 63.6 % F (Female) sebanyak 36.4% 2. Boxplot Persebaran Data Umur Gambar 5. Visualisasi Distribusi Data Umur Dengan Boxplot Boxplot di atas menunjukkan mean = 40, min = 20, max = 85 dimana artinya adalah usia rata-rata yang ingin diidentifikasi perokok atau tidak perokok adalah 40 tahun. Usia minimal yang ingin diidentifikasi adalah 20 tahun. Usia maksimal yang ingin diidentifikasi adalah 85 tahun. 3. Boxplot Persebaran Data Tinggi Badan Gambar 6. Visualisasi Distribusi Data Tinggi Badan Dengan Boxplot Boxplot di atas menunjukkan mean =164, min = 130, max = 190 dimana artinya adalah tinggi badan ( height) rata-rata orang yang ingin diidentifikasi perokok atau tidak perokok adalah 164 tahun. Tinggi badan minimal yang ingin diidentifikasi adalah 130 cm. Tinggi badan maksimal yang ingin diidentifikasi adalah 190 cm. 4. Boxplot Persebaran Data Weight Gambar 7. Visualisasi Distribusi Berat Badan Dengan Boxplot Boxplot di atas menunjukkan mean =65, min = 30, max = 135 dimana artinya adalah berat badan ( weight) rata-rata orang yang ingin diidentifikasi perokok atau tidak perokok adalah 65 Kg. Berat badan minimal yang ingin diidentifikasi adalah 30 Kg. Berat badan maksimal yang ingin diidentifikasi adalah 135 cm. 5. Pengelompokkan Data Class Perokok Dan Tidak Perokok Berdasarkan Usia Gambar 8. Output Perokok Berdasarkan Usia Hasil output saat melakukan identifikasi dan pengelompokkan data perokok (1) dan tidak perokok (0) adalah sebagai berikut: ● Orang-orang yang tidak perokok (0) berdasarkan data tersebut berada pada usia rata-rata 46 tahun ● Orang-orang yang perokok (1) berdasarkan data tersebut berada pada usia rata-rata 42 tahun 6. Pengelompokkan Data Berdasarkan Feature Usia, Berat dan Umur Gambar 9. Grafik Batang Perokok Dan Tidak Perokok Pada Laki-Laki dan Perempuan Berdasarkan Feature Usia, Berat Badan, dan Tinggi Badan D. Model Dan Skor Klasifikasi Pada penelitian ini, diperoleh accuracy report dari beberapa model seperti Logistic Regression, Decision Tree Classifier, Random Forest Classifier, KNN Classifier, MLP Classifier, XGB Classifier Dan SVR Classifier . Berikut Hasil Output Perhitungan Nilai Akurasi untuk setiap model klasifikasi. Gambar 10. Hasil Output Perhitungan Nilai Accuracy Untuk Setiap Model Klasifikasi E. Precision, Recall dan F1 Score Adapun hasil perhitungan precision, recall dan f1 score dari setiap model klasifikasi dengan melakukan pengujian pada masing-masing kelas (perokok dan tidak perokok). Berikut hasil evaluasi model untuk nilai precision, recall dan f1 score : TABLE I. H ASIL E VALUASI M ODEL U NTUK K ELAS M EROKOK model Precision Recall f1-score Logistic Regression 62% 52% 57% Decision Tree 71% 71% 71% Random Forest 75% 79% 77% KNN 60% 56% 58% MLP 72% 46% 56% XGB 66% 66% 69% model Precision Recall f1-score SVR 66% 66% 59% TABLE II. H ASIL E VALUASI M ODEL U NTUK K ELAS T IDAK M EROKOK model Precision Recall f1-score Logistic Regression 74% 82% 78% Decision Tree 83% 83% 89% Random Forest 87% 85% 86% KNN 75% 78% 77% MLP 74% 89% 81% XGB 82% 82% 80% SVR 75% 75% 79% V. KESIMPULAN Berdasarkan hasil evaluasi model, diperoleh algoritma atau model terbaik untuk melakukan prediksi perokok dan tidak perokok yaitu algoritma Random Forest. Pada studi kasus ini terdapat alasan mengapa Random Forest merupakan model terbaik yang menghasilkan nilai accuracy, precision, recall dan f1 score tertinggi. 1. Random forest mampu mengklasifikasi data yang memiliki atribut yang tidak lengkap 2. Random Forest dapat digunakan untuk klasifikasi dan regresi akan tetapi tidak terlalu bagus untuk regresi 3. Random Forest sangat cocok untuk pengklasifikasian data serta dapat digunakan untuk menangani data sampel yang banyak Beberapa feature penting yang mempengaruhi nilai accuracy saat evaluasi adalah jenis kelamin, GTP, hemoglobin dan tinggi badan. DAFTAR PUSTAKA [1] Sari, A. T. O., Ramdhani, N., & Eliza, M. (2003). Empati dan perilaku merokok di tempat umum. Jurnal Psikologi, 30(2), 81-90. [2] Ahmad, A. (2017). Mengenal artificial intelligence, machine learning, neural network, dan deep learning. J. Teknol. Indones, 3.. [3] Rivki, M., & Bachtiar, A. M. (2017). Implementasi algoritma K-Nearest Neighbor dalam pengklasifikasian follower twitter yang menggunakan Bahasa Indonesia. Jurnal Sistem Informasi, 13(1), 31-37. [4] Purwaningsih, N. (2016). Penerapan multilayer perceptron untuk klasifikasi jenis kulit sapi tersamak. Jurnal Teknoif Teknik Informatika Institut Teknologi Padang, 4(1), 1-7. [5] Sutoyo, I. (2018). Implementasi Algoritma Decision Tree Untuk Klasifikasi Data Peserta Didik. Pilar Nusa Mandiri: Journal of Computing and Information System, 14(2), 217-224.J. Wang, “Fundamentals of erbium-doped fiber amplifiers arrays (Periodical style—Submitted for publication),” IEEE J. Quantum Electron. , submitted for publication. [6] Aldean, M. Y., Hilmawan, M. D., Indriyati, R., Lasama, J., & Junaidi, A. (2019). Analisa Relevansi Tweet terhadap Hashtag dengan Metode Logistic Regression. In Conference on Electrical Engineering, Telematics, Industrial technology, and Creative Media (CENTIVE) (Vol. 2, No. 1, pp. 32-38). [7] Primajaya, A., & Sari, B. N. (2018). Random Forest Algorithm for Prediction of Precipitation. Indonesian Journal of Artificial Intelligence and Data Mining, 1(1), 27-31 [8] Yasin, H., Prahutama, A., & Utami, T. W. (2014). Prediksi harga saham menggunakan support vector regression dengan algoritma grid search. Media Statistika, 7(1), 29-35 [9] Karo, I. M. K. (2020). Implementasi Metode XGBoost dan Feature Important untuk Klasifikasi pada Kebakaran Hutan dan Lahan. Journal of Software Engineering, Information and Communication Technology (SEICT), 1(1), 10-16 [10] Predict Smoking Status / accuracy = 82.6% | Kaggle . (n.d.). Retrieved June 14, 2022, from https://www.kaggle.com/code/qusaybtoush1990/predict-smoking-statu s-accuracy-82-6. [11] Radhi, M., Ryan Hamonangan Sitompul, D., Hamonangan Sinurat, S., & Indra, E. (2021). ANALISIS BIG DATA DENGAN METODE EXPLORATORY DATA ANALYSIS (EDA) DAN METODE VISUALISASI MENGGUNAKAN JUPYTER NOTEBOOK. Jurnal Sistem Informasi Dan Ilmu Komputer Prima , 4 (2). [12] K. M. Ho, and P. D. Scott. Reducing Decision Tree Fragmentation Through Attribute Value Grouping: A Comparative Study, in Intelligent Data Analysis Journal, 4(1), pp.1-20, 2000. [13] Kumar, V. (2014). Feature Selection: A literature Review. The Smart Computing Review , 4 (3). https://doi.org/10.6029/smartcr.2014.03.007. [14] Definition: Model fitting (n.d.). Retrieved June 14, 2022, from https://www.educative.io/answers/definition-model-fitting. [15] Keras Model Predict | What is Keras model predict? |How to use? (n.d.). Retrieved June 14, 2022, from https://www.educba.com/keras-model-predict/ [16] Understanding a Classification Report For Your Machine Learning Model | by Shivam Kohli | Medium . (n.d.). Retrieved June 14, 2022, from https://medium.com/@kohlishivam5522/understanding-a-classificatio n-report-for-your-machine-learning-model-88815e2ce397 [17] Komorowski, M., Marshall, D. C., Salciccioli, J. D., & Crutain, Y. (2016). Exploratory data analysis. In Secondary Analysis of Electronic Health Records (pp. 185–203). Springer International Publishing. https://doi.org/10.1007/978-3-319-43742-2_15