Algoritma Machine Learning Mana Yang Menggunakan Konsep Pohon Keputusan Untuk Klasifikasi

Algoritma Machine Learning Mana Yang Menggunakan Konsep Pohon Keputusan Untuk Klasifikasi

Tingkat Akurasi Machine Learning

Pada dasarnya, akurasi awal dari program Machine Learning biasanya sangat buruk. Sebab pada awalnya program ini 'tidak tahu apa-apa'. Namun, seiring berjalannya waktu, semakin sering kita melatih program, semakin banyak contoh-contoh yang dipelajari oleh program, maka program ini akan semakin cerdas dan akurat. Biasanya, untuk tingkat ambang akurasi yang mencapai angka 80% sudah bisa dianggap sukses.

Naive Bayes Classifier

Naive bayes classifier merupakan algoritma klasifikasi yang sangat sederhana berdasarkan apa yang disebut pada teorema bayesian. Algoritma ini memiliki satu sifat umum, yaitu setiap data diklasifikasikan tidak bergantung pada fitur lain yang terikat pada kelas atau biasa disebut dengan independen. Artinya, satu data tidak berdampak pada data yang lain. Meskipun algoritma ini merupakan algoritma yang tergolong sederhana, namun naive bayes dapat mengalahkan beberapa metode klasifikasi yang lebih canggih. Algoritma ini biasa digunakan untuk deteksi spam dan klasifikasi dokumen teks. Kelebihan algoritma ini adalah sederhana dan mudah diterapkan, tidak sensitif terhadap fitur yang tidak relevan, cepat, hanya membutuhkan sedikit data training, dan dapat digunakan untuk masalah klasifikasi multi-class dan biner.

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

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.

K-Means Clustering

Seperti namanya, algoritma ini biasa digunakan untuk kasus clustering. K-means Clustering adalah salah satu contoh algoritma Unsupervised Machine Learning yang paling sederhana dan populer. Metode K-Means Clustering berusaha mengelompokkan data yang ada ke dalam beberapa kelompok, dimana data dalam satu kelompok mempunyai karakteristik yang sama satu sama lainnya dan mempunyai karakteristik yang berbeda dengan data yang ada di dalam kelompok yang lain.

Cara kerja algoritma ini mula-mula adalah dengan membentuk sejumlah k titik, yang disebut dengan centroid (dimana nilai k merepresentasikan jumlah cluster). Kemudian titik-titik data (data points) yang ada akan membentuk cluster dengan centroid terdekat darinya. Otomatis, titik pusat (centroid) akan berubah seiring dengan pertambahan anggota tiap cluster-nya (yang mana adalah data points tadi). Oleh karena itu, tiap-tiap cluster yang telah terbentuk akan mencari titik centroid barunya. Proses ini terus menerus dilakukan hingga diperoleh kondisi konvergensi, contohnya jika posisi centroid sudah tidak berubah.

Terdapat dua jenis data clustering yang sering dipergunakan dalam proses pengelompokan data yaitu Hierarchical dan Non-Hierarchical, dan K-Means merupakan salah satu metode data clustering non-hierarchical atau Partitional Clustering.

Decision Tree adalah salah satu metode klasifikasi yang paling populer, karena mudah untuk diinterpretasi oleh manusia. Decision Tree adalah model prediksi menggunakan struktur pohon atau struktur berhirarki. Algoritma Machine Learning jenis ini melakukan tugasnya dengan menggunakan konsep struktur flowchart bercabang menggunakan decision rules atau aturan-aturan keputusan yang dibuat oleh desainernya.

Pada dasarnya, Decision Tree dimulai dengan satu node atau simpul. Kemudian, node tersebut bercabang untuk menyatakan pilihan-pilihan yang ada. Selanjutnya, setiap cabang tersebut akan memiliki cabang-cabang baru. Maka dari itu, metode ini disebut "tree" karena bentuknya menyerupai pohon yang memiliki banyak cabang. Mengutip dari Venngage, Decision Tree memiliki tiga elemen di dalamnya, yaitu:

Root node (akar), Tujuan akhir atau keputusan besar yang ingin diambil.

Branches (ranting), Berbagai pilihan tindakan.

Leaf node (daun), Kemungkinan hasil atas setiap tindakan.

Dalam Machine Learning kita akan sering mendengar tentang metode Random Forest yang digunakan untuk menyelesaikan permasalahan. Metode Random Forest merupakan salah satu metode dalam Decision Tree. Random Forest adalah kombinasi dari  masing-masing tree yang baik kemudian dikombinasikan  ke dalam satu model. Random Forest bergantung pada sebuah nilai vector random dengan distribusi yang sama pada semua pohon yang masing masing Decision Tree memiliki kedalaman yang maksimal.

