Algoritma Machine Learning Untuk Prediksi

Algoritma Machine Learning Untuk Prediksi

Support Vector Machine (SVM)

SVM adalah algoritma klasifikasi yang cukup populer karena berhasil melampaui beberapa algoritma canggih lainnya pada kasus tertentu, seperti digits recognition. Dalam istilah yang lebih sederhana, SVM adalah pengklasifikasi yang membuat batasan untuk memisahkan kelas-kelas yang berbeda. Data disebut support vektor untuk membantu membuat batasan.

Batasan itu disebut hyperplane atau pembagi. Ini dihitung berdasarkan dataset dan dengan mengukur margin terbaik dengan memindahkan hyperplane. Ketika data berada dalam dimensi yang lebih tinggi atau ketika ada data yang tidak dapat dipisahkan secara linear, kita akan menggunakan Kernel trick untuk menemukan hyperplane.

Perhitungan untuk mengukur hyperplane memang sulit, dan saya menyarankan membaca materi berikut di sini. Berikut adalah representasi gambar SVM.

Gambar 12. Ilustrasi SVM dapat dipisahkan dari hyperplane

Apa Perbedaan Antara Supervised, Unsupervised, dan Reinforcement Learning?

Machine learning adalah bidang studi dimana manusia mencoba memberikan kemampuan kepada mesin untuk belajar dari data secara eksplisit. Mesin inilah yang kita sebut model machine learning dan yang kita gunakan untuk menyelesaikan masalah kita. Ada berbagai bentuk aplikasi machine learning di industri, misalnya: face recognition machine dan email spam detection adalah aplikasi model machine learning.

Mengetahui model machine learning mana yang harus diterapkan dalam setiap use case sangat penting karena tidak semua model dapat diaplikasikan untuk setiap use case. Model yang sesuai akan meningkatkan metrik model kita.

Machine learning adalah bidang yang luas dengan banyak istilah yang digunakan di dalamnya. Untuk memberikan pemahaman yang jelas tentang apa itu algoritma klasifikasi, pertama-tama kita perlu membahas tentang tiga sistem machine learning yang berbeda berdasarkan pengawasan manusia; Supervised, Unsupervised, dan Reinforcement Learning?

Supervised Learning adalah model machine learning yang menggunakan data training dari manusia yang mencakup solusi yang diinginkan. Data training sudah berisi jawaban untuk masalah yang ingin kita selesaikan, dan mesin diharapkan meniru pola pada input data (prediktor) untuk menghasilkan output yang serupa.

Contoh data training untuk Supervised Learning adalah sebagai berikut:

Gambar 1. Data training untuk Supervised Learning

Ada dua typical tasks dari supervised learning; Klasifikasi dan Regresi. Apa perbedaan di antara keduanya? Pada dasarnya, perbedaannya berasal dari hasil prediksi.

Algoritma klasifikasi berfokus pada hasil prediksi diskrit, misalnya, prediksi Churn (keluar atau tidak), Heart Disease (terpengaruh oleh penyakit jantung atau tidak), dll.

Sebaliknya, algoritma regresi berfokus pada hasil prediksi numerik di mana hasilnya tidak terbatas pada kelas tertentu, misalnya: harga rumah, jarak mobil, penggunaan energi, dll.

Random Forest Classifier

Algoritma Random Forest Classifier merupakan salah satu algoritma klasifikasi machine learning yang paling populer. Seperti namanya, algoritma ini bekerja dengan cara membuat hutan pohon secara acak. Semakin banyak pohon yang dibuat, maka hasilnya akan semakin akurat.

Dasar dari algoritma random forest adalah algoritma decision tree. Keuntungan dari algoritma ini adalah dapat digunakan u8ntuk rekayasa fitur seperti mengidentifikasi fitur yang paling penting diantara semua fitur yang tersedia dalam dataset training, bekerja sangat baik pada database berukuran besar, sangat fleksibel, dan memiliki akurasi yang tinggi.

4. Support Vector Machine

Support Vector Machine atau biasa dikenal dengan algoritma SVM adalah algoritma machine learning yang digunakan untuk masalah klasifikasi atau regresi. Namun, aplikasi yang paling sering digunakan adalah masalah klasifikasi.

Algoritma SVM banyak digunakan untuk mengklasifikasikan dokumen teknis misalnya spam filtering, mengkategorikan artikel berita berdasarkan topik, dan lain sebagainya. Keuntungan algoritma ini adalah cepat, efektif untuk ruang dimensi tinggi, akurasi yang bagus, powerful dan fleksibel, dan dapat digunakan di banyak aplikasi.

Bcaa juga : Bootcamp Machine Learning and AI for Beginner

Di era big data, machine learning merupakan salah satu teknologi yang banyak dicari. Hal ini menyebabkan meningkatnya minat belajar algoritma machine learning. Karena sebagian besar menggunakan data berukuran besar, maka tools yang digunakan pun tidak sembarangan dan perlu keahlian untuk mengaplikasikan tools tersebut. Ingin belajar machine learning beserta tools-nya? Yuk bergabung bersama DQLab!

DQLab adalah platform edukasi pertama yang mengintegrasi fitur ChatGPT yang memudahkan beginner untuk mengakses informasi mengenai data science secara lebih mendalam.

