Machine Learning | 91 Maka jika terdapat sebuah fungsi dimana , langkah pertama yang dilakukan untuk melakukan Gradient Descent adalah mencari turunan atau diferensial dari fungsi . Hasil turunan fungsi adalah . Setelah mendapatkan nilai diferensial, langkah selanjutnya yang dapat dilakukan adalah melakukan ploting terhadap fungsi turunan. Langkah ini dilakukan untuk melihat pola dari turunan fungsi . Kemudian menjalankan program Gradient Descent untuk mendapatkan nilai lokal minimum. Kemudian hasil nilai lokal minimum yang diperoleh dari Gradient Descent dapat di plot. import matplotlib.pyplot as plt import numpy as np def f(x): return x**4 - 3 * x**3 + 2 def df(x): return 4 * x**3 - 9 * x**2 if __name__ == "__main__": x = np.arange(-5, 5, 0.2) y, y_dx = f(x), df(x) f, axarr = plt.subplots(3, sharex=True) axarr[0].plot(x, y, color='mediumspringgreen') axarr[0].set_xlabel('x') axarr[0].set_ylabel('f(x)')
92 | Machine Learning axarr[0].set_title('f(x)') axarr[1].plot(x, y_dx, color='coral') axarr[1].set_xlabel('x') axarr[1].set_ylabel('dy/dx(x)') axarr[1].set_title('derivative of f(x)') axarr[2].set_xlabel('x') axarr[2].set_ylabel('GD') axarr[2].set_title('Local Minimum') iterations, cur_x, gamma, precision = 0, 6, 0.01, 0.00001 previous_step_size = cur_x while previous_step_size > precision: prev_x = cur_x cur_x += -gamma * df(prev_x) previous_step_size = abs(cur_x - prev_x) iterations += 1 axarr[2].plot(prev_x, cur_x, "o") f.subplots_adjust(hspace=0.3) f.tight_layout() plt.show() print ('minimum:', cur_x, '\niterations:', iterations)
Machine Learning | 93 minimum: 2.2499646074278457 iterations: 70 Diatas merupakan program dan juga hasil dari proses pencarian nilai lokal minimum dengan Gradient Descent pada fungsi . Pada baris pertama dan kedua merupakan bagian untuk melakukan import library matplotlib dan numpy. Library matplotlib merupakan library yang digunakan ketika ingin membentuk grafik atau plot. Sedangkan untuk library numpy merupakan library yang digunakan ketika ingin memodifikasi array. Kemudian pada bagian selanjutnya merupakan inisialisasi kelas untuk dan turunan . Pada awal bagian class main mulai inisialisasi nilai untuk . Potongan program, np.arange(- 5, 5, 0.2) berarti nilai dari x akan dimulai dari -5 hingga 5 dengan step penjumlahan sebesar 0.2. Setelah itu melakukan inisialisasi untuk subplot. Algoritma gradient descent dimulai dengan
94 | Machine Learning melakukan inisialisasi variable. Variabel untuk cur_x adalah titik awal dari simulasi berjalan. Variabel gamma merupakan ukuran step dari gradient descent. Variable precision adalah ukuran toleransi dari nilai lokal minimum. Semakin kecil nilai toleransi maka semakin besar pula presisi nilai lokal minimum yang didapatkan, namun karena semakin kecil nilai toleransi yang ada maka membutuhkan learning rate yang lebih kecil. Dari gambar yang ada merupakan ilustrasi dari step jika yang digunakan adalah nilai learning rate yang besar dan kecil. Learning rate yang kecil akan membutuhkan iterasi yang lebih lama namun dapat memberikan presisi yang lebih baik. Hasil dari program simulasi dari Gradient Descent didapatkan nilai lokal minimum untuk fungsi adalah 2.2499646074278457 dan dibutuhkan 70 iterasi untuk mendapatkan nilai lokal minimum dari variable. Untuk melihat apakah algoritma Gradient Descent berjalan baik atau tidaknya dapat dilakukan dengan melakukan pemetaan terhadap cost yang diperoleh terhadap iterasi selama proses optimasi berlangsung. Pada bagian sumbu x merupakan jumlah dari iterasi yang telah dilakukan dan pada sumbu y dapat dipetakan cost dari Gradient Descent. Dari contoh program diatas, cost yang diperoleh adalah variabel previous_step_size dimana merupakan hasil nilai absolut dari hasil pengurangan lokasi saat
Machine Learning | 95 ini dengan lokasi sebelumnya pada saat proses berjalan. (Wilmott 2019) Untuk menentukan apakah learning rate yang baik dari hasil pemetakan yang ada dapat dicek pada gambar berikut. Dari contoh apabila kita cari grafik learning rate yang ada akan tampak sebagai berikut. Untuk mendapatkan parameter yang baik untuk digunakan dalam Gradient Descent parameter yang ada dapat diubah nilainya hingga menampilkan grafik learning rate yang baik. Perubahan yang dilakukan akan berpengaruh terhadap hasil iterasi dan juga grafik yang akan ditampilkan. Itu adalah salah
96 | Machine Learning satu contoh dimana untuk mencari nilai lokal minimum dari sebuah loss function. Gradient Descent tidak hanya untuk mencari nilai lokal minimum namun juga dapat digunakan untuk mencari nilai lokal maksimum. Jika kita membayangkan Gradient Descent adalah seseorang yang mendaki gunung, untuk mencari nilai minimum maka orang tersebut akan turun dari gunung. Sedangkan untuk mencari nilai maksimum yang berada pada puncak lokal sebuah grafik maka pendaki tersebut harus menaiki gunung yang ada. Dari analogi ini jika kita kembali lagi kerumus utama dari Gradient Descent. Maka simbol minus merupakan faktor yang menyebabkan proses dari Gradient Descent ini mencari nilai minimum. Untuk merubahnya menjadi algoritma untuk mencari nilai maksimum lokal yakni dengan merubah rumus yang ada menjadi penjumlahan. Dari algoritma yang baru ini kita bisa sudah bisa menentukan nilai lokal maksimum dari sebuah fungsi. Untuk lebih memahami proses ini telah disediakan contoh kedua. Contoh kedua akan mencari nilai maksimum dan nilai minimum dari sebuah fungsi . Langkah pertama yang harus selalu dilakukan adalah mencari nilai turunan dari fungsi, yakni . Kemudian sama dengan contoh sebelumnya, akan di plot terlebih dahulu kemudian dicari hasil dari Gradient Descent dari fungsi yang ada.
Machine Learning | 97 import matplotlib.pyplot as plt, numpy as np def f(x): return x**3 - 6 * x**2 + 9 * x + 15 def df(x): return 3 * x**2 - 12 * x + 9 if __name__ == "__main__": x = np.arange(-0.5, 5, 0.2) y = f(x) plt.figure('f(x)') plt.xlabel('x') plt.ylabel('f(x)') plt.title('f(x)') plt.plot(x, y, color='blueviolet') plt.figure('local minimum') plt.xlabel('x') plt.ylabel('GD') plt.title('local minimum') iterations, cur_x, gamma, precision = 0, 6, 0.01, 0.00001 previous_step_size = cur_x while previous_step_size > precision: prev_x = cur_x cur_x += -gamma * df(prev_x) previous_step_size = abs(cur_x - prev_x)
98 | Machine Learning iterations += 1 plt.plot(prev_x, cur_x, "o") local_min = cur_x print ('minimum:', local_min, 'iterations:', iterations) plt.figure('local maximum') plt.xlabel('x') plt.ylabel('GD') plt.title('local maximum') iterations, cur_x, gamma, precision = 0, 0.5, 0.01, 0.00001 previous_step_size = cur_x while previous_step_size > precision: prev_x = cur_x cur_x += gamma * df(prev_x) previous_step_size = abs(cur_x - prev_x) iterations += 1 plt.plot(prev_x, cur_x, "o") local_max = cur_x print ('maximum:', local_max, 'iterations:', iterations) plt.show() minimum: 3.0001526323101704 iterations: 144 maximum: 0.9998475518984531 iterations: 127
Machine Learning | 99 Program diatas menyerupai dengan program pada contoh sebelumnya. Namun pada contoh kedua ini ditambahkan sebuah proses untuk mencari nilai lokal maksimum dari fungsi yang ada. Dari pemrograman yang ada yang berbeda adalah bagian kedua yang mencari nilai lokal maksimum. Pada bagian cur_x +=
100 | Machine Learning gamma * df(prev_x) tidak lagi terjadinya pengurangan untuk mencari nilai lokal maksimum. Hasil dari nilai maksimum yang ada yakni sekitar 1 sedangkan untuk nilai minimum yang didapatkan pada grafik berada pada kisaran nilai 3. Sampai disini kita dapat mengetahui dan dapat membuktikan Gradient Descent tidak hanya untuk mencari nilai lokal minimum saja, namun juga dapat digunakan untuk mencari nilai lokal maksimum. Untuk gradient descent tidak terbatas hanya satu nilai minimum yang dicari seperti contoh sebelumnya. Dari kedua contoh tadi hanyalah implementasi sederhana dalam Gradient Descent, namun pada permasalahan sesungguhnya Gradient Descent tidak hanya digunakan untuk mencari satu variable saja, namun digunakan untuk mencari beberapa nilai variabel sekaligus. Biasanya dalam kasus yang lebih rumit nilai minimum yang dicari akan berbagai macam variabel seperti contohnya sebagai berikut. Bayangkan sebuah permasalahan machine learning dan ingin melakukan training dengan gradient descent untuk meminimalkan cost-funtion dan mencapai nilai lokal minimum dengan melakukan tweaking pada parameter . Gambar di bawah ini merepresntasikan bentuk dari diagram dimana sumbu horizontal yang ada mewkili paramter yang ada dan sumbu vertikal yang ada mewakili cost-funtion . Dari sini bisa kita lihat bahwa gradient descent adalah fungsi cembung.
Machine Learning | 101 Terdapat tiga buah macam tipe dari gradient descent berdasarkan jumlah data yang digunakan (Grus 2019). 1. Batch Gradient Descent Batch gradient descent, atau juga disebut dengan vanilla gradient descent, berfungsi untuk menghitung error dari masing masing contoh yang berada dalam dataset training. Proses pembaharuan model dilakukan pada saat seluruh data training telah dievaluasi oleh gradient descent. Seluruh proses ini seperti sebuah siklus dan disebut epoch pelatihan. Semakin banyak epoch yang ditentukan maka akan semakin bagus pula hasil yang bagus, namun juga semakin lama pula proses yang dilakukan. Beberapa keuntungan dari batch gradient descent adalah efisiensi komputasinya. Batch gradient descent dapat menghasilkan error gradient yang stabil dan konvergensi yang stabil. Beberapa kekurangannya adalah error gradient yang stabil terkadang dapat menghasilkan kondisi konvergensi yang tidak terbaik yang mampu dicapai oleh model. Batch gradient descent juga membutuhkan seluruh dataset pelatihan selalu berada di memori dan tersedia untuk diproses oleh algoritma. 2. Stochastic Gradient Descent Sebaliknya, Stochastic Gradient Descent (SGD) melakukan perubahan model untuk setiap contoh training data dalam dataset, yang berarti proses untuk memperbarui parameter pada setiap contoh training dilakukan secara satu per satu. Tergantung pada
102 | Machine Learning permasalahan yang ingin diselesaikan, algoritma SGD lebih cepat daripada batch gradient descent. Salah satu keuntungannya adalah pembaruan yang selalu dilakukan pada saat proses berjalan memungkinkan kita untuk mendapatkan tingkat perbaikan model yang cukup detail. Akan tetapi, pembaruan yang sering dilakukan selama proses akan mengakibatkan pemrosesan lebih mahal secara komputasi dibandingkan dengan pendekatan batch gradient descent. Selain itu, frekuensi pembaruan tersebut dapat menghasilkan noise gradient, yang dapat menyebabkan tingkat error untuk naik turun secara drastis dibandingkan dengan turun secara perlahan. 3. Mini-Batch Gradient Descent Mini-batch gradient descent adalah metode yang tepat untuk digunakan karena merupakan kombinasi dari konsep SGD dan batch gradient descent. Metode ini hanya membagi dataset pelatihan menjadi beberapa kelompok kecil dan melakukan pembaruan untuk setiap kelompok tersebut. Hal ini menciptakan keseimbangan antara ketahanan stochastic gradient descent dan efisiensi batch gradient descent. Ukuran batch mini yang umum berkisar antara 50 dan 256, tetapi seperti teknik pembelajaran mesin lainnya, tidak ada aturan yang jelas karena bervariasi untuk aplikasi yang berbeda. Algoritma ini adalah algoritma yang digunakan saat melatih neural network dan merupakan jenis gradient descent yang paling umum dalam deep learning.
Machine Learning | 103 9 Agglomerative Clustering
104 | Machine Learning Agglomerative Clustering merupakan salah satu metode dalam analisis klaster yang digunakan untuk mengelompokkan data berdasarkan kesamaan karakteristik atau atribut. Metode ini termasuk dalam kategori hierarchical clustering, di mana data awal dipecah menjadi kelompok-kelompok yang lebih kecil, dan kemudian kelompok-kelompok tersebut digabungkan (agglomerated) secara bertahap untuk membentuk kelompok yang lebih besar. Proses agglomerative clustering dimulai dengan menganggap setiap titik data sebagai klaster terpisah, dan kemudian secara berurutan menggabungkan klaster yang paling mirip satu sama lain. Penggabungan ini terus berlanjut hingga semua titik data berada dalam satu klaster tunggal. Pendekatan ini menciptakan struktur pohon (dendrogram) yang merepresentasikan hubungan hierarkis antara klaster-klaster yang terbentuk. Langkah-langkah umum dalam agglomerative clustering melibatkan perhitungan jarak antara klaster-klaster yang akan digabungkan. Terdapat berbagai metode perhitungan jarak, seperti single linkage, complete linkage, average linkage, dan lain sebagainya. Pilihan metode ini dapat mempengaruhi bentuk dan struktur klaster yang dihasilkan. Agglomerative clustering cocok untuk data yang tidak memiliki jumlah klaster yang jelas sebelumnya, dan memberikan pemahaman yang baik tentang hubungan hierarkis antara kelompok-kelompok data. Keuntungan lainnya adalah kemampuannya untuk menangani berbagai jenis bentuk dan ukuran klaster. Penerapan agglomerative clustering dapat ditemui dalam berbagai bidang, seperti pengelompokan pelanggan berdasarkan
Machine Learning | 105 perilaku pembelian, analisis genom untuk mengelompokkan gengen dengan fungsi serupa, atau bahkan dalam pengelompokan dokumen berdasarkan topik. Dengan pendekatan hierarkisnya, agglomerative clustering memberikan wawasan yang mendalam tentang struktur data, sehingga sangat bermanfaat untuk eksplorasi dan analisis data yang kompleks. Multikolinieritas adalah keadaan di mana beberapa objek penelitian menunjukkan korelasi antar variabel predictornya. Kondisi ini dapat mengakibatkan determinan data menjadi nol pada matriks . Selain itu, multikolinieritas dapat menimbulkan beberapa masalah, di antaranya: 1. Nilai perkiraan dari koefisien regresi menjadi sangat responsif terhadap perubahan data. 2. Koefisien regresi perkiraan dapat menjadi tidak realistis, bahkan jika nilai tinggi. 3. Pada metode kuadrat terkecil, simpangan baku koefisien regresi perkiraan menjadi sangat besar. Salah satu metode untuk menentukan keberadaan multikolinieritas pada variabel adalah dengan menghitung Variance Inflation Factors (VIF) menggunakan rumus: dengan sebagai koefisien determinasi dari variabel bebas ke-i. Kriteria untuk mengidentifikasi multikolinieritas
106 | Machine Learning pada variabel prediktor adalah jika nilai VIF melebihi 10 (Mu’afa & Ulinnuha, 2019) Hubungan antara multikolinieritas dan agglomerative clustering adalah penting untuk dipertimbangkan. Multikolinieritas dapat memengaruhi hasil agglomerative clustering karena korelasi yang tinggi antar variabel dapat memperkenalkan redundansi dalam data. Ketika ada multikolinieritas yang signifikan, agglomerative clustering mungkin menggabungkan variabel yang sebenarnya berbeda hanya karena korelasi yang tinggi, menghasilkan pengelompokan yang kurang informatif atau ambigu. Oleh karena itu, penanganan multikolinieritas sebelum melakukan agglomerative clustering dapat meningkatkan kualitas dan interpretabilitas hasil analisis klaster. Analisis Komponen Utama (Principal Component Analysis - PCA) merupakan metode statistika yang termasuk dalam kategori analisis multivariat. Tujuannya adalah mentransformasi variabel yang saling berkorelasi menjadi variabel baru yang tidak berkorelasi satu sama lain, dengan mereduksi dimensi variabel tanpa kehilangan informasi data dan tetap menjelaskan sebagian besar keragaman dari variabel aslinya. Komponen baru ini dikenal sebagai komponen utama. Proses pembentukan komponen utama melibatkan dua matriks, yaitu matriks ragam-peragam dan matriks korelasi. Nilai eigen ( ) dan vektor eigen diperoleh
Machine Learning | 107 melalui persamaan dan , dengan , di mana adalah jumlah variabel. Komponen utama ke dapat didefinisikan sebagai berikut: dengan ragam ( ) sebagai berikut: Beberapa kriteria pemilihan jumlah komponen utama melibatkan pertimbangan sebagai berikut: 1. Tidak ada aturan yang disepakati oleh semua ahli statistika, beberapa mengambil akar ciri yang lebih besar dari 1 atau mengambil komponen utama tertentu yang dapat menjelaskan proporsi keragaman yang cukup bermakna. 2. Proporsi kumulatif keragaman oleh k komponen utama minimal 80%, dan total variansi populasi cukup besar. 3. Menggunakan scree plot, pemilihan nilai k didasarkan pada letak terjadinya belokan yang menunjukkan kecilnya nilai eigen yang membentuk pola garis lurus. Penting untuk dicatat bahwa hubungan antara Analisis Komponen Utama dan Agglomerative Clustering adalah relevan karena hasil PCA dapat digunakan sebagai input untuk teknik pengelompokan aglomeratif. Dengan mengidentifikasi dan menggunakan komponen utama yang paling signifikan, kita dapat memperoleh representasi yang
108 | Machine Learning lebih ringkas dan efisien dari data untuk diterapkan dalam proses klastering. Analisis klaster adalah suatu teknik statistika yang digunakan untuk mengelompokkan data yang memiliki banyak variabel, dengan tujuan utama untuk memisahkan objek yang memiliki kesamaan. Salah satu metode yang digunakan untuk mengelompokkan objek serupa adalah dengan mengukur jarak antar objek menggunakan rumus Euclidean: Keterangan: jarak antara objek dengan nilai objek pada variabel ke nilai objek pada variabel ke banyaknya variabel yang diamati Analisis klaster dapat dibagi menjadi dua metode utama, yakni hirarki dan non-hirarki. Dalam metode hirarki, terdapat dua pendekatan utama, yaitu Agglomerative Hierarchical Clustering dan Divisive Clustering. Agglomerative Hierarchical Clustering sendiri memiliki empat metode, seperti Single Linkage, Complete Linkage, Average Linkage, dan Ward. Langkah-langkah pengelompokan menggunakan metode Agglomerative Hierarchical Clustering dengan objek dapat diuraikan
Machine Learning | 109 sebagai berikut, sebagaimana dijelaskan oleh (Murtagh & Contreras, 2017): 1. Memulai dengan klaster, setiap klaster berisi satu entitas dan sebuah matriks simetris jarak (kemiripan) dengan jenis . 2. Mencari matriks jarak untuk pasangan klaster yang paling dekat (paling serupa). Sebagai contoh, jarak antara klaster dan yang paling serupa adalah . 3. Menggabungkan klaster dan . Menetapkan label klaster yang baru terbentuk sebagai ( ). Mengupdate entri pada matriks jarak dengan langkah-langkah berikut: a. Menghapus baris dan kolom yang sesuai dengan klaster dan . b. Menambahkan baris dan kolom yang menyediakan jarak antara klaster ( ) dan klaster-klasternya yang tersisa. 4. Mengulangi langkah 2 dan 3 sebanyak kali. (Semua objek akan berada dalam klaster tunggal setelah algoritma selesai). Mencatat identitas klaster yang digabungkan dan tingkatan (jarak atau kemiripan) di mana penggabungan terjadi. Metode Single Linkage adalah pendekatan analisis klaster hierarki yang mengelompokkan objek berdasarkan jarak terdekat terlebih dahulu (Goreti, 2016). Pertama-tama, kita menentukan jarak terpendek dan menggabungkan objek-objek yang sesuai. Berdasarkan langkah ke-3 pada Agglomerative Hierarchical Clustering,
110 | Machine Learning perhitungan jarak antara klaster U dan V dapat dilakukan dengan rumus: dimana merupakan jarak terpendek antara klaster dan , sementara adalah jarak terpendek antara klaster dan . Metode Complete Linkage adalah teknik analisis klaster hierarki yang mengelompokkan objek berdasarkan jarak paling jauh atau tingkat kemiripan terkecil antar objek (Ningsih, 2016). Awalnya, langkah pertama adalah menentukan elemen matriks dan menggabungkan objek-objek yang sesuai, seperti dan , untuk membentuk klaster . Mengacu pada langkah ke-3 dalam Agglomerative Hierarchical Clustering, perhitungan jarak antara klaster dan dapat dihitung dengan rumus: di mana adalah jarak terdekat antara dan , dan adalah jarak terdekat antara dan . Metode Average Linkage adalah pendekatan analisis klaster hierarki yang mengelompokkan objek berdasarkan jarak rata-rata antara semua pasangan objek (Asiska, 2019). Langkah awalnya adalah menentukan elemen matriks untuk mengidentifikasi objek yang paling mirip satu sama lain, contohnya U dan V. Berdasarkan langkah ke-3
Machine Learning | 111 dalam Agglomerative Hierarchical Clustering, perhitungan jarak antara klaster dan W dapat dihitung dengan rumus: di mana adalah jarak antara objek pada klaster dan objek pada klaster , dan serta adalah jumlah item pada masing-masing klaster dan . Metode Ward adalah sebuah teknik analisis klaster hierarki yang berasal dari konsep hilangnya informasi akibat penggabungan objek menjadi klaster. Metode ini menggunakan perhitungan dengan tujuan memaksimalkan homogenitas menggunakan Error Sum of Squares (ESS) di dalam satu kelompok (Fathia, 2019). Rumus ESS dapat dirumuskan sebagai berikut: Di mana: adalah nilai objek ke (dengan ) pada kelompok ke adalah jumlah kelompok pada setiap tahap,
112 | Machine Learning adalah jumlah objek pada kelompok ke . Rumus ini mencerminkan upaya untuk meminimalkan variabilitas di dalam setiap kelompok pada setiap tahap penggabungan. (Fadliana & Rozi, 2015) Uji validitas klaster diperlukan untuk mengevaluasi kebaikan atau kualitas hasil analisis klaster. Dalam penelitian ini, salah satu metode yang digunakan untuk menguji validitas hasil klaster adalah koefisien korelasi cophenetic. Koefisien korelasi cophenetic mengukur sejauh mana kesamaan antara elemen-elemen matriks ketidakmiripan (matriks jarak Euclidean) dan elemen-elemen yang dihasilkan oleh dendrogram (matriks cophenetic) (Carvalho et al., 2019). Formula yang digunakan untuk menghitung koefisien korelasi cophenetic adalah sebagai berikut: di mana: Koefisien korelasi cophenetic jarak asli (jarak Euclidean) antara objek dan rata – rata jarak cophenetic objek dan
Machine Learning | 113 Nilai berkisar antara -1 dan 1, dengan nilai yang mendekati 1 menunjukkan bahwa solusi yang dihasilkan dari proses klastering dapat dianggap baik atau memiliki kualitas yang memadai. Hubungan antara analisis komponen utama (PCA) dan agglomerative clustering dapat ditemui dalam konteks pemilihan fitur atau dimensi yang signifikan untuk mewakili data sebelum dilakukan klastering. Dengan memahami validitas klaster menggunakan koefisien korelasi cophenetic, kita dapat meningkatkan interpretasi dan kepercayaan terhadap hasil klaster yang dihasilkan oleh algoritma agglomerative clustering. Beberapa artikel yang membahas penerapan Agglomerative Clustering mencakup karya-karya dari berbagai peneliti, antara lain (Abdurrahman, 2019; Bachtiar et al., 2017; Dani et al., 2019; Dewi & Ahadiyah, 2022; Fadliana & Rozi, 2015; Pratikto & Damastuti, 2021; Widyawati et al., 2020). Artikel-artikel ini menyajikan beragam konteks penerapan Agglomerative Clustering pada berbagai bidang, termasuk: 1. Pengaplikasian Agglomerative Clustering pada Data Kredit Bank (Abdurrahman, 2019): Artikel ini membahas penggunaan Agglomerative Clustering untuk mengelompokkan data kredit bank, mungkin dengan tujuan analisis risiko kredit atau penilaian kredit pelanggan.
114 | Machine Learning 2. Segmentasi Pelanggan dengan Agglomerative Clustering (Bachtiar et al., 2017): Membahas penerapan Agglomerative Clustering dalam melakukan segmentasi pelanggan untuk memahami pola perilaku konsumen dan meningkatkan strategi pemasaran. 3. Klasifikasi Daerah Berdasarkan Kualitas Pelayanan Keluarga Berencana (Dani et al., 2019): Artikel ini mengulas penggunaan Agglomerative Clustering untuk mengklasifikasikan daerah berdasarkan kualitas pelayanan keluarga berencana, membantu dalam peningkatan layanan dan alokasi sumber daya. 4. Penerapan Agglomerative Clustering pada Data Runtun Waktu (Dewi & Ahadiyah, 2022): Membahas cara Agglomerative Clustering dapat diterapkan pada data runtun waktu untuk mengidentifikasi pola atau tren dalam rangkaian waktu tertentu. 5. Penentuan Kelompok Daerah Berdasarkan Indikator Pendidikan (Fadliana & Rozi, 2015): Artikel ini mungkin membahas penggunaan Agglomerative Clustering dalam menentukan kelompok daerah berdasarkan indikator pendidikan, membantu dalam perencanaan dan pengembangan pendidikan di tingkat lokal. 6. Model Wilayah Banjir dengan Agglomerative Clustering (Pratikto & Damastuti, 2021): Membahas cara Agglomerative Clustering digunakan untuk memodelkan wilayah banjir, membantu dalam pemahaman dan mitigasi risiko banjir.
Machine Learning | 115 7. Referensi Lainnya tentang Pengaplikasian Agglomerative Clustering (Widyawati et al., 2020): Artikel ini mungkin memberikan gambaran luas tentang penerapan Agglomerative Clustering dalam berbagai konteks dan mungkin mengacu pada referensireferensi lain yang relevan. Dengan merinci topik-topik yang dicakup oleh setiap artikel, dapat lebih mudah dipahami kontribusi dan implikasi Agglomerative Clustering dalam berbagai bidang penelitian.
116 | Machine Learning
Machine Learning | 117 10 Confusion Matrix
118 | Machine Learning Dalam bab ini, kita akan membahas konsep penting yang disebut confusion matrix dalam konteks machine learning. Confusion matrix adalah matriks yang sangat berguna untuk mengevaluasi kinerja model klasifikasi dan mengukur sejauh mana model kita mampu mengklasifikasikan data dengan benar (Kantardzic, 2019). Confusion matrix adalah suatu bentuk tabel dua dimensi (aktual/actual dan prediksi/predicted) yang mencerminkan performa model klasifikasi pada serangkaian data uji, dengan memperhatikan nilai sebenarnya yang sudah diketahui (Rhys, 2020; Senthilselvi, Chelliah and Pandi, 2021). Silakan lihat ilustrasinya di bawah ini: Dari gambar diatas, ada empat kemungkinan hasil klasifikasi yang digambarkan oleh confusion matrix yaitu: True Positive (TP), True Negative (TN), False Positive (FP), dan False Negative (FN). Berikut adalah penjelasannya: 1. True Positive (TP) True positive menggambarkan kasus di mana model yang dibuat memprediksi positif (klasifikasi benar) dan memang TP TN FP FN positive negative positive negative Actual values Pr edi cte d val ue s
Machine Learning | 119 benar positif. Contoh: Model yang memprediksi seseorang sakit (kelas 1) dan orang tersebut benar-benar sakit (kelas 1). 2. True Negative (TN) True negative adalah kasus di mana model memprediksi negatif dan memang benar negatif. Contoh: Model memprediksi seseorang tidak sakit (kelas 2) dan orang tersebut memang tidak sakit (kelas 2). 3. False Positive (FP) Ini adalah kasus di mana model memprediksi positif (klasifikasi salah) padahal seharusnya negatif. Ini juga dikenal sebagai kesalahan tipe I. Contohnya, pasien tidak sakit (kelas 2) tetapi model memprediksi pasien tersebut adalah sakit (kelas 1). 4. False Negative (FN Ini adalah kasus di mana model memprediksi negatif (klasifikasi salah) padahal seharusnya positif. Ini juga dikenal sebagai kesalahan tipe II. Contohnya, pasien sakit (kelas 1) tetapi dari model yang telah memprediksi pasien tersebut tidak sakit (kelas 2). Model yang baik dapat dikatakan memiliki TP dan TN yang tinggi dang FP dan FN yang rendah. Confusion matrix dapat digunakan pada klasifikasi biner atau klasifikasi multiclass untuk mengukur performa model yang dibuat. Meskipun konsep dasarnya sama, ada perbedaan dalam cara confusion matrix digunakan dalam klasifikasi biner dan multiclass. Klasifikasi biner adalah jenis klasifikasi di mana ada dua kelas target yang mungkin: positif dan negatif, 0 atau 1, ya atau tidak. Sebagai contoh, misalnya ada sebuah kumpulan data dimana terdapat 20 pasien. Dari 20 pasien tersebut diketahui bahwa 8 pasien sakit (kelas 1) dan 12 pasien tidak sakit (kelas 0). Suatu model dibuat
120 | Machine Learning untuk memprediksi apakah seseorang sakit atau tidak. Setelah dilakukan pengujian didapat confusion matrix sebagai berikut: Dari hasil diatas, maka dapat disimpulkan: 1. Dari 8 pasien yang positif sakit, model dapat memprediksi 5 pasien yang positif sakit sedangkan 3 pasien di =prediksi tidak sakit/negatif. 2. Dari 12 pasien yang negatif tidak sakit, model dapat memprediksi 10 pasien yang memang benar sakit dan 2 pasien yang diprediksi sakit. Prediksi yang benar pada confusion matrix terletak pada tabel diagonal/miring, sedangkan prediksi yang salah terletak di luar tabel diagonal (Shmueli et al., 2023). Jika dilihat dari contoh kasus diatas, tipe eror false negative lebih berbahaya dibandingkan tipe eror pada false positive, karena jika keadaan pasien sebenarnya adalah sakit tapi diprediksi oleh model tidak sakit, maka akan ada keterlambatan penanganan pada pasien 1 (positive) 0 (negative) 5 3 2 10 Actual values Pr edi cte d val ue s 1 (positive) 0 (negative)
Machine Learning | 121 tersebut yang dapat membahayakan nyawa pasien. Oleh karena itu, model machine learning untuk keperluan medis harus dibuat dengan sangat akurat. Kesalahan dalam prediksi penyebaran penyakit dapat memiliki konsekuensi yang serius dalam upaya pengendalian penyebaran penyakit tersebut. Confusion matrix sangat penting dalam evaluasi kinerja model klasifikasi karena memberitahukan seberapa baik model yang dibuat. Berikut beberapa alasan mengapa kita memerlukan confusion matrix: 1. Confusion matrix memberikan gambaran yang jelas tentang sejauh mana model berhasil dalam membuat prediksi. 2. Confusion matrix memungkinkan kita untuk mengidentifikasi dan membedakan jenis kesalahan yang dibuat oleh model, seperti False Positives (FP) dan False Negatives (FN). Ini membantu dalam memahami bagaimana model dapat ditingkatkan atau diarahkan untuk mengurangi jenis kesalahan tertentu. 3. Dengan menggunakan data pada confusion matrix, kita dapat menggunakan data tersebut untuk mengukur performa model yang digunakan untuk prediksi. Confusion matrix dapat digunakan untuk menghitung performance matrix. Performance matrix digunakan untuk mengukur kinerja model yang telah dibuat. Performance matrix yang paling umum digunakan adalah: accuracy, precision, dan recall.
122 | Machine Learning Akurasi (accuracy) adalah salah satu metrik evaluasi kinerja model klasifikasi yang paling sederhana dan sering digunakan. Metrik ini mengukur sejauh mana model berhasil dalam memprediksi dengan benar. Adapun rumus accuracy adalah sebagai berikut: Perhatikan contoh confusion matrix pada klasifikasi biner sebelumnya, maka di dapat hasil accuracy-nya adalah: Accuracy = = = = Dari hasil perhitungan diatas didapat accuracy sebesar 75%, yang artinya model dapat memprediksi secara benar sebesar 75% untuk yang sakit maupun untuk yang tidak sakit dari keseluruhan pasien. Manfaat dari penggunaan accuracy dalam confusion matrix adalah: 1. Sederhana dan Mudah Dipahami: accuracy adalah metrik yang sederhana dan mudah dipahami. Ini memberikan gambaran umum tentang sejauh mana model berhasil dalam tugas klasifikasi.
Machine Learning | 123 2. Pembanding Kinerja Awal: accuracy dapat digunakan sebagai pengukuran awal untuk menilai kinerja model Anda. Ini memberikan perkiraan tingkat keberhasilan model dalam memprediksi semua kelas target. Presisi (precision) adalah salah satu metrik evaluasi kinerja model klasifikasi yang mengukur sejauh mana model berhasil dalam memprediksi positif dengan benar dari semua prediksi positif yang dibuat. Metrik ini berfokus pada seberapa akurat model dalam mengidentifikasi sampel positif. Rumus precision adalah : Dari contoh confusion matrix pada klasifikasi biner sebelumnya, maka di dapat hasil precision-nya adalah: Precision = = = = Precision mengukur dari seluruh prediksi positif yang dibuat oleh model, berapa persentase yang benar-benar positif. Semakin tinggi precision, semakin sedikit hasil positif palsu yang dihasilkan oleh model. Manfaat dari penggunaan presisi dalam confusion matrix adalah:
124 | Machine Learning 1. Mengukur Tingkat Ketepatan: precision memberikan gambaran tentang sejauh mana model Anda dapat dipercaya ketika mengklasifikasikan sampel sebagai positif. Ini penting dalam konteks di mana kesalahan positif palsu dapat memiliki konsekuensi yang mahal. 2. Berguna dalam Kasus Ketidakseimbangan Kelas: Dalam kasus ketidakseimbangan kelas di mana kelas positif adalah minoritas, precision dapat memberikan gambaran yang lebih baik Recall, juga dikenal sebagai Sensitivity atau True Positive Rate, adalah salah satu metrik evaluasi kinerja model klasifikasi yang mengukur sejauh mana model berhasil dalam mengidentifikasi semua sampel positif yang sebenarnya ada. Ini fokus pada seberapa baik model dalam menangkap atau mengenali semua sampel positif. Rumus recall adalah (Senthilselvi, Chelliah and Pandi, 2021): Pada hasil confusion matrix sebelumnya, maka di dapat hasil recall-nya adalah: Recall = = = =
Machine Learning | 125 Recall mengukur berapa persentase yang berhasil diidentifikasi oleh model dari seluruh sampel positif yang sebenarnya ada. Semakin tinggi recall, semakin sedikit sampel positif yang terlewatkan oleh model (false negatives yang rendah). Manfaat dari penggunaan recall dalam confusion matrix adalah: 1. Mengukur Kemampuan Model dalam Mengidentifikasi Positif: Recall memberikan gambaran tentang sejauh mana model Anda dapat mengenali sampel positif. Ini penting dalam kasus di mana kegagalan mengidentifikasi sampel positif dapat memiliki konsekuensi serius. 2. Berguna dalam Kasus Ketidakseimbangan Kelas: Recall juga sangat berguna dalam kasus ketidakseimbangan kelas di mana kelas positif adalah minoritas. Ini membantu model untuk tidak melewatkan sampel positif yang mungkin sangat penting.
126 | Machine Learning
Machine Learning | 127 11 Deep Learning
128 | Machine Learning Deep Learning (DL) merupakan salah satu bagian dari Machine Learning yang terdiri dari algoritma pemodelan abstraksi tingkatan teratas pada data memanfaatkan sekumpulan peranan transformasi non-linear yang di tata berlapis-lapis serta mendalam. DL sungguh bagus buat digunakan pada supervised learning, unsupervised learning serta semi-supervised learning ataupun untuk reinforcement learning dalam aplikasi semacam identifikasi gambar, suara, pengategorian teks, serta sejenisnya. Miniatur pada DL pada dasarnya dibentuk menurut Jaringan saraf contoh (Neural jaringan), yang risetnya telah aktif semenjak masa 80an tapi baru-baru ini kembali bangkit dengan terdapatnya komputer yang kian cepat terutama ditambah dengan terdapatnya teknologi pada Big Data, contoh pada hadoop serta spark berplatform multi node cluster, ataupun pemrosesan dengan cara paralel berbasis GPU, etc. Deep Learning yaitu pembelajaran yang berplatform pada fitur yang berwujud hirarki, dimana fitur hirarki itu bisa diskalakan dalam dimensi terpilih yang bisa disamakan dengan persoalan yang ada pada sistem. Maka menciptakan algoritma Deep Learning bisa untuk menjalankan ekstraksi fitur otomatis dari data mentah secara perinci, karna proses ekstraksi yang dijalani mengenakan susunan pemanfaatan, dimana fitur-fitur yang dipemanfaatan itu tidak mungkin bisa ditinjau dengan cara kasat mata. Perihal ini di sebabkan oleh penyebaran pembeda kategori data yang sangat dalam, akibatnya dari fitur tingkatan teratas mesti ditransformasi
Machine Learning | 129 terlebih dulu ke fitur yang setidaknya ringan yang gampang di mengerti oleh mesin pembelajaran. Poinnya bila fitur tingkatan kecil saja bisa gampang diindentifikasi oleh Deep Learning, apalagi fitur tingkatan teratas. Kombinasi inilah yang menjadikan Deep Learning bisa menciptakan representasi fitur yang positif serta ideal. Penggalian fitur sebagai eksploitasi ini berupaya mengerjakan sebuah ruang alias region pada posisi terpilih hingga di coba buat digali serta di filter sampai sedalam-dalamnya. Sebaliknya bila dengan cara pencarian, Deep Learning mencoba menjumlahkan tujuan spae alias region sebanyak-banyaknya maupun seluas-luasnya dengan tata cara yang bisa sepadan ataupun berlainan pada masa menjalankan eksplotasi. Berikut merupakan prinsip fungsi dari algoritma Deep Learning. 1. Membuat arsitektur yang pas, paling utama pada model teknik Deep Learning yang cocok dengan keperluan dari komplikasi masalah yang hendak diolah serta dituntaskan. Arsitektur itu terdiri dari layer input, hidden (darknet/ layer gelap/ tersembunyi), serta output. 2. Sediakan data maupun item apa saja yang di butuhkan saat proses training serta percobaan Deep Learning. 3. Putuskan buat tempat implementasinya (contoh di local ataupun memanfaatkan cloud) serta programnya (membuat program from scratch. mengkombinasikan dengan membuat beberapa dengan cara scratch serta memanfaatkan beberapa dari library, maupun memanfaatkan full library). 4. Lakukan percobaan yang cocok dengan strandar dari algoritma Deep Learning, mulai dari ukuran, hingga ke percobaan struktur arsitekturnya.
130 | Machine Learning 1. Convolutional Neural Networks (CNNs) CNN dikenal dengan ConvNets terdiri dari banyak susunan. Algoritma ini khususnya dipakai buat menjalankan ilustrasi serta mengetahui subjek. Terlihat dari awal pengembangannya, CNN bermaksud untuk mengetahui sifat kayak ZIP serta nilai. Dalam CNN, ada 3 dasar pembangunan block, adalah convolution layer, pooling layer, serta full-connected layer. 2. Generative Adversarial Networks (GANs) GAN ialah algoritma deep learning yang menciptakan ilustrasi data terkini mirip data asli (data buat training ). GAN ada 2 unsur, yakni generator (yang berlatih menciptakan data tiruan) serta diskriminator (yang berlatih dari data tiruan itu). Teknik operasi GAN ialah diskriminator belajar memisahkan antara data tiruan generator serta data sampel asli. Sepanjang training awal , generator menciptakan data tiruan, serta diskriminator dengan segera memahami apabila itu salah. 3. Long Short Term Memory Networks (LSTMs) LSTM mampu mendalami serta menimbang data dalam periode berjarak. LSTM mempunyai data dari masa ke masa. Mereka berfungsi dalam proyeksi deret waktu lantaran mampu menimbang inputan sebelumnya. Dengan arsitektur yang di desain privat, mengharuskan tiruan LSTM mengambil keputusan apakah hendak mempunyai data sebelumnya dalam memori waktu pendek atupun membuangnya. LSTM
Machine Learning | 131 mempunyai tekstur semacam ikatan yang terdiri dari 4 susunan yang sama-sama berkorelasi. Tidak hanya proyeksi deret waktu, LSTM umumnya dikenakan buat mengetahui perkataan, formasi nada, serta jenjang kemanjuran obat-obatan kedokteran LSTM bertindak dengan metode pengecualian bagian yang tidak relevan dari insiden sebelumnya. Algoritma ini dengan cara berhati-hati merenovasi poin dari bagian kemudian menunjukkan hasil seleksinya. 4. Multilayer Perceptrons (MLPs) MLP adalah miniatur yang selalu digunakan dalam pengembangan neural jaringan sebab tingkatan keakuratannya besar. Inti dari algoritma MLP yakni terdapatnya sistem backpropagation yang bisa mengetahui error dalam jaringan. MLP rata-rata dipakai dalam membuat sistem identifikasi ilustrasi, perkataan, ataupun sebagian model aplikasi terjemahan lainnya. 5. Self organizing Maps (SOM) SOM berusaha membongkar permasalahan dengan penggambaran data dengan tanggapan individu tidak dapat dengan gampang mencitrakan data-data kompleks. SOM di bikin supaya menolong pemakai memahami data kompleks itu lebih cepat. 6. Recurrent Neural Networks (RNNs) Hubungan dalam RNN menciptakan peredaran terkendali yang memasukkan output dari LSTM. Output LSTM menjadi input dari peredaran yang terdapat di RNN serta sanggup memandang input sebelumnya lantaran ingatan internalnya. RNN rata-rata dipakai buat
132 | Machine Learning informasi ilustrasi, kajian baris periode, identifikasi tulisan tangan, serta terjemahan mesin. 1. Kesehatan Semenjak masa digital, perusahaan healthcare mendapatkan banyak khasiat dari keahlian deep learning dalam tujuan pencatatan riwayat medis serta analisa hasil peninjauan radiologi. Aplikasi identifikasi ilustrasi (recognition) sanggup menyokong pakar radiologi dalam mengkaji erta memperhitungkan lebih banyak gambar dalam durasi singkat. 2. Pelayanan pelanggan Banyak industri menyandarkan chatbot dalam bermacam aplikasi, layanan, serta pintu layanan konsumen. Ini merupakan salah satu teknologi deep learning serta merupakan wujud langsung dari AI. Chatbot yang lebih maju mencoba memutuskan reaksi dari persoalan pertanyaan dengan ambiguitas besar. Bersumber pada respons yang diperoleh, chatbot seterusnya berupaya menanggapi pertanyaan itu serupa dengan training data yang diterima sebelumnya. 3. Layanan keuangan Lembaga finansial memanfaatkan analisa prediktif guna menekan perdagangan saham, memperhitungkan efek bidang usaha untuk persetujuan pinjaman, menemukan pengecohan, serta membantu mengatur portofolio pinjaman buat pelanggan. Biar dalam
Machine Learning | 133 melakukan analisa sanggup cermat, mereka mengenakan algoritma deep learning.
134 | Machine Learning DAFTAR PUSTAKA Abdurrahman, G. (2019). Clustering Data Kredit Bank Menggunakan Algoritma Agglomerative Hierarchical Clustering Average Linkage. JUSTINDO (Jurnal Sistem Dan Teknologi Informasi Indonesia), 4(1), 13. https://doi.org/10.32528/justindo.v4i1.2418 Asiska, N., Satyahadewi, N., dan Perdana, H. (2019) Pencarian Cluster Optimum pada Single Linkage, Complete Linkage, dan Average Linkage, Vol 08 No. 3 pp. 393-398, Buletin Ilmiah Math, Stat, dan Terapannya (Bimaster). Adrezo, M., Huang, YP., Sandnes, F.E. (2021). "A PM 2.5 Forecasting Model Based on Air Pollution and Meteorological Conditions in Neighboring Areas." In: Yildirim Yayilgan, S., Bajwa, I.S., Sanfilippo, F. (eds) Intelligent Technologies and Applications. INTAP 2020. Communications in Computer and Information Science, vol 1382. Springer, Cham. https://doi.org/10.1007/978-3- 030-71711-7_20 Arief Nurdini & Anita, 2022, ‘ANALISIS PERAMALAN PERMINTAAN TEMPE GMO 450 GRAM DENGAN MENGGUNAKAN METODE REGRESI LINEAR’, Jurnal Ilmiah Teknik, 1(2). Arthur, D., & Vassilvitskii, S. (2007). "k-means++: The advantages of careful seeding." In Proceedings of the eighteenth annual ACM-SIAM symposium on Discrete algorithms (pp. 1027-1035).
Machine Learning | 135 Boriah, S., Chandola, V., & Kumar, V. (2008). "Similarity measures for categorical data: A comparative evaluation." In Proceedings of the Eighth SIAM International Conference on Data Mining (pp. 243-254).Baita, A., Prasetyo, I.A. & Cahyono, N., 2023, ‘HYPERPARAMETER TUNING ON RANDOM FOREST FOR DIAGNOSE COVID-19’, JIKO (Jurnal Informatika dan Komputer), 6(2). Bertsekas, Dimitri. 2016. Nonlinear Programming. Athena Scientific. Bishop, C. M. (2006). Pattern Recognition and Machine Learning. Springer. Bachtiar, A. M., Dharmayanti, D., & Hamzah, R. L. (2017). PENERAPAN METODE HIERARCHICAL AGGLOMERATIVE CLUSTERING UNTUK SEGMENTASI PELANGGAN POTENSIAL DI JEGER JERSEY INDONESIA. Komputa : Jurnal Ilmiah Komputer Dan Informatika, 6(1), 35–42. https://doi.org/10.34010/komputa.v6i1.2475 Carvalho, P. R., Munita, C. S., & Lapolli, A. L. (2019). Validity studies among hierarchical methods of cluster analysis using cophenetic correlation coefficient. Brazilian Journal of Radiation Sciences, 7(2A). https://doi.org/10.15392/bjrs.v7i2A.668 Dani, A. T. R., Wahyuningsih, S., & Rizki, N. A. (2019). Penerapan Hierarchical Clustering Metode Agglomerative pada Data Runtun Waktu. Jambura Journal of Mathematics, 1(2), 64–78. https://doi.org/10.34312/jjom.v1i2.2354 Dewi, A. F., & Ahadiyah, K. (2022). Agglomerative Hierarchy Clustering Pada Penentuan Kelompok Kabupaten/Kota di Jawa Timur Berdasarkan Indikator Pendidikan. Zeta -
136 | Machine Learning Math Journal, 7(2), 57–63. https://doi.org/10.31102/zeta.2022.7.2.57-63 Duda, R. O., Hart, P. E., & Stork, D. G. (2001). Pattern classification. Wiley. Delua, J., 2021, ‘Supervised vs. Unsupervised Learning: What’s the Difference?’, IBM Analytics, Data Science/Machine Learning. Dicky Nofriansyah, S.Kom., M. K. D. I. G. W. N. M. S. 2017 (2017) ALGORITMA DATA MINING DAN PENGUJIAN. DEEPUBLISH. Fadliana, A., & Rozi, F. (2015). Penerapan Metode Agglomerative Hierarchical Clustering untuk Klasifikasi Kabupaten/Kota di Propinsi Jawa Timur Berdasarkan Kualitas Pelayanan Keluarga Berencana. CAUCHY: Jurnal Matematika Murni Dan Aplikasi, 4(1), 35–40. https://doi.org/10.18860/ca.v4i1.3172 Goreti, M. Novia, Y. dan Wahyuningsih, S. (2016) Perbandingan Hasil Analisis Cluster dengan Menggunakan Metode Single Linkage dan Metode C-Means, Vol 7 No. 1 pp 9-16, Jurnal EKSPONENSIAL. Grus, Joel. 2019. Data Science from Scratch: First Principles with Python. O’Reilly Media. https://books.google.com/books?hl=en&lr=&id=YBKSDw AAQBAJ&oi=fnd&pg=PP1&dq=Data+Science+from+Scratc h:+First+Principles+with+Python&ots=bL4FsJwnCH&sig= 0dYc0mmIwsWG6iVnnp5_gmlMWGQ (November 28, 2023).
Machine Learning | 137 Getis, A., & Ord, J. K. (1992). "The analysis of spatial association by use of distance statistics." Geographical Analysis, 24(3), 189-206. Han, J., Kamber, M., & Pei, J. (2011). Data mining: Concepts and techniques. Elsevier. Hastie, T., Tibshirani, R., & Friedman, J. (2009). The Elements of Statistical Learning (2nd ed.). Springer. Husdi, Dalai, H., 2023, ‘Penerapan Metode Regresi Linear untuk Prediksi Bahan Baku Produksi Selai Bilfagi’, Jurnal Informatika, 10(2). https://www.trivusi.web.id/2022/04/algoritmasvm.html?m=1#:~:text=SVM linear digunakan untuk data,digunakan disebut sebagai Linear SVM (Accessed: 5 December 2023). Id, I.D. (2021) MACHINE LEARNING: Teori, Studi Kasus dan Implementasi Python. 1st edn. Gobah Pekanbaru: UR PRESS. Jain, A. K., Murty, M. N., & Flynn, P. J. (1999). "Data clustering: A review." ACM Computing Surveys (CSUR), 31(3), 264-323. Kumar, V., & Minz, S. (2018). "Customer segmentation and clustering using SAS Enterprise Miner™." SAS Institute. Kaharudin, Musthofa Galih Pradana, K. (2019) ‘PREDIKSI CUSTOMER CHURN PERUSAHAAN TELEKOMUNIKASI MENGGUNAKAN NAÏVE BAYES DAN K-NEAREST NEIGHBOR’, Informasi Interaktif, 4(3). Kantardzic, M. (2019) Advances in Data Mining, Industrial Conference. doi: 10.1002/9781119516057.ch12.
138 | Machine Learning Kurniawan, D., 2020, ‘Pengenalan Machine Learning dengan Python’, PT Elex Media Komputindo Kantardzic, M. (2019) Data Mining: Concepts, Models, Methods, and Algorithms. Wiley. Available at: https://books.google.co.id/books?id=kPm4DwAAQBAJ Kantinit (2022) Support Vector Machine (SVM): Pengertian, Jenis dan Cara Kerja. Available at: https://kantinit.com/kecerdasan-buatan/support-vectormachine-svm-pengertian-jenis-dan-carakerja/#Kelebihan (Accessed: 5 December 2023). Musthofa Galih Pradana, Azriel Christian Nurcahyo, P. H. S. (2020) ‘PENGARUH SENTIMEN DI SOSIAL MEDIA DENGAN HARGA SAHAM PERUSAHAAN’, Jurnal Ilmiah Edutic, 6(2). Mu’afa, S. F., & Ulinnuha, N. (2019). Perbandingan Metode Single Linkage, Complete Linkage Dan Average Linkage dalam Pengelompokan Kecamatan Berdasarkan Variabel Jenis Ternak Kabupaten Sidoarjo. Inform : Jurnal Ilmiah Bidang Teknologi Informasi Dan Komunikasi, 4(2). https://doi.org/10.25139/inform.v4i2.1696 Murtagh, F., & Contreras, P. (2017). Algorithms for hierarchical clustering: an overview, <scp>II</scp>. WIREs Data Mining and Knowledge Discovery, 7(6). https://doi.org/10.1002/widm.1219 Ningsih, S. Wahyuningsih, S. dan Nasution, Y. N. (2016) Perbandingan Kinerja Metode Complete Linkage dan Average Linkage dalam Menentukan Hasil Analisis Cluster, Prosiding Seminar Sains dan Teknologi, Vol 1 No. 1, FMIPA Unmul.
Machine Learning | 139 Nguyen, T. T. et al. (2017) Advanced Data Mining and Applications, Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics). doi: 10.1007/978-3-319-69179-4_58. Ng, A. Y., Jordan, M. I., & Weiss, Y. (2001). "On spectral clustering: Analysis and an algorithm." In Advances in neural information processing systems (pp. 849-856). Nurani, A.T., Setiawan, A. & Susanto, B., 2023, ‘Perbandingan Kinerja Regresi Decision Tree dan Regresi Linear Berganda untuk Prediksi BMI pada Dataset Asthma’, Jurnal Sains dan Edukasi Sains, 6(1). Paper, David. 2018. Data Science Fundamentals for Python and MongoDB. Berkeley, CA: Apress. http://link.springer.com/10.1007/978-1-4842-3597-3 (November 28, 2023). Permana, A.A. et al. (2023) MACHINE LEARNING. Edited by A. Yanto M.Pd. Padang: PT GLOBAL EKSEKUTIF TEKNOLOGI. Available at: www.globaleksekutifteknologi.co.id. Pratikto, R. O., & Damastuti, N. (2021). Klasterisasi Menggunakan Agglomerative Hierarchical Clustering Untuk Memodelkan Wilayah Banjir. JOINTECS (Journal of Information Technology and Computer Science), 6(1), 13. https://doi.org/10.31328/jointecs.v6i1.1473 Perrotta, Paolo. 2020. Programming Machine Learning: From Coding to Deep Learning. ed. Katharine Dvorak. Raleigh, North Carolina: Pragmatic Bookshelf. Rhys, H. (2020) Machine Learning with R, the tidyverse, and mlr.
140 | Machine Learning Manning. Available at: https://books.google.co.id/books?id=qjszEAAAQBAJ Ren, Z., Wang, S. & Zhang, Y., 2023, Weakly supervised machine learning, CAAI Transactions on Intelligence Technology, 8(3). Roihan, A., Sunarya, P.A. & Rafika, A.S., 2020, ‘Pemanfaatan Machine Learning dalam Berbagai Bidang: Review paper’, IJCIT (Indonesian Journal on Computer and Information Technology), 5(1). Senthilselvi, A., Chelliah, B.J. and Pandi, S.S. (2021) Machine Learning. Shanlax Publications. Available at: https://books.google.co.id/books?id=vUpgEAAAQBAJ. Shmueli, G. et al. (2023) Machine Learning for Business Analytics: Concepts, Techniques, and Applications in R. Wiley. Available at: https://books.google.co.id/books?id=M2e1EAAAQBAJ. Trivusi (2022) Beranda / Artikel / Machine Learning Penjelasan Lengkap Algoritma Support Vector Machine (SVM). Wilmott, Paul. 2019. Machine Learning: An Applied Mathematics Introduction. Panda Ohana Publishing. Wulandari, D., Rumini, 2023, ‘Pemodelan dan Prediksi Produksi Padi Menggunakan Regresi Linear’, Smart Comp, 12(4). Widyawati, W., Saptomo, W. L. Y., & Utami, Y. R. W. (2020). Penerapan Agglomerative Hierarchical Clustering Untuk Segmentasi Pelanggan. Jurnal Ilmiah SINUS, 18(1), 75. https://doi.org/10.30646/sinus.v18i1.448