Oleh karena itu, prinsip dasar random forest mirip dengan Decision Tree. Masing-masing Decision Tree akan menghasilkan output yang bisa saja berbeda-beda. Nah, Random Forest ini akan melakukan voting untuk menentukan hasil mayoritas dari semua Decision Tree. Sederhananya, Random Forest akan memberikan output berupa mayoritas hasil dari semua Decision Tree.

Baca juga : Machine Learning vs Deep Learning Korelasi AI, Machine Learning dan Deep Learning

Hierarchical Clustering

Hierarchical Clustering adalah teknik clustering dengan algoritma Machine Learning yang membentuk hirarki atau berdasarkan tingkatan tertentu sehingga menyerupai struktur pohon. Dengan demikian proses pengelompokannya dilakukan secara bertingkat atau bertahap. Biasanya, metode ini digunakan pada data yang jumlahnya tidak terlalu banyak dan jumlah cluster yang akan dibentuk belum diketahui.

Secara prinsip, Hierarchical Clustering ini akan melakukan clustering secara berjenjang berdasarkan kemiripan tiap data. Sehingga pada akhirnya, pada ujung hierarki akan terbentuk cluster-cluster yang karakteristiknya berbeda satu sama lain, dan objek di satu cluster yang sama memiliki kemiripan satu sama lain.

Di dalam metode hirarki, terdapat dua jenis strategi pengelompokan yaitu Agglomerative dan Divisive. Agglomerative Clustering (metode penggabungan) adalah strategi pengelompokan hirarki yang dimulai dengan setiap objek dalam satu cluster yang terpisah kemudian membentuk cluster yang semakin membesar. Jadi, banyaknya cluster awal adalah sama dengan banyaknya objek. Sedangkan Divisive Clustering (metode pembagian) adalah strategi pengelompokan hirarki yang dimulai dari semua objek dikelompokkan menjadi cluster tunggal kemudian dipisah sampai setiap objek berada dalam cluster yang terpisah.

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

Support Vector Machine

SVM (Support Vector Machine) adalah algoritma klasifikasi yang memiliki kinerja yang bagus, tingkat keakuratan yang dinilai cukup tinggi untuk pengklasifikasian data, dan error rate yang dihasilkan minimum. Adapun keuntungan dari algoritma SVM adalah dapat menentukan hyperplane atau pemisah dengan memilih bidang yang memiliki optimal margin maka generalisasi pada SVM dapat terjaga dengan sendirinya, tingkat generalisasi pada SVM tidak dipengaruhi oleh jumlah data latih , dengan menentukan parameter soft margin, noise dapat dikontrol pada kesalahan klasifikasi sehingga proses pelatihan menjadi jauh lebih ketat.

Algoritma KNN atau sering disebut K-Nearest Neighbor merupakan algoritma yang melakukan klasifikasi berdasarkan kedekatan jarak suatu data dengan data yang lain. Dekat atau jauh suatu jarak dihitung berdasarkan jarak Euclidean. KNN merupakan salah satu algoritma non parametrik yang digunakan dalam pengklasifikasian. Selain naive bayes, algoritma KNN juga menjadi algoritma pengklasifikasian yang terkenal dengan tingkat keakuratan yang baik. Keuntungan dari algoritma KNN adalah sangat nonlinear, lebih mudah dipahami dan diimplementasikan karena kita cukup mendefinisikan fungsi untuk menghitung jarak antar-instance, menghitung jarak x dengan semua instance lainnya berdasarkan fungsi tersebut dan menentukan kelas x sebagai kelas yang paling banyak muncul di k-instance.

Baca juga : Belajar Data Science: Pahami Penggunaan Machine Learning pada Python

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)

Saat ini, perusahaan berteknologi besar maupun kecil, semua bersaing untuk mewujudkan teknologi paling canggih. Kamu pasti pernah mendengar atau membaca bacaan yang membahas tentang perusahaan berteknologi berskala besar. Hal tersebut pasti tidak jauh dengan istilah yang digunakan pada teknologi seperti, Data Science, AI (Artificial Intelligence), Machine Learning, Deep Learning, hingga Natural Language Processing.

Dalam dunia Data Science, kita dapat membuat model Machine Learning menggunakan beberapa bahasa di antaranya adalah Python. Python saat ini masih menjadi bahasa yang sangat digemari oleh banyak pihak. Hasil belajar Machine Learning dengan python banyak sekali menghasilkan tools yang membantu dalam kemudahan interaksi bahkan mempersingkat kerja manusia.