DQLab juga menggunakan metode HERO yaitu Hands-On, Experiential Learning & Outcome-based, yang dirancang ramah untuk pemula. Jadi sangat cocok untuk kamu yang belum mengenal data science sama sekali. Untuk bisa merasakan pengalaman belajar yang praktis dan aplikatif, yuk sign up sekarang di DQLab.id atau ikuti Bootcamp Machine Learning and AI for Beginner berikut untuk informasi lebih lengkapnya!

Penulis: Galuh Nurvinda K

Intip Modul DQLab Tentang Algoritma Machine Learning Disini, Yuk!

Dengan modul dan materi yang update, belajar python menggunakan bahasa menjadi lebih mudah dan terstruktur bersama DQLab. Karena terdiri dari modul-modul up-to-date dan sesuai dengan penerapan industri yang disusun oleh mentor-mentor berpengalaman dibidangnya dari berbagai unicorn, dan perusahaan besar seperti Tokopedia, DANA, Jabar Digital dan masih banyak lagi. Yuk, belajar terstruktur dan lebih interaktif cukup dengan Sign up sekarang di DQLab.id atau klik button dibawah ini untuk nikmati pengalaman belajar yang seru dan menyenangkan!

Penulis: Rian Tineges

Editor: Annissa Widya Davita

Algoritma machine learning adalah metode dimana sistem artificial intelligence mengerjakan tugasnya secara otomatis. Umumnya algoritma machine learning ini digunakan untuk memprediksi nilai output dari input yang diberikan. Dua proses utama dari algoritma machine learning adalah klasifikasi dan regresi.

Algoritma machine learning sendiri dibagi menjadi dua, yaitu supervised dan unsupervised learning. Supervised learning membutuhkan data input dan data output yang diinginkan dan digunakan untuk membuat pelabelan, sedangkan algoritma unsupervised learning bekerja dengan data yang tidak diklasifikasikan atau tidak diberi label.

Contoh algoritma unsupervised learning adalah pengelompokan atau clustering data yang tidak difilter berdasarkan persamaan dan perbedaan. Pada artikel kali ini, kita akan membahas algoritma supervised learning, yaitu algoritma klasifikasi atau classification.

Terkadang sulit memutuskan algoritma machine learning mana yang paling baik untuk klasifikasi diantara banyaknya pilihan dan jenis algoritma klasifikasi yang ada. Namun, ada algoritma klasifikasi machine learning yang paling baik digunakan dalam masalah atau situasi tertentu.

Algoritma klasifikasi ini digunakan untuk klasifikasi teks, analisis sentimen, deteksi spam, deteksi penipuan, segmentasi pelanggan, dan klasifikasi gambar. Pilihan algoritma yang sesuai bergantung pada kumpulan data dan tujuan yang akan dicapai.

Lalu apa saja algoritma klasifikasi terbaik tersebut? Yuk simak artikel kali ini hingga akhir!

Source: Thanmai Chandaka

Decision tree membangun model klasifikasi dan regresi dalam bentuk struktur pohon. Algoritma ini menguraikan kumpulan data menjadi himpunan bagian yang lebih kecil dan menghubungkannya menjadi pohon keputusan yang terkait. Tujuan utama dari algoritma decision tree adalah untuk membangun model pelatihan yang digunakan untuk memprediksi nilai variabel target dengan mempelajari aturan keputusan. Aturan ini disimpulkan dari data training yang sebelumnya telah diinput. Keuntungan algoritma ini adalah mudah dimengerti, mudah menghasilkan aturan, tidak mengandung hiper-parameter, dan model decision tree yang kompleks dapat disederhanakan secara signifikan dengan visualisasinya.

Decision tree membangun model klasifikasi dan regresi dalam bentuk struktur pohon. Algoritma ini menguraikan kumpulan data menjadi himpunan bagian yang lebih kecil dan menghubungkannya menjadi pohon keputusan yang terkait.

Tujuan utama dari algoritma decision tree adalah untuk membangun model pelatihan yang digunakan untuk memprediksi nilai variabel target dengan mempelajari aturan keputusan. Aturan ini disimpulkan dari data training yang sebelumnya telah diinput.

Keuntungan algoritma ini adalah mudah dimengerti, mudah menghasilkan aturan, tidak mengandung hiper-parameter, dan model decision tree yang kompleks dapat disederhanakan secara signifikan dengan visualisasinya.

Baca juga : Yuk Kenali Macam-Macam Algoritma Machine Learning!

K-Nearest Neighbors (KNN)

KNN adalah algoritma lazy learning yang memprediksi harga rumah berdasarkan jarak dari rumah-rumah terdekat yang sudah diketahui harganya. Algoritma ini bekerja dengan cara mencari sejumlah tetangga terdekat (K) dari data baru dan menghitung rata-rata harga dari tetangga-tetangga tersebut.

Tertarik untuk menguasai bidang Machine Learning dan mengembangkan portofolio data yang berkualitas? Yuk, segera Sign Up ke DQLab!  Disini kamu bisa banget belajar dengan modul berkualitas dan tools sesuai kebutuhan industri dari dasar hingga advanced meskipun kamu nggak punya background IT, lho. Dilengkapi studi kasus yang membantu para pemula belajar memecahkan masalah secara langsung dari berbagai industri.

Tidak cuma itu, DQLab juga sudah menerapkan metode pembelajaran HERO (Hands-On, Experiential Learning & Outcome-based) yang dirancang ramah untuk pemula, dan telah terbukti mencetak talenta unggulan yang sukses berkarier di bidang data. Jadi, mau tunggu apa lagi? Yuk, segera persiapkan diri dengan modul premium atau kamu juga bisa mengikuti Bootcamp Machine Learning and AI for Beginner sekarang juga!

Penulis: Reyvan Maulid

Eko, “149 Juta Anak di Dunia Alami Stunting Sebanyak 6,3 Juta di Indonesia, Wapres Minta Keluarga Prioritaskan Kebutuhan Gizi,” Direktorat Pendidikan Anak Usia Dini, 2023. https://paudpedia.kemdikbud.go.id/berita/149-juta-anak-di-dunia-alami-stunting-sebanyak-63-juta-di-indonesia-wapres-minta-keluarga-prioritaskan-kebutuhan-gizi?do=MTY2NC01YjRhOGZkNA==&ix=MTEtYmJkNjQ3YzA=

T. Beal, A. Tumilowicz, A. Sutrisna, D. Izwardy, and L. M. Neufeld, “A review of child stunting determinants in Indonesia,” Matern. Child Nutr., vol. 14, no. 4, pp. 1–10, 2018, doi: 10.1111/mcn.12617.

M. Wahid and Mujib Rahman, “Rakornas 2023: Pastikan Prevalensi Stunting Turun Menjadi 14% Pada Tahun 2024,” Kementerian Sekretariat Negara RI, 2023. https://stunting.go.id/rakornas-2023-pastikan-prevalensi-stunting-turun-menjadi-14-pada-tahun-2024/

M. Rosyidah, Y. L. R. Dewi, and I. Qadrijati, “Effects of Stunting on Child Development: A Meta-Analysis,” J. Matern. Child Heal., vol. 6, no. 1, pp. 25–34, 2021, doi: 10.26911/thejmch.2021.06.01.03.

A. Heryati, Erduandi, and Terttiaavini, “Penerapan Jaringan Saraf Tiruan Untuk Memprediksi Pencapaian Prestasi Mahasiswa,” in Konferensi Nasional Sistem Informasi 2018 STMIK Atma Luhur Pangkalpinang, 8 – 9 Maret 2018, 2018, pp. 8–9.

D. A. Safitri, D. Fitriani, L. Hertati, T. Terttiavini, A. Heryati, and Asmawati, “PKM Mahasiswa Indo Global Mandiri Pada E-Commerce Marketplace Era Pandemi Covid Meningkat Tajam,” J. Sustain. Community Serv., vol. 1, no. 4, pp. 192–208, 2021.

Hartatik et al., Data Science - Data Science, no. September 2016. 2023. [Online]. Available: https://www.data-science.ruhr/about_us/

D. Marcelina, A. Kurnia, and T. Terttiaavini, “Analisis Klaster Kinerja Usaha Kecil dan Menengah Menggunakan Algoritma K-Means Clustering,” MALCOM Indones. J. Mach. Learn. Comput. Sci., vol. 3, no. October, pp. 293–301, 2023.

M. Tahangnacca, R. Amiruddin, Ansariadi, and A. Syam, “Model of stunting determinants: A systematic review,” Enferm. Clin., vol. 30, pp. 241–245, 2020, doi: 10.1016/j.enfcli.2019.10.076.

M. S. Islam, A. N. Zafar Ullah, S. Mainali, M. A. Imam, and M. I. Hasan, “Determinants of stunting during the first 1,000 days of life in Bangladesh: A review,” Food Sci. Nutr., vol. 8, no. 9, pp. 4685–4695, 2020, doi: 10.1002/fsn3.1795.

T. R. Chowdhury, S. Chakrabarty, M. Rakib, S. Afrin, S. Saltmarsh, and S. Winn, “Factors associated with stunting and wasting in children under 2 years in Bangladesh,” Heliyon, vol. 6, no. 9, 2020, doi: 10.1016/j.heliyon.2020.e04849.

C. Scheffler and M. Hermanussen, “Stunting is the natural condition of human height,” Am. J. Hum. Biol., vol. 34, no. 5, pp. 1–13, 2022, doi: 10.1002/ajhb.23693.

T. Mulyaningsih, I. Mohanty, V. Widyaningsih, T. A. Gebremedhin, R. Miranti, and V. H. Wiyono, “Beyond personal factors: Multilevel determinants of childhood stunting in Indonesia,” PLoS One, vol. 16, no. 11 November, pp. 1–19, 2021, doi: 10.1371/journal.pone.0260265.

T. Huriah and N. Nurjannah, “Risk factors of stunting in developing countries: A scoping review,” Open Access Maced. J. Med. Sci., vol. 8, no. F, pp. 155–160, 2020, doi: 10.3889/oamjms.2020.4466.

M. S. Haris, M. Anshori, and A. N. Khudori, “Prediction of Stunting Prevalence in East Java Province With Random Forest Algorithm,” J. Tek. Inform., vol. 4, no. 1, pp. 11–13, 2023, doi: 10.52436/1.jutif.2023.4.1.614.

Harliana and D. Anggraini, “Penerapan Algoritma Naïve Bayes Pada Klasifikasi Status Gizi Balita di Posyandu Desa Kalitengah (Harliana, Dewi Anggraini),” FAHMA - J. Inform. Komputer, Bisnis dan Manaj., vol. 21, no. 2, pp. 38–45, 2023.