Tipe tipe algoritma pada Machine Learning terdiri dari Unsupervised Learning, Supervised Learning dan Semi Supervised Learning. Seperti yang pernah dibahas di artikel lainnya, Machine Learning tanpa data maka tidak akan bisa bekerja. Oleh sebab itu, hal yang pertama kali perlu disiapkan adalah data. Untuk menghasilkan pola atau suatu kesimpulan yang diinginkan, algoritma pada Machine Learning menghasilkan suatu model yang didasari sebuah data. Setelah mengetahui garis besar tipe algoritma-algoritma Machine learning secara umum, berikut ini sedikit penjelasan terkait contoh-contoh dari algoritma yang telah disebutkan di atas!

Reinforcement Learning

Reinforcement learning adalah sistem machine learning yang melakukan tugas dengan memaksimalkan reward melalui tindakan tertentu. Reinforcement learning menggunakan agen untuk mengamati keadaan lingkungan tertentu dan memilih suatu keadaan untuk bertindak. Tindakan akan menghasilkan reward atau penalty tergantung pada pilihan tersebut. Reinforcement learning akan mendorong algoritma untuk menemukan strategi terbaik dalam memaksimalkan reward. Keputusan tersebut kemudian akan menjadi agen dalam suatu lingkungan tertentu.

Kita sering menggunakan reinforcement learning ketika kita tidak memiliki banyak data atau mendapatkan data dengan berinteraksi dengan lingkungan. Contoh reinforcement learning adalah self-driving car dan AI Chess.

Bagaimana Cara Kerja Machine Learning?

Machine learning bekerja dengan mengolah data melalui beberapa tahapan utama: training, validation, dan testing. Pertama, data mentah yang kalian miliki perlu diproses dan dibagi menjadi beberapa set. Set training digunakan untuk "mengajari" algoritma cara mengenali pola tertentu, sementara set validation membantu mengevaluasi apakah model yang dibuat sudah berjalan dengan baik.

Terakhir, set testing digunakan untuk mengukur seberapa akurat model tersebut saat diberikan data baru. Algoritma adalah inti dari proses ini; algoritma membantu komputer menentukan pola yang relevan dalam data dan mengaplikasikannya untuk menyelesaikan tugas tertentu. Dengan pendekatan ini, model dapat terus ditingkatkan hingga menghasilkan performa yang optimal.

Unsupervised Learning

Kita dapat mebayangkan unsupervised learning sebagai usaha cara menemukan variabel-variabel tertentu dari data. Seperti namanya, unsupervised learning machine learning tidak memiliki pengawasan atau panduan dari manusia dalam mempelajari data. Sebaliknya, mesin diharapkan menghasilkan solusi berdasarkan pembelajaran algoritma.

Unsupervised learning dimaksudkan untuk mengeksplorasi data dan menghasilkan output berdasarkan pembelajaran algoritma. Algoritma memberi umpan dari data training tanpa label dan menghasilkan learning output. perhatikan contoh hasil unsupervised learning dengan algoritma K-Means.

Gambar 2. Hasil unsupervised learning dengan K-Means

Hasil di atas adalah algoritma Clustering yang digunakan untuk mengelompokkan data ke dalam sejumlah group. Pemanfaatan lain dari unsupervised learning adalah Dimensionality Reduction yang menyederhanakan data tanpa kehilangan terlalu banyak informasi dari data asli.

Tingkatkan Kemampuanmu dengan Belajar Machine Learning Bersama DQLab

Dari penjelasan di atas, kita dapat memahami bahwa Machine Learning akan terus belajar selama ia digunakan. Jadi tidak heran jika Machine Learning sering digunakan, maka tingkat akurasinya pun akan semakin baik dibanding dengan model yang dihasilkan di awal-awal. Hal ini dikarenakan Machine Learning akan banyak belajar seiring waktu pemakaian selama pengguna menggunakannya.

Ingin tahu lebih lanjut mengenai Machine Learning serta bagaimana membuat suatu model Machine Learning? Kunjungi langsung situs DQLab dan buat Akun Gratis dengan Signup di DQLab.id/signup dan nikmati pengalaman belajar bersama DQLab dengan mengakses module gratis "Introduction to Data Science". Kamu bisa mulai memperdalam ilmu kamu mengenai algoritma Machine Learning dan membangun portofolio datamu dengan belajar bersama DQLab!

Penulis : Salsabila Miftah Rezkia

Editor : Annissa Widya Davita