S. Lonang and D. Normawati, “Klasifikasi Status Stunting Pada Balita Menggunakan K-Nearest Neighbor Dengan Feature Selection Backward Elimination,” J. Media Inform. Budidarma, vol. 6, no. 1, p. 49, 2022, doi: 10.30865/mib.v6i1.3312.

T. Terttiaavini, Y. Hartono, E. Ermatita, and D. P. Rini, “Comparison of Simple Additive Weighting Method and Weighted Performance Indicator Method for Lecturer Performance Assessment,” Mod. Educ. Comput. Sci., vol. 15, no. 2, pp. 1–11, 2023, doi: 10.5815/ijmecs.2023.02.01.

T. Terttiaavini, S. amariena Hamim, and S. Agustri, “Aplikasi sistem pakar penentu bidang studi ditingkat perguruan tinggi berbasis web,” J. Ilm. Inform. …, vol. 7, no. 1, pp. 67–72, 2016, [Online]. Available: http://ejournal.uigm.ac.id/index.php/IG/article/view/188

S. Lonang, A. Yudhana, and M. Kunta Biddinika, “Analisis Komparatif Kinerja Algoritma Machine Learning untuk Deteksi Stunting,” J. Media Inform. Budidarma, vol. 7, pp. 2109–2117, 2023, doi: 10.30865/mib.v7i4.6553.

R. Kusumaningrum, T. A. Indihatmoko, S. R. Juwita, A. F. Hanifah, K. Khadijah, and B. Surarso, “Benchmarking of multi-class algorithms for classifying documents related to stunting,” Appl. Sci., vol. 10, no. 23, pp. 1–13, 2020, doi: 10.3390/app10238621.

A. Naik and L. Samant, “Correlation Review of Classification Algorithm Using Data Mining Tool: WEKA, Rapidminer, Tanagra, Orange and Knime,” Procedia Comput. Sci., vol. 85, no. Cms, pp. 662–668, 2016, doi: 10.1016/j.procs.2016.05.251.

KNIME Official, “KNIME Analytics Platform,” 2023. https://www.knime.com/knime-analytics-platform

N. Arminarahmah, A. D. GS, G. W. Bhawika, M. P. Dewi, and A. Wanto, “Mapping the Spread of Covid-19 in Asia Using Data Mining X-Means Algorithms,” IOP Conf. Ser. Mater. Sci. Eng., vol. 1071, no. 1, p. 012018, 2021, doi: 10.1088/1757-899x/1071/1/012018.

Model machine learning adalah algoritma yang dirancang untuk mempelajari data dan membuat output yang memecahkan masalah manusia. Apa itu algoritma klasifikasi dalam machine learning, dan seberapa berguna setiap model dalam menyelesaikan masalah bisnis kita?

K-Nearest Neighbor (K-NN)

K-Nearest Neighbor atau K-NN adalah algoritma klasifikasi sederhana berbasis jarak data dan masalah optimasi Nearest Neighbor. Tidak seperti model-model sebelumnya, K-NN tidak mempelajari parameter seperti koefisien tetapi hanya menggunakan data aktual sebagai model.

Algoritma K-NN bertujuan untuk mengukur kedekatan data baru dibandingkan dengan data pelatihan yang telah dipelajari sebelumnya oleh model. Alih-alih mempelajari parameter apa pun, model menetapkan K jumlah observasi terdekat untuk mengklasifikasikan data baru.

Cara termudah untuk memahami cara kerja K-NN adalah dengan membayangkan model sebagai peta, dan setiap titik baru ditetapkan ke kelas baru dengan mayoritas jumlah K observasi terdekat menggunakan pengukuran jarak (seringkali Euclidean Distance).

Perhatikan gambar di bawah ini.

Gambar 13. Contoh model K-NN

Gambar di atas menunjukkan data aktual dari dua kelas yang berbeda (biru dan oranye). Bintang adalah data baru yang K-NN mencoba prediksi. Jika kita set K = 3, data baru akan mencari tiga data terdekat. Dengan menggunakan contoh di atas, data baru akan diklasifikasikan sebagai biru karena sebagian besar data terdekat adalah biru. Namun, jika kita meningkatkan K = 5, K-NN akan mengklasifikasikan data baru sebagai oranye karena mayoritas bergeser.

Sebagai catatan, jangan gunakan angka genap untuk K karena klasifikasi akan menjadi prediksi acak jika seri. Menemukan jumlah K yang optimal juga merupakan eksperimen, jadi cobalah mengevaluasi model pembelajaran mesin dengan metrik yang relevan.

Neural Networks adalah model machine learning yang didasarkan pada otak saraf manusia, dan model ini adalah subset dari machine learning yang fokus pada deep learning method. Secara lebih rinci, neural network biasanya terdiri dari tiga komponen simpul (node):

Mari kita lihat gambar di bawah ini untuk mendapatkan detail lebih mendalam.

Gambar 14. Model Neural Network

Secara umum, Anda bisa memiliki jumlah hidden layer yang tak terbatas untuk meningkatkan algoritma. Namun, lebih banyak node berarti daya komputasi dan waktu pelatihan yang semakin tinggi. Jadi, tidak baik jika meningkatkan jumlah layer terlalu tinggi.

Neural network menghitung prediksi dengan menghitung data melalui layer. Data diproses dalam hidden layer node di mana setiap node terdiri dari dua fungis: linear function, dan activation function. Anggaplah fungsi linear sebagai model linear, dan activation function adalah fungsi yang memperkenalkan non-linearitas ke model. Untuk menyelaraskan perhitungan, metode backpropagation digunakan.

Singkatnya, setiap data di layer input akan melewati hidden layer, dan fungsi akan membuat nilai output.

Neural network sering digunakan untuk prediksi data tidak terstruktur, seperti data gambar, teks, atau audio, karena neural network dapat mengonsumsi data ini. Ini juga memungkinkan banyak kasus penggunaan, seperti image recognition, text recognition, dll.

Model machine learning adalah algoritma yang dirancang untuk mempelajari data dan membuat output yang menyelesaikan masalah manusia. Klasifikasi dalam machine learning berkaitan dengan hasil prediksi diskrit.

Kita telah membahas tujuh algoritma klasifikasi berbeda, yaitu:

Support Vector Machine (SVM)

K-Nearest Neighbour (K-NN)

Dalam ilmu komputer, terdapat berbagai macam algoritma untuk menjalankan sebuah machine learning. Membuat algoritma secara manual untuk satu machine learning tentu akan menghabiskan banyak waktu karena tidak efisien. Untungnya, saat ini sudah ada Python libraries yang bisa melakukan semua pekerjaan tersebut.

Regresi Ridge dan Lasso

Regresi Ridge dan Lasso adalah varian dari regresi linear yang menggunakan regularisasi untuk mengurangi overfitting. Regularisasi menambahkan penalti pada kompleksitas model, membuatnya lebih tahan terhadap outlier dan mengurangi ketergantungan pada variabel yang kurang penting.

Regresi Ridge menambahkan penalti kuadrat pada koefisien regresi, membuat semua koefisien mendekati nol tetapi tidak pernah benar-benar nol.

Regresi Lasso memberikan penalti yang dapat membuat beberapa koefisien regresi menjadi nol, yang berarti Lasso juga berfungsi sebagai metode seleksi fitur.

Baca juga : Yuk Kenali Macam-Macam Algoritma Machine Learning!

Logistic Regression

Logistic Regression atau Logit Regression adalah algoritma klasifikasi untuk mengklasifikasikan data ke dalam dua kategori. Istilah regresi sebaiknya tidak disalahartikan sebagai regresi dari supervised learning karena regresi dalam Logistic Regression mengacu pada Generalized Linear Model (GLM) dengan Fungsi Logit.

Model ini adalah salah satu model paling sederhana dalam algoritma klasifikasi dan digunakan dalam banyak contoh real-case seperti prediksi penyakit, prediksi churn, prediksi repeat-order, dan banyak kasus penggunaan klasifikasi lainnya.

Mengenai persamaannya, GLM adalah model kelas luas yang mencakup banyak model, misalnya: Linear Regression, ANOVA, dan Logistic Regression.

Logistic Regression mengikuti tiga komponen dasar GLM, yaitu:

Gambar 3. Struktur dasar GLM

Random Component (E(Y)): Ini adalah distribusi probabilitas model Logistic Regression (Variabel Respons), dalam hal ini, Binomial distribution atau lebih tepatnya, probabilitas keberhasilan suatu peristiwa (E(Y) = 1).

Systematic Component: Ini adalah variabel-variabel penjelas (x1, x2, …, xn) dalam prediktor linear (+1 X1 +2X2 + … + nXn).

Link Function (g()): Ini adalah fungsi yang menghubungkan nilai yang diharapkan (E(Y))) dari variabel terikat pada prediktor linier. Linear Regression menggunakan Fungsi Logit, yaitu log(P/1-P) di mana P adalah Probabilitas Keberhasilan (E(Y) = 1). Dengan Fungsi Logit, hasil diharapkan berada antara 0 hingga 1.

Semua struktur di atas akan membuat model yang disebut Logistic Regression.

Decision Tree adalah model klasifikasi di mana proses pembelajaran adalah metode untuk mendekati fungsi target diskrit yang direpresentasikan oleh decision tree. Kata tree merujuk pada mathematical graph theory, yang didefinisikan sebagai grafik tidak berarah di mana dua simpul (node) terhubung oleh satu jalur (path).

Sederhananya, decision tree adalah model klasifikasi untuk mengelompokkan data berdasarkan struktur pohon terbalik. Decision tree akan membuat simpul yang terus membagi berdasarkan pembelajaran data dan akan berhenti sampai parameter yang telah kita tentukan atau tidak ada lagi pembagian yang terjadi. Contoh decision tree ditunjukkan dalam gambar di bawah ini.

Gambar 4. Contoh Decision Tree

Bagaimana decision tree menentukan fitur dan nilai apa yang akan dibagi? Ada beberapa algoritma dalam pengambilan keputusan, tetapi yang umum adalah Gini Index, Entropy and Information Gain metrics. Ide dasar penggunaan kedua algoritma pembagian adalah untuk mengukur seberapa baik pembagiannya berdasarkan nilai yang kita bagi dan hasilnya. Perhatikan gambar di bawah ini untuk memahami bagaimana algoritma menentukan titik pembagian terbaik.

Gambar 5. Penentuan titik pembagian decision tree

Gambar di atas menunjukkan di mana X1 berada dalam dua nilai, dan nilai Information Gain (IG) berbeda. Pembagian terbaik adalah ketika IG lebih tinggi, sehingga X1 = 2 adalah titik pembagian terbaik. Pembagian terus berlanjut sampai simpul hanya memiliki satu kelas atau memenuhi hyperparameter yang telah kita atur.

Decision tree adalah salah satu model yang populer digunakan oleh banyak ahli data karena cepat dan mudah dijelaskan. Namun, model ini mengalami banyak masalah overfitting. Itulah mengapa banyak model dikembangkan dengan decision tree sebagai dasarnya — misalnya, Random Forest.

Random Forest adalah algoritma klasifikasi yang didasarkan pada decision tree. Nama random berasal dari randomisasi yang diperkenalkan dalam algoritma, dan nama forest berasal dari beberapa decision tree yang membangun model tersebut.

Sebelum kita membahas random forest , kita perlu memahami konsep ensemble learning karena model random forest diklasifikasikan sebagai salah satu dari mereka. Ensemble Learning adalah konsep dimana kita menggunakan beberapa algoritma untuk mencapai hasil prediksi dan kinerja yang lebih baik. Misalnya, kita menggunakan beberapa algoritma decision tree untuk membangun model random forest.

Tepatnya, random forest diklasifikasikan sebagai bootstrapping aggregating (bagging) ensemble. Apa itu bagging, dan bagaimana model bekerja? Pertama, kita perlu memahami konsep bootstrap dalam statistik. Bootstrap adalah metode untuk pengambilan sampel acak dengan penggantian; dengan kata lain, kita membuat dataset baru dari dataset yang sama dengan pengulangan. Perhatikan gambar di bawah ini untuk memahami bootstrap.

Gambar 6. Contoh Bootstraping

Gambar di atas menunjukkan bagaimana bootstrap bekerja. Kita memperlakukan data asli sebagai kolam, mengambil sampel ulang data dari sana, dan setiap dataset yang di-bootstrap bisa berisi nilai yang sama. Contoh di atas menunjukkan dua data yang di-bootstrap dengan tiga sampel untuk setiap dataset.

Kita akan menggunakan beberapa decision tree yang secara eksplisit dilatih dengan data yang di-bootstrapped dalam model random forest. Untuk setiap decision tree yang kita gunakan, kita melatih pada data bootstrap yang berbeda. Jadi, jika kita memiliki 100 decision tree dalam random forest, kita akan melatih 100 decision tree dalam 100 data bootstrap yang berbeda.

Kita menggunakan metode bootstrap untuk memperkenalkan ke-random-an ke dalam model dan menghindari overfitting karena data bootstrap akan memiliki estimasi distribusi yang serupa dengan data asli tetapi berbeda. Proses ini akan memastikan terjadinya generalisasi.

Selain itu, untuk menghindari overfitting lebih lanjut, algoritma random forest dapat mengurangi jumlah fitur yang akan dipertimbangkan saat membuat data bootstrap.

Seringkali, ini adalah akar kuadrat total fitur dari data asli; jadi jika data asli kita memiliki empat fitur, kita akan menggunakan dua fitur dalam data bootstrap kita. Pemilihan fitur juga dilakukan secara acak untuk menghindari overfitting lebih lanjut.

Pada akhirnya, setiap decision tree akan memiliki output probabilitas. Output dari random forest akan menjadi rata-rata dari setiap decision tree. Gambar di bawah ini merangkum algoritma random forest.

Gambar 6. Algoritma Random Forest secara umum

Naive Bayes adalah algoritma klasifikasi berdasarkan Teorema Bayes ( Bayes Theorem). Berbeda dengan frequentist theorem, di mana probabilitas suatu peristiwa didasarkan pada data saat ini, Teorema Bayes akan memperbarui probabilitas berdasarkan probabilitas sebelumnya (prior probability).

Sebagai contoh, kita mengasumsikan bahwa probabilitas hujan adalah 50% ketika cuaca cerah, tetapi setiap hari kita memperbarui probabilitas dengan setiap informasi yang tersedia. Probabilitas Teorema Bayes dapat dijelaskan dalam gambar berikut.

Gambar 7. Persamaan Theorema Bayes

Gambar di atas menunjukkan Teorema Bayes di mana:

P(A|B) adalah probabilitas posterior (Probabilitas peristiwa A terjadi jika B benar)

P(B|A) adalah probabilitas peristiwa B terjadi jika A benar. Kita juga bisa mengatakan ini adalah peluang (likelihood) A akan terjadi jika B tetap.

P(A) dan P(B) adalah prior probabilities; tanpa syarat apapun atau bila tidak ada bukti, seberapa besar kemungkinan terjadinya peristiwa A atau B.

Sehubungan dengan dataset, kita dapat menyatakan persamaan awal Naive Bayes seperti gambar di bawah.

Gambar 8. persamaan awal Naive Bayes

Mari kita ambil contoh dari dataset sebelumnya dan katakanlah X = (Width = 15, Weight = 100, Color = Red) dan y = Apple. Jadi kita bisa menyatakan bahwa pengklasifikasi Naive Bayes P(y|X) adalah probabilitas Apple diberikan Width = 15, Weight = 100, dan Color = Red. Untuk menghitung probabilitas, biasanya algoritma Naive Bayes memerlukan data kontinu untuk diskritisasi atau menggunakan estimasi densitas probabilitas. Tetapi untuk contoh kali ini, mari kita anggap mereka adalah kategorikal.

Jika kita masukkan semua informasi dari data kita ke dalam algoritma Naive Bayes, maka akan seperti gambar di bawah ini.

Gambar 9. Perhitungan Apel dengan Naive Bayes

Kita memasukkan informasi pada data yang kita miliki. Untuk P(Apple) atau prior adalah kemunculan label Apple dibandingkan dengan semua data yang ada, yaitu 3/5. Sebagai contoh, likelihood dari P(Width = 15 | Apple) hanya muncul dalam 1 data dari semua 3 data dengan label Apple.

Kita juga dapat menghitung probabilitas invers (Not Apple, diberikan data) dengan persamaan dan hasil berikut.

Gambar 10. Perhitungan Bukan Apel dengan Naive Bayes

Jika kita menggunakan hasil di atas, probabilitas Apple lebih tinggi daripada Not Apple, artinya data akan menghasilkan Apple. Biasanya, probabilitas akan dinormalisasi untuk kedua kasus, sehingga kita selalu memiliki total probabilitas sebesar 1 dengan persamaan berikut.

Gambar 11. Perhitungan Naive Bayes yang sudah dinormalisasi

Naive Bayes sering digunakan karena kemudahan dan kesederhanaan algoritmanya. Waktu pelatihan juga cukup cepat dibandingkan dengan algoritma yang lain. Model ini populer pada use-case NLP karena berfungsi baik dalam banyak kasus NLP, seperti analisis sentimen, sentiment analysis, spam filtering, dan lain sebagainya.

Python Libraries untuk Machine Learning

Python dengan libraries, modul, dan kerangkanya bisa digunakan untuk membantu kebutuhan machine learning. Hanya saja, Anda perlu menguasai pengaplikasian Python guna mendapatkan manfaatnya dalam machine learning dan data science. Berikut adalah sepuluh rekomendasi Python libraries yang bisa Anda gunakan.

Pandas adalah library Python yang paling dikenal dan banyak digunakan. Paket ini bisa digunakan untuk menganalisis data dengan cepat, realistis, dan serbaguna. Anda dapat memakainya untuk mengombinasikan, mengelompokkan, dan mengklasifikasikan data yang berasal dari berbagai sumber, seperti Excel, SQL databases, CSV, dan sebagainya. Oleh karena itu, Pandas menjadi salah satu paket Python yang wajib dimiliki lantaran performanya yang stabil dan bersifat open source.

Selanjutnya, ada NumPy atau Numerical Python. NumPy adalah aljabar linear yang dikembangkan dalam Python guna memecahkan berbagai permasalahan terkait numerik. Banyak ahli dan pengguna yang memilih paket ini karena NumPy memiliki kemampuan untuk memecahkan permasalahan-permasalahan rumit menyangkut operasional matematika. Selain itu, NumPy juga banyak digunakan untuk menangani berbagai permasalahan lain, seperti gambar, suara, dan operasional biner lainnya.

Matplotlib adalah salah satu Python libraries yang juga sering digunakan. Paket ini dipakai untuk kepentingan visualisasi data yang melibatkan grafik, plot, histogram, dan lain-lain. Visualisasi data diperlukan untuk memahami data secara lebih mendalam sebelum melakukan data-processing dan melatihnya dalam program machine learning. Matplotlib banyak digemari karena memiliki sifat yang open source dan gratis untuk diakses.

Seaborn adalah salah satu paket yang kerap digunakan dalam Python libraries. Paket ini dirancang di atas Matplotlib dan terintegrasi dengan struktur data dari Pandas. Sama halnya dengan Matplotlib, Seaborn digunakan untuk kepentingan visualisasi data agar data mudah dipahami. Dalam machine learning, Seaborn berfungsi membaca dan memahami data-data untuk kemudian dipetakan dalam bentuk grafis statistik, sehingga dapat menghasilkan plot yang informatif.

Berikutnya adalah SciPy sebagai Python libraries yang cukup dikenal. Paket ini terdiri dari beberapa modul untuk memperoleh hasil terbaik, meliputi statistik, integrasi, hingga aljabar linear. Kelebihan dari SciPy adalah operasionalnya yang mudah untuk mengatasi persoalan matematika. Selain itu, paket ini juga berguna untuk digunakan dalam image manipulation.

Python libraries berikutnya yang tidak kalah populer adalah Scikit-learn. Paket ini menjadi salah satu yang legendaris dalam dunia machine learning. Scikit-learn dibuat atas dua Python libraries, yakni NumPy dan SciPy. Dengan demikian, fungsinya tak jauh berbeda dengan kedua libraries pokoknya, yaitu untuk memecahkan berbagai permasalahan numerik. Namun, paket ini juga bisa digunakan untuk keperluan data mining dan analisis data.

Selanjutnya ada Python libraries yang dikembangkan oleh tim Google Brain dari Google, TensorFlow. Paket ini biasa digunakan untuk memecahkan permasalahan matematika dalam berbagai aplikasi artificial intelligence atau AI. Paket ini banyak digunakan oleh berbagai pengembang lantaran mampu menjalankan komputasi dengan melibatkan tensors. Selain itu, perangkat ini juga memungkinkan penerapan komputasi di berbagai perangkat, mulai dari komputer hingga smartphone.

Keras adalah salah satu Python libraries yang cukup populer. Sebab, paket ini memudahkan para pemula untuk pembuatan prototipe. Selain itu, proses prototyping juga bisa dikatakan jadi lebih cepat. Keras dibuat atas dasar TensorFlow, CNTK, dan Theano. Kelebihan lain dari paket ini adalah mampu digunakan untuk visualisasi data selain menyusun model, mengolah dataset, dan mengevaluasi hasil akhir.

Machine learning pada dasarnya berkutat pada persoalan matematika dan statistik. Begitu juga dengan Theano yang berfungsi untuk mendefinisikan, mengevaluasi, dan mengoptimalkan berbagai himpunan multidimensi dalam matematika. Paket ini biasanya digunakan untuk program komputasi berskala besar. Namun, tidak sedikit juga yang menggunakannya untuk proyek individu.

Terakhir ada PyTorch yang menjadi produk machine learning library dari tim Facebook. Paket ini dibuat untuk menyaingi keberadaan TensorFlow karena keduanya sama-sama menggunakan tensors. Akan tetapi, PyTorch didesain untuk lebih mudah dipahami dan dioperasikan. Meski demikian, paket ini hanya dapat digunakan untuk pengembangan dan pelatihan program deep learning.

Machine learning merupakan pembelajaran mesin yang mempelajari beberapa hal di dalamnya seperti algoritma, ilmu statistik, dan lainnya. Machine learning merupakan teknologi bagian dari Artificial Intelligence. Ketika seseorang melakukan proses pengolahan data, sebagian besar orang membutuhkan algoritma machine learning untuk menyelesaikan atau mencari solusi dari permasalahan data yang ada. Algoritma machine learning pun sangat beragam dan digunakan sesuai dengan masalah data yang sesuai.

Algoritma sendiri merupakan suatu proses langkah demi langkah yang tersusun untuk menyelesaikan permasalahan. Algoritma machine learning sendiri sangat beragam dan sudah sering digunakan untuk menyelesaikan permasalahan data dalam berbagai bidang seperti kesehatan, pendidikan, bisnis, keuangan, dan masih banyak lainnya. Kira-kira apa saja ya algoritma machine learning yang cukup sering digunakan dan bagaimana cara kerja machine learning? Yuk, simak artikel berikut ini!

Naive Bayes merupakan salah satu algoritma supervised learning yang sederhana dan cukup sering digunakan. Algoritma ini menggunakan dasar Teori Bayes di dalamnya. Algoritma ini memiliki data training (data yang sudah terdapat label kelas) dan data testing (data yang belum memiliki label kelas). Algoritma Naive Bayes bekerja dengan cara memaksimalkan nilai suatu kelas. Kelas yang memiliki probabilitas tertinggi akan masuk ke dalam salah satu dari label-label yang tersedia.

Baca juga : 3 Jenis Algoritma Machine Learning yang Dapat Digunakan di Dunia Perbankan

Jika pada algoritma supervised learning salah satu tujuan kita adalah untuk mengetahui label kelas pada data, maka pada unsupervised learning tidak berlaku demikian. K-Means merupakan salah satu algoritma supervised learning yang mana cara kerjanya adalah mengklaster atau mengelompokkan data sesuai dengan karakteristik atau kemiripan data menjadi beberapa klaster sesuai dengan nilai k yang telah ditentukan. Pada algoritma ini dibutuhkan centroid atau nilai pusat serta menghitung jarak kedekatan data dengan centroid. Algoritma ini dilakukan secara berulang sampai tidak ada perubahan anggota dalam masing-masing kelompok.

KNN atau K-Nearest Neighbour merupakan salah satu algoritma supervised learning yang mengklasifikasikan atau mengelompokkan data ke dalam beberapa kelompok berdasarkan kemiripan sifat dari data. Algoritma ini hampir mirip dengan algoritma K-Means, yang membedakan adalah pada K-Means melakukan proses clustering sedangkan pada KNN melakukan proses klasifikasi. Terkadang orang menyebut algoritma ini dengan sebutan algoritma malas dikarenakan pada algoritma ini tidak mempelajari cara mengkategorikan data akan tetapi hanya mengingat data yang sudah ada.

Yuk, Kenalan Dengan Algoritma Python Untuk Machine Learning!

Belajar Data Science di Rumah 05-Mei-2021

Tanpa kita sadari, teknologi machine learning telah banyak diterapkan di sekitar kita. Machine learning merupakan subset dari Artificial Intelligence dimana mesin dikembangkan agar dapat belajar dengan sendirinya tanpa harus diprogram berulang kali. Salah satu yang menjadi pilihan untuk mengembangkan machine learning adalah algoritma Python. Python merupakan bahasa pemrograman yang diciptakan oleh Guido van Rossum dan dirilis pada tahun 1991 dimana mendukung hampir seluruh sistem operasi. Saat ini Python masih dikembangkan oleh Python Software Foundation.

Algoritma Python adalah sekumpulan instruksi atau perintah yang dijalankan untuk memecahkan masalah yang ingin diselesaikan. Algoritma dapat diterapkan di berbagai bahasa pemrograman. Penulisannya pun tidak ada aturan pasti, jadi tergantung pada masalah yang ingin diselesaikan dan gaya praktisi data dalam mengimplementasikannya. Setiap praktisi data punya gayanya masing-masing dalam menuliskan susunan kode maupun memberi nama variabel. Namun yang perlu diingat adalah susunan kode dan nama variabel harus bisa dibaca oleh orang lain dalam tim agar tidak terjadi kesalahpahaman. Bisa juga dengan menambahkan komen pada baris kodenya. DQLab kali ini akan membahas mengenai algoritma Python untuk machine learning yaitu struktur algoritmanya, library yang sering digunakan, dan kelebihan-kelebihannya. Yuk, simak bersama pembahasannya di bawah ini!

Anda mungkin ingin melihat