SlideShare a Scribd company logo
1 of 28
Download to read offline
Pendahuluan
A. Tujuan Umum
Setelah mempelajari modul ini peserta latih diharapkan mampu melakukan persiapan
pemodelan dan proses pemodelan klasifikasi
B. Tujuan Khusus
Adapun tujuan mempelajari unit kompetensi melalui buku informasi Pelatihan Associate
Artificial Intelligence ini guna memfasilitasi peserta latih sehingga pada akhir pelatihan
diharapkan memiliki kemampuan sebagai berikut:
1. Membangun Skenario Model
a. Mengidentifikasi teknik pemodelan
b. Menentukan teknik pemodelan yang sesuai dengan karakteristik data dan
tujuan teknis data science
c. Menyiapkan skenario pengujian
2. Membangun Model Klasifikasi
a. Menyiapkan parameter model
b. Menggunakan tools pemodelan
Latar belakang
Unit kompetensi ini dinilai berdasarkan tingkat kemampuan dalam merancang website. Adapun
penilaian dilakukan dengan menggabungkan serangkaian metode untuk menilai kemampuan
dan penerapan pengetahuan pendukung penting. Penilaian dilakukan dengan mengacu kepada
Kriteria Unjuk Kerja (KUK) dan dilaksanakan di Tempat Uji Kompetensi (TUK), ruang simulasi
atau workshop dengan cara:
1.1 Lisan
1.2 Wawancara
1.3 Tes tertulis
1.4 Demonstrasi
1.5 Metode lain yang relevan.
Deskripsi Pelatihan
Materi ini berisi penjelasan mengenai persiapan pemodelan dan proses pemodelan
klasifikasi
Kompetensi Dasar
1. J.62DMI00.012.1 - Membangun Skenario Model
a. Mengidentifikasi teknik pemodelan
b. Menentukan teknik pemodelan yang sesuai dengan karakteristik data dan
tujuan teknis data science
c. Menyiapkan skenario pengujian
2. J.62DMI00.013.1 - Membangun Model
a. Menyiapkan parameter model
b. Menggunakan tools pemodelan
Indikator Hasil Belajar
Dapat melakukan persiapan pemodelan dan proses pemodelan klasifikasi
INFORMASI PELATIHAN
Akademi Thematic Academy
Mitra Pelatihan Kementerian Komunikasi dan Informatika
Tema Pelatihan Associate Data Scientist: Artificial Intelligence
untuk Dosen dan Instruktur
Sertifikasi β€’ Certificate of Attainment;
β€’ Sertifikat Kompetensi Associate Data Scientist
Persyaratan Sarana Peserta/spesifikasi device
Tools/media ajar yang akan digunakan
Memiliki laptop/komputer dengan spesifikasi minimal :
β€’ RAM minimal 2 GB (disarankan 4 GB)
β€’ Laptop dengan 32/64-bit processor
β€’ Laptop dengan Operating System Windows 7, 8, 10,
MacOS X atau Linux
β€’ Laptop dengan konektivitas WiFi dan memiliki
Webcam
β€’ Akses Internet Dedicated 126 kbps per peserta per
perangkat
β€’ Memiliki aplikasi Zoom
β€’ Memiliki akun Google Colab
Aplikasi yang akan di gunakan selamat pelatihan β€’ Spyder
β€’ Jupyter notebook
Tim Penyusun Afiahayati, S.Kom., M.Cs., Ph.D.
INFORMASI PEMBELAJARAN
Unit Kompetensi Materi
pembelajaran
Kegiatan
pembelajaran
Durasi
Pelatihan
Rasio
Praktek : Teori
Sumber
pembelajaran
Persiapan
pemodelan dan
proses pemodelan
klasifikasi
β€’ Membangun
Skenario
Pemodelan
β€’ Membangun
model
Daring/Online Live Class 2
JP
LMS 4 JP
@ 45 Menit
70 : 30 Modul
Pembelajaran
LMS
klasifikasi
Materi Pokok
Melakukan persiapan pemodelan dan proses pemodelan klasifikasi
Sub Materi Pokok
1. Membangun Skenario Model
a. Mengidentifikasi teknik pemodelan
b. Menentukan teknik pemodelan yang sesuai dengan karakteristik data dan tujuan teknis data science
c. Menyiapkan skenario pengujian
2. Membangun Model Klasifikasi
a. Menyiapkan parameter model
b. Menggunakan tools pemodelan
I. SKENARIO PEMODELAN
1.1 Pembagian Data
1.1.1 Train -Validation Split
Pembagian data sangat sering ditemukan dalam pembelajaran mesin. Dengan
melakukan pembagian data, kita dapat menemukan hyperparameter terbaik untuk
model yang digunakan. Dengan kata lain, pembagian data dapat membantu
mengurangi risiko underfitting maupun overfitting yang seringkali ditemui oleh
nilai hyperparameter yang kurang baik. Selain itu, pembagian data juga dapat
digunakan sebagai indikator baik atau buruknya kemampuan model prediktif
untuk menyelesaikan suatu masalah tertentu. Secara umum data dapat dibagi
menjadi 3 bagian, yaitu data latih (training data), data validasi (validation data),
dan data uji (testing data):
a. Data latih atau biasa disebut dengan training data merupakan bagian
data yang digunakan saat melatih model.
b. Data validasi (validation data) adalah data yang digunakan untuk
mengevaluasi model yang telah dilatih dengan training data. Dengan
menguji model yang telah dilatih menggunakan validation data,
performa model-model dengan hyperparameter berbeda akan
dibandingkan dan diketahui hyperparameter mana yang menyebabkan
underfitting, overfitting, dan yang menghasilkan fit model terbaik.
c. Data uji atau yang biasa disebut dengan testing data merupakan data
yang digunakan untuk menguji performa suatu algoritme pembelajaran
mesin satu dengan yang lainnya (misalkan membandingkan performa
algoritme Logistic Regression dengan algoritme Support Vector Machine
dalam klasifikasi digit MNIST). Namun dalam beberapa literatur, data
validasi sering dianggap sama dengan data uji.
Penggunaan pembagian data menjadi kewajiban dalam menangani data yang
jumlahnya besar. Hal ini dikarenakan jika data yang digunakan sedikit, model akan
dilatih pada training data yang lebih sedikit juga dan menyebabkan tidak
terlatihnya model dengan baik. Selain itu validation data yang sedikit juga
menyebabkan generalisasi model menjadi terlalu β€œoptimis” atau dikatakan
memiliki bias yang tinggi. Secara umum, persentase pembagian data untuk training
data:validation data yang sering digunakan adalah 66.6%:33.3%, 75%:25%, dan
80%:20%.
Pada bahasa pemrograman Python, pembagian data dapat dilakukan dengan
menggunakan pustaka Scikit-Learn dengan menjalankan potongan kode pada
Gambar 1.
Gambar 1. Kode untuk Train-Validation Split
Dimana X merupakan fitur input, y merupakan label output, dan train_size merupakan
berapa persen dari dataset yang akan digunakan menjadi training data. X_train dan y_train
merupakan pasangan fitur input dan label output dari training data, sementara X_test dan
y_test merupakan pasangan fitur input dan label output dari validation data / testing data.
Misalkan dataset berjumlah 100.000, ketika train_size ditentukan sebesar 0.7, maka, akan
terdapat 70.000 fitur input dan label output training data dan 30.000 sisanya merupakan
fitur input dan label output validation data / testing data. Pembagian data diilustrasikan
pada Gambar 2.
Gambar 2. Ilustrasi pembagian data
1.1.2 k-Fold Cross Validation
Selain Train-Validation Split, terdapat metode pembagian data lain yang sering ditemui
dalam pembelajaran mesin, yaitu K-Fold Cross Validation. Metode ini seringkali digunakan
ketika ukuran dataset tidak terlalu besar. K-Fold Cross Validation bekerja dengan melatih
dan mengevaluasi model pada sejumlah K kombinasi training data dan testing data yang
berbeda. Dengan demikian, model dilatih dengan data yang tidak terlalu besar akan
memiliki kemampuan generalisasi yang lebih baik dibandingkan dengan menggunakan
Train-Validation Split (Ingat bahwa Train-Validation Split tidak baik jika digunakan pada
data yang tidak terlalu besar). Ilustrasi sederhana dari K-Fold Cross Validation disajikan
pada Gambar 3.
Gambar 3. Ilustrasi 5-Fold Cross Validation
Sebagai contoh, misalkan terdapat data sebanyak 100.000 dan ditentukan nilai K = 5,
maka index pembagian data untuk setiap iterasi adalah sebagai berikut:
1. Iterasi 1:
a. Index Training Data: 20.001 sampai 100.000
b. Index Testing Data: 1 sampai 20.000
2. Iterasi 2:
a. Index Training Data: 1 sampai 20.001 + 40.001 sampai 100.000
b. Index Testing Data: 20.001 sampai 40.000
3. Iterasi 3:
a. Index Training Data: 1 sampai 40.000 + 60.001 sampai 100.000
b. Index Testing Data: 40.001 sampai 60.000
4. Iterasi 4:
a. Index Training Data: 1 sampai 60.000 + 80.001 sampai 100.000
b. Index Testing Data: 60.001 sampai 80.000
5. Iterasi 5:
a. Index Training Data: 1 sampai 80.000
b. Index Testing Data: 80.001 sampai 100.000
Performa model (misalkan akurasi) dari setiap iterasi kemudian dirata-rata dan
dibandingkan dengan performa model lain yang dibentuk dengan hyperparameter
berbeda.
Pada bahasa pemrograman Python, K-Fold Cross Validation dapat dilakukan dengan
menggunakan pustaka Scikit-Learn dengan menjalankan potongan kode yang
ditampilkan pada Gambar 4.
Gambar 4. Kode untuk K-Fold Cross Validation
Pada potongan kode di atas, X adalah fitur input, y adalah output label, cv adalah nilai K
untuk K-Fold Cross Validation, dan model yang digunakan adalah Support Vector Machine
(SVM). Dengan menggunakan potongan kode di atas, proses pembagian data untuk setiap
iterasi K dilakukan otomatis, sehingga tidak perlu repot untuk membagi data dengan
index tertentu. Hasil akurasi untuk setiap iterasi (dalam potongan kode sebanyak 5
iterasi) disimpan di dalam list scores. Fungsi print(scores.mean()) dipanggil untuk
mengetahui rerata akurasi dari setiap iterasi.
1.2 Menentukan Langkah Eksperimen
Gambar 5. Ilustrasi strategi pencarian parameter terbaik
Setiap algoritma dalam pembangunan model memiliki parameter tertentu. Untuk
mendapatkan model terbaik, diperlukan eksperimen dengan beberapa variasi parameter.
Parameter yang menghasilkan model dengan performa terbaik akan dipilih. Terdapat
beberapa strategi pencarian parameter untuk menghasilkan model terbaik, yaitu : (1)
Best Guess, (2) One Factor at Time, (3)Grid Search. Ilustrasi strategi pencarian parameter
terbaik ditunjukkan pada Gambar 5.
1.3 Parameter Evaluasi
Untuk mengetahui performa model yang dibangun, diperlukan parameter evaluasi.
Terdapat beberapa parameter evaluasi berdasarkan jenis task-nya, yaitu
1. Task klasifikasi
Beberapa parameter evaluasi : Akurasi, Presisi, Recall/Sensitivity, Specificity,
F1-measure
2. Task regresi
Beberapa parameter evaluasi : MSE (Mean Squared Error), MAPE (Mean Absolute
Percentage Error)
3. Task klastering
Beberapa parameter evaluasi : Silhouette Score, Davies-Bouldin Index
Parameter Evaluasi akan dijelaskan secara detail pada modul – modul berikutnya.
II. METODE KLASIFIKASI
2.1 Logistic Regression
Logistic Regression adalah algoritma regresi yang digunakan untuk menyelesaikan masalah
klasifikasi. Algoritma merupakan pengembangan dari algoritma Linear Regression dan
bekerja dengan mencari Logistic Function (fungsi logistik) yang dapat membagi data
menjadi 2 kelas dengan baik. Mengapa dikatakan pengembangan dari Linear Regression?
Gambar 6. Linear Regression
Misalkan terdapat data ukuran tumor dan tingkat keganasannya. Ukuran tumor yang
semakin besar akan menyebabkan tumor semakin ganas juga. Pada gambar di atas garis
hijau merupakan garis Linear Regression yang memiliki Fit terbaik untuk 8 titik data. Garis
linear di atas terlihat dapat mengklasifikasi kelas tumor ganas dan tidak ganas dengan
benar (4 tumor tidak ganas berada di kiri garis threshold dan 4 tumor ganas berada di
kanan garis threshold). Namun, ketika terdapat outlier pada data, Fit terbaik dari Linear
Regression akan menghasilkan prediksi yang buruk (Gambar 6).
Gambar 7. Linear Regression gagal membentuk model yang baik
Ketika data memiliki outlier seperti pada Gambar 6, garis Fit terbaik akan berubah
mengikuti data juga. Dalam kasus diatas garis Linear Regression melandai dan
menyebabkan pergeseran titik threshold pada sumbu x. Pergeseran threshold karena
terdapat outlier menyebabkan 2 titik data yang seharusnya merupakan kanker ganas,
jatuh ke bagian kiri garis threshold yang merupakan daerah untuk kanker tidak ganas.
Gambar 8. Logistic Regression berhasil membentuk model yang baik
Hal ini tidak akan terjadi jika menggunakan Logistic Regression, seperti tersaji pada
Gambar 7. Garis yang dibentuk oleh Logistic Regression tidak mengubah posisi threshold
pada sumbu x sehingga tidak ada titik data yang mengalami salah klasifikasi.
Logistic Function yang membentuk garis hijau pada ilustrasi di atas dapat dibentuk
dengan mensubstitusi Linear Function ke dalam Sigmoid Function. Dengan menggunakan
Logistic Function, data yang dimiliki akan direpresentasikan ke dalam bentuk fungsi
sigmoid. Karena menggunakan basis Sigmoid Function, output dari Logistic Function juga
mendapat sifat dari Sigmoid Function yaitu untuk setiap input X maka output y akan selalu
berada dalam rentang 0 sampai dengan 1. Sehingga label atau kelas pertama akan
dianggap sebagai kelas 0 dan label atau kelas kedua akan dianggap sebagai kelas 1. Ketiga
fungsi tersebut dituliskan dalam persamaan di bawah:
πΏπ‘–π‘›π‘’π‘Žπ‘Ÿ πΉπ‘’π‘›π‘π‘‘π‘–π‘œπ‘› = 𝑠 = π‘Šπ‘‡
𝑋 + 𝑏
π‘†π‘–π‘”π‘šπ‘œπ‘–π‘‘ πΉπ‘’π‘›π‘π‘‘π‘–π‘œπ‘› =
1
1 + π‘’βˆ’π‘Ž
πΏπ‘œπ‘”π‘–π‘ π‘‘π‘–π‘ πΉπ‘’π‘›π‘π‘‘π‘–π‘œπ‘› = π‘¦π‘ƒπ‘Ÿπ‘’π‘‘π‘–π‘˜π‘ π‘– =
1
1 + π‘’βˆ’(π‘Šπ‘‡π‘‹ + 𝑏)
Untuk menghasilkan Logistic Function yang baik, diperlukan nilai W dan b yang
menyebabkan nilai Loss seminimum mungkin. Loss pada Logistic Regression dituliskan
pada persamaan berikut:
πΏπ‘œπ‘ π‘  = βˆ’(π‘¦π΄π‘˜π‘‘π‘’π‘Žπ‘™ log(π‘¦π‘ƒπ‘Ÿπ‘’π‘‘π‘–π‘˜π‘ π‘–) + (1 βˆ’ π‘¦π΄π‘˜π‘‘π‘’π‘Žπ‘™)log (1 βˆ’ π‘¦π‘ƒπ‘Ÿπ‘’π‘‘π‘–π‘˜π‘ π‘–))
Algoritma Gradient Descent dapat digunakan untuk mencari nilai π‘Š dan 𝑏 yang
menyebabkan Loss minimum. Pertama, dilakukan pencarian nilai perubahan bobot,
dengan menggunakan aturan turunan rantai sebagai berikut:
π‘‘πΏπ‘œπ‘ π‘ 
π‘‘π‘Š
=
π‘‘πΏπ‘œπ‘ π‘ 
π‘‘π‘¦π‘ƒπ‘Ÿπ‘’π‘‘π‘–π‘˜π‘ π‘–
βˆ—
π‘‘π‘¦π‘ƒπ‘Ÿπ‘’π‘‘π‘–π‘˜π‘ π‘–
𝑑𝑠
βˆ—
𝑑𝑠
π‘‘π‘Š
Dimana untuk persamaan di atas:
π‘‘πΏπ‘œπ‘ π‘ 
π‘‘π‘¦π‘ƒπ‘Ÿπ‘’π‘‘π‘–π‘˜π‘ π‘–
= (βˆ’
π‘¦π΄π‘˜π‘‘π‘’π‘Žπ‘™
π‘¦π‘ƒπ‘Ÿπ‘’π‘‘π‘–π‘˜π‘ π‘–
+
1 βˆ’ π‘¦π΄π‘˜π‘‘π‘’π‘Žπ‘™
1 βˆ’ π‘¦π‘ƒπ‘Ÿπ‘’π‘‘π‘–π‘˜π‘ π‘–
)
π‘‘π‘¦π‘ƒπ‘Ÿπ‘’π‘‘π‘–π‘˜π‘ π‘–
𝑑𝑠
= π‘¦π‘ƒπ‘Ÿπ‘’π‘‘π‘–π‘˜π‘ π‘– βˆ— (1 βˆ’ π‘¦π‘ƒπ‘Ÿπ‘’π‘‘π‘–π‘˜π‘ π‘–)
𝑑𝑠
π‘‘π‘Š
= 𝑋
Dari penjabaran di atas, aturan turunan rantai dari
π‘‘πΏπ‘œπ‘ π‘ 
π‘‘π‘Š
dapat disederhanakan menjadi:
π‘‘πΏπ‘œπ‘ π‘ 
π‘‘π‘Š
= 𝑋 βˆ— (π‘¦π‘ƒπ‘Ÿπ‘’π‘‘π‘–π‘˜π‘ π‘– βˆ’ π‘¦π΄π‘˜π‘‘π‘’π‘Žπ‘™)
Setelah didapatkan nilai perubahan bobot
π‘‘πΏπ‘œπ‘ π‘ 
π‘‘π‘Š
, maka selanjutnya hitung nilai W baru
dengan persamaan:
π‘Šπ‘π‘Žπ‘Ÿπ‘’ = π‘Šπ‘™π‘Žπ‘šπ‘Ž βˆ’ (πΏπ‘’π‘Žπ‘Ÿπ‘›π‘–π‘›π‘”π‘…π‘Žπ‘‘π‘’ βˆ—
π‘‘πΏπ‘œπ‘ π‘ 
π‘‘π‘Š
)
Pada bahasa pemrograman Python, Logistic Regression dapat dilakukan dengan
menggunakan pustaka Scikit-Learn dengan menjalankan potongan kode berikut:
Gambar 9. Kode untuk Logistic Regression
Perlu diingat bahwa algoritma Logistic Regression merupakan algoritma
klasifikasi 2 kelas, sehingga ketika menggunakan data yang memiliki kelas lebih
dari 2, dapat menggunakan skema pelatihan One-versus-Rest seperti yang secara
otomatis diterapkan oleh pustaka Scikit-Learn.
2.2 Support Vector Machine
Support Vector Machine (SVM) adalah salah satu algoritma klasifikasi dalam bidang
pembelajaran mesin. Ide utama dari SVM adalah untuk menemukan hyperplane terbaik
yang memisahkan 2 daerah keputusan dengan baik. Secara umum, SVM bekerja dengan
mengikuti langkah-langkah berikut:
4. fitur-fitur dari data dipetakan ke dalam ruang dimensi tinggi menggunakan fungsi
kernel (linear, polynomial, sigmoid, atau radial basis function). Artinya, dengan
menggunakan fungsi kernel, akan dihasilkan fitur-fitur baru yang akan digunakan
untuk mengklasifikasi (tidak lagi menggunakan fitur-fitur lama). Masing-masing
fungsi kernel dirumuskan sebagai berikut:
a. Kernel Linear
𝐾(π‘₯𝑖, π‘₯𝑗) = π‘₯𝑖
𝑇
π‘₯𝑗
b. Kernel Polynomial
𝐾(π‘₯𝑖, π‘₯𝑗) = (𝛾π‘₯𝑖
𝑇
π‘₯𝑗 + π‘Ÿ)
𝑑
, 𝛾 > 0
c. Kernel Sigmoid
𝐾(π‘₯𝑖, π‘₯𝑗) = tanh (π‘₯𝑖
𝑇
π‘₯𝑗 + π‘Ÿ)
d. Kernel Radial Basis Function
𝐾(π‘₯𝑖, π‘₯𝑗) = exp (βˆ’π›Ύ ||π‘₯𝑖
𝑇
βˆ’ π‘₯𝑗||
2
) , 𝛾 > 0
5. Mencari hyperplane terbaik yang memisahkan data yang telah dipetakan dalam
ruang dimensi tinggi. Hyperplane terbaik dapat diperoleh dengan memaksimalkan
jarak hyperplane dengan titik data terdekat (Support Vectors).
6.
Gambar 10. Support Vector Machine
Contoh penggunaan kernel, adalah sebagai berikut. Misalkan digunakan fungsi kernel
Radial Basis Function dengan data π‘₯ = π‘₯1, π‘₯2, . . . , π‘₯𝑛. Fitur-fitur hasil kernel RBF
dimisalkan sebagai 𝑓 = 𝑓1 , 𝑓2, . . . π‘“π‘š, dimana fitur-fitur tersebut digunakan untuk
menentukan hasil klasifikasi sebagai berikut (𝑀 adalah bobot, 𝑓 adalah fitur):
𝑖𝑓: 𝑀1𝑓1 + 𝑀2𝑓2 + β‹― + π‘€π‘šπ‘“π‘š > 0, π‘‘β„Žπ‘’π‘›: π‘π‘™π‘Žπ‘ π‘  = 1, 𝑒𝑙𝑠𝑒: π‘π‘™π‘Žπ‘ π‘  = 0
Nilai 𝑓 dapat dicari dengan 𝑓 = 𝐾(π‘₯𝑖, π‘₯𝑗) = exp(βˆ’π›Ύ ||π‘₯𝑖
𝑇
βˆ’ π‘₯𝑗||
2
). Untuk sementara,
substitusikan π‘₯𝑗 dengan suatu titik random 𝑙, sehingga persamaan akan diubah sementara
menjadi 𝑓1 = 𝐾(π‘₯𝑖, 𝑙) = exp(βˆ’π›Ύ ||π‘₯𝑖
𝑇
βˆ’ 𝑙||
2
). Dengan menggunakan fungsi kernel RBF
dan memahami bahwa ||π‘₯𝑖
𝑇
βˆ’ 𝑙||
2
adalah jarak antara π‘₯𝑖 dengan titik 𝑙, maka dapat
disimpulkan bahwa ketika suatu titik data π‘₯𝑖 berada sangat dekat dengan titik 𝑙, maka
nilai 𝑓 akan mendekati 1, sebaliknya jika π‘₯𝑖 semakin jauh dengan titik 𝑙, maka nilai 𝑓 akan
mendekati 0.
Sebagai contoh misalkan dimiliki data sebagai berikut: π‘₯1 = [2,2], 𝑙 = [2,2], dan 𝛾 = 20.
Maka nilai dari 𝑓1 adalah
𝑓1 = 𝐾(π‘₯1, 𝑙) = exp(βˆ’π›Ύ ||π‘₯𝑖
𝑇
βˆ’ 𝑙||
2
)
𝑓1 = exp(0) = 1
Contoh diatas dapat divisualisasikan pada Gambar 10, dimana ketika titik berada semakin
dekat dengan titik 𝑙 = [2, 2] maka nilai 𝑓1 akan mendekati 1 (posisi pada bidang dimensi
tingginya semakin memuncak), sebaliknya ketika ada titik π‘₯_2 = [3,1] yang berada jauh
dari titik titik 𝑙 = [2, 2], maka nilai 𝑓1 akan mendekati 0.
Gambar 11. Nilai f1 tiap titik ditentukan oleh jarak terhadap puncak
Posisi titik l pada kenyataannya merupakan semua titik data π‘₯ = π‘₯1, π‘₯2, … , π‘₯𝑛, oleh
karena itu persamaan di awal dituliskan 𝑓 = 𝐾(π‘₯𝑖, π‘₯𝑗) = exp(βˆ’π›Ύ ||π‘₯𝑖
𝑇
βˆ’ π‘₯𝑗||
2
). Dengan
kata lain tiap-tiap π‘₯ akan difungsi kernelkan dengan π‘₯ lainnya dan menghasilkan fitur
𝑓 sebanyak π‘š.
𝑓1 = 𝐾(π‘₯1, π‘₯1) = exp(βˆ’π›Ύ ||π‘₯1
𝑇
βˆ’ π‘₯1||
2
)
𝑓2 = 𝐾(π‘₯1, π‘₯2) = exp(βˆ’π›Ύ ||π‘₯1
𝑇
βˆ’ π‘₯2||
2
)
…
π‘“π‘š = 𝐾(π‘₯𝑛, π‘₯𝑛) = exp(βˆ’π›Ύ||π‘₯𝑛
𝑇
βˆ’ π‘₯𝑛||
2
)
Dari persamaan sebelumnya yaitu:
𝑖𝑓: 𝑀1𝑓1 + 𝑀2𝑓2 + β‹― + π‘€π‘šπ‘“
π‘š > 0, π‘‘β„Žπ‘’π‘›: π‘π‘™π‘Žπ‘ π‘  = 1, 𝑒𝑙𝑠𝑒: π‘π‘™π‘Žπ‘ π‘  = 0, selama
berjalannya proses learning, akan banyak fitur 𝑓 yang akan tereliminasi karena
memperoleh nilai 𝑀 sebesar 0. Dari fitur 𝑓 yang tersisa, dapat dilihat π‘₯ mana saja yang
menjadi titik 𝑙 (sering muncul berarti memiliki jarak yang dekat dengan banyak titik).
Terdapat parameter-parameter yang dapat diubah untuk menghasilkan hyperplane
pemisah terbaik, diantaranya adalah parameter C dan parameter 𝛾. Parameter
regularisasi C digunakan dalam SVM untuk menemukan jarak terbaik dari hyperplane.
Nilai C yang terbaik harus dicari agar SVM terjadi keseimbangan antara jarak
semaksimal dan kesalahan klasifikasi seminimal mungkin. Nilai C yang tinggi
menyebabkan bahwa model akan menerima lebih banyak penalti ketika model gagal
mengklasifikasikan data dengan tepat. Sebaliknya nilai C yang rendah menyebabkan
bahwa model akan mentolerir data yang salah diklasifikasikan. Nilai C yang rendah
biasanya baik digunakan pada data yang memiliki banyak noise, sebaliknya nilai C yang
tinggi biasanya baik digunakan pada data yang memiliki sedikit noise.
Gambar 12. Pengaruh parameter C pada SVM
Sumber: https://learnopencv.com/svm-using-scikit-learn-in-python/
Selain parameter C, pada kernel Radial Basis Function terdapat parameter 𝛾. Nilai 𝛾 yang
besar akan menghasilkan kelengkungan yang tajam pada ruang dimensi tinggi.
Sebaliknya, nilai 𝛾 yang kecil akan menghasilkan ruang dimensi tinggi yang lebih landau
(Gambar 12). Pasangan nilai parameter C dan 𝛾 harus ditemukan agar SVM dapat
menggeneralisasi data dengan baik.
Gambar 13. Visualisasi kelengkungan akibat parameter Ξ³
Gambar 14. Pengaruh parameter Ξ³ pada SVM
Pada bahasa pemrograman Python, Support Vector Machine dapat dilakukan dengan
menggunakan pustaka Scikit-Learn dengan menjalankan potongan kode pada Gambar 14.
Gambar 15. Potongan kode untuk SVM
Beberapa parameter dapat diubah ketika menggunakan SVM dari pustaka Scikit-Learn,
antara lain pada tabel berikut dan Gambar 15.
Parameter Keterangan Contoh Nilai
kernel Memilih kernel untuk
SVM
-β€˜linear’ untuk linear kernel
-β€˜poly’ untuk polynomial kernel
-β€˜rbf’ untuk radial basis function kernel
- Nilai default : rbf
C Parameter regularisasi
SVM untuk semua
kernel
-Bilangan Float positif (…, 0.1, 0.5, 1.0, 1.5 , …)
-Nilai default = 1.0
gamma Parameter koefisien
kernel untuk β€˜poly’
dan β€˜rbf’
-Bilangan Float positif (…, 0.001, 0.01, 0.1, 1, …)
degree Derajat polynomial
untuk kernel β€˜poly’)
- Bilangan Integer (2,3,4,….)
- Nilai default : 3
Gambar 16. Potongan kode untuk penggunaan parameter SVM
2.3 Decision Tree
Decision Tree (Pohon Keputusan) merupakan salah satu algoritma pembelajaran
mesin yang mengklasifikasi dengan mengambil suatu keputusan antara benar atau
tidaknya suatu aturan. Kelebihan dari algoritma Decision Tree adalah input yang
digunakan boleh berupa tipe data apapun (String, Integer, Float, Boolean, dll),
diilustrasikan secara sederhana pada gambar di bawah:
Gambar 17. Decision Tree sederhana
Bagian paling puncak dari pohon keputusan (Hari Libur?) disebut dengan root node. Bagian
selanjutnya dari pohon keputusan adalah branch, pada gambar di atas digambarkan oleh
node (Jam > 17.00?). Terakhir leaves merupakan node yang berisi kelas dari permasalahan
yang ingin diklasifikasikan.
Salah satu cara membangun Decision Tree adalah dengan menggunakan
perhitungan Gini Impurity. Gini Impurity untuk leaf dari Decision Tree dapat dihitung
menggunakan persamaan berikut:
𝐺𝑖𝑛𝑖 πΌπ‘šπ‘π‘’π‘Ÿπ‘–π‘‘π‘¦ = 1 βˆ’ (π‘ƒπ‘Ÿπ‘œπ‘π‘Žπ‘π‘–π‘™π‘–π‘‘π‘Žπ‘ (π‘Œπ‘Ž))
2
βˆ’ (π‘ƒπ‘Ÿπ‘œπ‘π‘Žπ‘π‘–π‘™π‘–π‘‘π‘Žπ‘ (π‘‡π‘–π‘‘π‘Žπ‘˜))
2
Misalkan dimiliki data seperti pada Gambar 17 (data modifikasi dari Youtube StatQuest
with Josh Starmer).
Gambar 18. Data untuk Decision Tree
Untuk menentukan root, perlu dicari Gini Impurity terkecil dari β€œKebutuhan Primer”,
β€œSudah Gajian”, dan β€œHarga Barang” terhadap β€œBeli”. Gini Impurity β€œKebutuhan Primer”
terhadap β€œBeli” dapat diilustrasikan pada Gambar 18.
Gambar 19. Pembentukan Decision Tree Langkah 1
Total Gini Impurity dapat dihitung dengan weighted average dari Gini Impurity kedua
leaves. Jumlah kemunculan β€œYa” untuk kebutuhan primer sebanyak 4 dan jumlah
kemunculan β€œTidak” untuk kebutuhan primer sebanyak 3, maka weighted average Gini
Impurity dapat dihitung dengan (terdapat di gambar): Gini Impurity leaf kiri * 4 / (4+3) +
Gini Impurity leaf kanan * 3 / (4+3). Dengan cara yang sama, Gini Impurity β€œSudah Gajian”
terhadap β€œBeli” dihitung dan diilustrasikan pada Gambar 19.
Gambar 20. Pembentukan Decision Tree Langkah 2
Karena β€œHarga Barang” memiliki variabel kontinu, Gini Impurity β€œHarga Barang” terhadap
β€œBeli” dihitung dengan cara yang sedikit berbeda. Pertama, data harus diurutkan
berdasarkan β€œHarga Barang” terkecil ke β€œHarga Barang” terbesar. Kemudian untuk setiap
data yang berdekatan, hitung Gini Impurity untuk rata-rata β€œHarga Barang” kedua data yang
berdekatan. Pada Gambar 20, dihitung Gini Impurity untuk β€œHarga Barang” > 9500.
Gambar 21. Pembentukan Decision Tree Langkah 3
Dengan cara yang sama, hitung Gini Impurity untuk 15000, 26500, 36500, 44000, dan
66500. Setelah itu ambil Gini Impurity terkecil sebagai kandidat root. Jika ada lebih dari 1
yang sama, maka bebas menentukan yang mana yang ingin digunakan sebagai root.
Gambar 22. Pembentukan Decision Tree Langkah 4
Setelah proses diatas, didapatkan Gini Impurity dari β€œKebutuhan Primer”, β€œSudah Gajian”,
dan β€œHarga Barang” terhadap β€œBeli” secara berurutan 0.4, 0.22, dan 0.34. Karena Gini
Impurity β€œSudah Gajian” terhadap ”Beli” merupakan yang terkecil (0.22), maka β€œSudah
Gajian” dijadikan root dari Decision Tree. Maka Decision Tree sementara menjadi seperti
pada Gambar 22.
Gambar 23. Decision Tree sementara
Karena Gini Impurity leaf kanan adalah 0, maka tidak perlu di-split lagi. Oleh karena itu
hanya leaf kiri yang perlu di-split. Leaf kiri dapat di-split dengan mencari Gini Impurity
terkecil dari β€œKebutuhan Primer” atau β€œHarga Barang”. Cara yang dilakukan sama, namun
data yang digunakan lebih sedikit karena telah tersaring oleh Decision root. Contoh untuk
β€œKebutuhan Primer” dan β€œHarga Barang” tersaji pada Gambar 23 dan 24.
Gambar 24. Pembentukan Decision Tree Langkah 5
Gambar 25. Pembentukan Decision Tree Langkah 6
Ingat untuk data kontinu, perlu dihitung Gini Impurity dari data berdekatan. Karena Gini
Impurity dari β€œHarga Barang > 15000” lebih kecil dibandingkan dengan Gini Impurity
β€œKebutuhan Primer”, maka β€œHarga Barang > 15000” dipilih sebagai branch. Tidak
diperlukan proses split lagi karena Gini Impurity dari seluruh leaves sudah mencapai 0.
Sehingga Decision Tree yang dihasilkan adalah seperti pada Gambar 25.
Gambar 26. Hasil akhir Decision Tree
Untuk mencegah agar Decision Tree tidak mengalami overfitting, nilai maximum kedalaman
tree dapat ditentukan. Selain itu nilai minimum sampel data yang diperlukan agar node
mengalami split juga dapat ditentukan agar Decision Tree tidak mengalami overfitting.
Pada bahasa pemrograman Python, Decision Tree dapat dilakukan dengan menggunakan
pustaka Scikit-Learn dengan menjalankan potongan kode pada Gambar 26.
Gambar 27. Potongan kode untuk Decision Tree
Beberapa parameter dapat diubah nilainya, antara lain adalah parameter max_depth dan
min_samples_split, dengan penjelasan pada tabel berikut dan Gambar 27.
Parameter Keterangan Contoh Nilai
max_depth Maksimum kedalaman
tree yang dibentuk
- Bilangan Integer (1,2,3,4,….)
- Nilai default : None (jika None maka
tree akan terus mendalam sampai
seluruh Gini Impurity = 0)
min_samples_split Minimum sampel yang
diperlukan agar node
dapat β€˜split’
- Bilangan Integer (1,2,3,4,….)
- Nilai default : 2
Gambar 28. Potongan kode untuk penggunaan parameter Decision Tree
2.4 NaΓ―ve Bayes Classifier
NaΓ―ve Bayes Classifier adalah model probabilistik untuk klasifikasi. Terdapat dua
model probabilistik, yaitu :
a. Discriminative Model
b. Generative Model
Untuk menentukan kelas, digunakan MAP (Maximum A Posterior) Classification
Rule. Assign
NaΓ―ve Bayes Classifier menerapkan Bayesian Rule
Contoh Kasus :
Terdapat 14 data latih. Data memiliki 4 atribut (Outlook, Temperature, Humidity
dan Wind). Data latih terdiri dari dua kelas (kelas YES dan kelas NO untuk bermain
tenis). Diperlukan klasifikasi untuk menentukan kelas dari data uji, apakah
bermain tenis (YES) atau tidak (NO).
Berdasarkan data latih tersebut, dilakukan perhitungan sebagai berikut :
Untuk menentukan kelas pada data uji, menggunakan MAP Classification Rule,
sebagai berikut :
NaΓ―ve Bayes Classifier memiliki karakter sebagai berikut :
β€’ NaΓ―ve Bayes Classifier bekerja lebih baik pada training data yang kecil
β€’ Proses pembangunan NaΓ―ve Bayes Classifier pada data numerik menjadi
lebih rumit dan memungkinkan terdapat informasi yang hilang
β€’ Pada NaΓ―ve Bayes Classifier, diasumsikan bahwa satu fitur dengan fitur
yang lain saling independen, hal ini mungkin tidak selalu terjadi pada kasus
nyata
2.5 k-Nearest Neighbor
Metode k-Nearest Neighbor Classifier menentukan kelas/label dari suatu data uji
berdasarkan label dari data – data latih sekitarnya. Ilustrasi ditunjukkan pada
Gambar 28.
Gambar 29. Ilustrasi k-nearest neighbor
Algoritma untuk k-nearest neighbor sebagai beirkut :
1. Menentukan nilai k
2. Menghitung jarak antara data baru terhadap semua training data
3. Mengidentifikasi k nearest neighbor
4. Menentukan label/kelas data baru berdasarkan kelas k-nearest neighbor
(dapat menggunakan voting)
Karakter dari algoritma k-nearest neighbor dapat dituliskan sebagai beirkut :
1. Cocok untuk data numerik
2. Mudah dipahami dan diimplementasikan
3. k-NN merupakan lazy learner (tidak membangun model secara eksplisit)
4. Penentuan label/kelas data baru membutuhkan computational cost yang
cukup tinggi
5. Perlu menentukan nilai k yang sesuai
a. Jika k terlalu kecil, sensitif terhadap noise
b. Jika k terlalu besar, nearest neigbor mungkin mencakup data dari
kelas lain
2.6 Boosting Algorithm
Boosting Algorithm merupakan salah satu strategi dari ensemble untuk mengubah
suatu weak model menjadi strong model. Konsep dari Boosting Algorithm adalah
mengkombinasikan hasil prediksi dari setiap weak model untuk menjadi strong
model dengan metode Average/Weighted Average dan Higher voting.
Terdapat beberapa tipe Boosting Algorithm, yaitu : (1) AdaBoost (Adaptive
Boosting) ; (2) Gradient Tree Boosting dan (3) XGBoost. Ilustrasi cara kerja
Boosting Algorithm ditunjukkan pada Gambar 39.
Gambar 309. Ilustrasi Boosting Algorithm
Adaboost (Adaptive Boosting) Algorithm memiliki prinsip kerja dengan
mengidentifikasi miss-classified data. Setelah teridentifikasi, kemudian miss-
classified data tersebut, diberikan bobot lebih, sehingga classifier berikutnya
memberikan perhatian lebih terhadap hal tersebut. Ilustrasi cara kerja AdaBoost
Algorithm ditunjukkan pada Gambar 30.
Gambar 30. Ilustrasi Boosting Algorithm
Tugas Dan Proyek Pelatihan
1. Gunakan dataset Iris (https://archive.ics.uci.edu/ml/datasets/iris)
2. Data dibagi dengan proporsi :
a. Data Latih (70%)
b. Data Uji (30%)
3. Gunakan metode klasifikasi dengan parameter tuning untuk mendapatkan akurasi terbaik
4. Terapkan Adaboost algorithm dan lakukan analisa perbandingan terhadap performa yang dihasilkan
dari metode klasifikasi sebelumnya
Link Referensi Modul Sebelas
β€’ CM Bishop, 2006, Pattern Recognition and Machine Learning, Springer
β€’ https://medium.com/the-owl/k-fold-cross-validation-in-keras-3ec4a3a00538
β€’ https://learnopencv.com/svm-using-scikit-learn-in-python/
β€’ https://towardsdatascience.com/boosting-algorithms-explained-d38f56ef3f30
β€’ https://www.analyticsvidhya.com/blog/2015/11/quick-introduction-boosting-algorithms-
machine-learning
β€’ https://www.datacamp.com/community/tutorials/adaboost-classifier-python
β€’ https://medium.com/@MohammedS/performance-metrics-for-classification-problems-in-
machine-learning-part-i-b085d432082b
Link Pertanyaan Modul Sebelas
Bahan Tayang Sebelas
Power Point
Link room Pelatihan dan Jadwal live sesi bersama instruktur
Zoom
Penilaian
Komposisi penilaian Tugas Membangun Model 1: Nilai 100
Target Penyelesaian Modul Pertama
1 hari / sampai 6 JP
11 ta dts2021-11-v2

More Related Content

What's hot

Slide tentang Kecerdasan Buatan
Slide tentang Kecerdasan BuatanSlide tentang Kecerdasan Buatan
Slide tentang Kecerdasan Buatanyogiteddywardhana
Β 
Data Mining - Naive Bayes
Data Mining - Naive BayesData Mining - Naive Bayes
Data Mining - Naive Bayesdedidarwis
Β 
Testing&implementasi 4
Testing&implementasi 4Testing&implementasi 4
Testing&implementasi 4aiiniR
Β 
Pertemuan 5 dan 6 representasi pengetahuan
Pertemuan 5 dan 6 representasi pengetahuan Pertemuan 5 dan 6 representasi pengetahuan
Pertemuan 5 dan 6 representasi pengetahuan Topan Helmi Nicholas
Β 
15. modul model evaluasi v 0.6
15. modul model evaluasi v 0.615. modul model evaluasi v 0.6
15. modul model evaluasi v 0.6ArdianDwiPraba
Β 
7. ta 2021-07-visualisasi-modul-ariw-2021-07-17-v2
7. ta 2021-07-visualisasi-modul-ariw-2021-07-17-v27. ta 2021-07-visualisasi-modul-ariw-2021-07-17-v2
7. ta 2021-07-visualisasi-modul-ariw-2021-07-17-v2ArdianDwiPraba
Β 
Algoritma Apriori
Algoritma AprioriAlgoritma Apriori
Algoritma Aprioridedidarwis
Β 
Pertemuan 9 Representasi Pengetahuan
Pertemuan 9 Representasi PengetahuanPertemuan 9 Representasi Pengetahuan
Pertemuan 9 Representasi PengetahuanEndang Retnoningsih
Β 
Perancangan Data Warehouse (Logical dan Physical)
Perancangan Data Warehouse (Logical dan Physical)Perancangan Data Warehouse (Logical dan Physical)
Perancangan Data Warehouse (Logical dan Physical)dedidarwis
Β 
Pertemuan 11-12 Ketidakpastian (Uncertainty)
Pertemuan 11-12 Ketidakpastian (Uncertainty)Pertemuan 11-12 Ketidakpastian (Uncertainty)
Pertemuan 11-12 Ketidakpastian (Uncertainty)Endang Retnoningsih
Β 
UML Aplikasi Rental Mobil
UML Aplikasi Rental MobilUML Aplikasi Rental Mobil
UML Aplikasi Rental MobilDwi Mardianti
Β 
4 diagram relasi antar entitas (ERD)
4 diagram relasi antar entitas (ERD)4 diagram relasi antar entitas (ERD)
4 diagram relasi antar entitas (ERD)Simon Patabang
Β 
MAKALAH PERANCANGAN PENJUALAN BAJU ONLINE
MAKALAH PERANCANGAN PENJUALAN BAJU ONLINEMAKALAH PERANCANGAN PENJUALAN BAJU ONLINE
MAKALAH PERANCANGAN PENJUALAN BAJU ONLINEChairun Nisa
Β 
169974199 sistem-penjualan-tiket-pesawat-tugas-akhir-mata-kuliah-rekayasa-per...
169974199 sistem-penjualan-tiket-pesawat-tugas-akhir-mata-kuliah-rekayasa-per...169974199 sistem-penjualan-tiket-pesawat-tugas-akhir-mata-kuliah-rekayasa-per...
169974199 sistem-penjualan-tiket-pesawat-tugas-akhir-mata-kuliah-rekayasa-per...ruslansahropi1
Β 
Sentiment analysis
Sentiment analysisSentiment analysis
Sentiment analysisike kurniati
Β 
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQLLaporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQLShofura Kamal
Β 

What's hot (20)

Slide tentang Kecerdasan Buatan
Slide tentang Kecerdasan BuatanSlide tentang Kecerdasan Buatan
Slide tentang Kecerdasan Buatan
Β 
Data Mining - Naive Bayes
Data Mining - Naive BayesData Mining - Naive Bayes
Data Mining - Naive Bayes
Β 
Testing&implementasi 4
Testing&implementasi 4Testing&implementasi 4
Testing&implementasi 4
Β 
Metode sugeno
Metode sugenoMetode sugeno
Metode sugeno
Β 
Pertemuan 5 dan 6 representasi pengetahuan
Pertemuan 5 dan 6 representasi pengetahuan Pertemuan 5 dan 6 representasi pengetahuan
Pertemuan 5 dan 6 representasi pengetahuan
Β 
15. modul model evaluasi v 0.6
15. modul model evaluasi v 0.615. modul model evaluasi v 0.6
15. modul model evaluasi v 0.6
Β 
7. ta 2021-07-visualisasi-modul-ariw-2021-07-17-v2
7. ta 2021-07-visualisasi-modul-ariw-2021-07-17-v27. ta 2021-07-visualisasi-modul-ariw-2021-07-17-v2
7. ta 2021-07-visualisasi-modul-ariw-2021-07-17-v2
Β 
Algoritma Apriori
Algoritma AprioriAlgoritma Apriori
Algoritma Apriori
Β 
Pertemuan 9 Representasi Pengetahuan
Pertemuan 9 Representasi PengetahuanPertemuan 9 Representasi Pengetahuan
Pertemuan 9 Representasi Pengetahuan
Β 
Perancangan Data Warehouse (Logical dan Physical)
Perancangan Data Warehouse (Logical dan Physical)Perancangan Data Warehouse (Logical dan Physical)
Perancangan Data Warehouse (Logical dan Physical)
Β 
Pertemuan 11-12 Ketidakpastian (Uncertainty)
Pertemuan 11-12 Ketidakpastian (Uncertainty)Pertemuan 11-12 Ketidakpastian (Uncertainty)
Pertemuan 11-12 Ketidakpastian (Uncertainty)
Β 
UML Aplikasi Rental Mobil
UML Aplikasi Rental MobilUML Aplikasi Rental Mobil
UML Aplikasi Rental Mobil
Β 
4 diagram relasi antar entitas (ERD)
4 diagram relasi antar entitas (ERD)4 diagram relasi antar entitas (ERD)
4 diagram relasi antar entitas (ERD)
Β 
MAKALAH PERANCANGAN PENJUALAN BAJU ONLINE
MAKALAH PERANCANGAN PENJUALAN BAJU ONLINEMAKALAH PERANCANGAN PENJUALAN BAJU ONLINE
MAKALAH PERANCANGAN PENJUALAN BAJU ONLINE
Β 
Erd dan contoh kasus
Erd dan contoh kasusErd dan contoh kasus
Erd dan contoh kasus
Β 
169974199 sistem-penjualan-tiket-pesawat-tugas-akhir-mata-kuliah-rekayasa-per...
169974199 sistem-penjualan-tiket-pesawat-tugas-akhir-mata-kuliah-rekayasa-per...169974199 sistem-penjualan-tiket-pesawat-tugas-akhir-mata-kuliah-rekayasa-per...
169974199 sistem-penjualan-tiket-pesawat-tugas-akhir-mata-kuliah-rekayasa-per...
Β 
Sentiment analysis
Sentiment analysisSentiment analysis
Sentiment analysis
Β 
Analisis Kebutuhan Sistem Informasi
Analisis Kebutuhan Sistem InformasiAnalisis Kebutuhan Sistem Informasi
Analisis Kebutuhan Sistem Informasi
Β 
1 modul 1
1 modul 11 modul 1
1 modul 1
Β 
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQLLaporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
Β 

Similar to 11 ta dts2021-11-v2

STOCK PRICE PREDICTION USING MACHINE LEARNING [RANDOM FOREST REGRESSION MODEL]
STOCK PRICE PREDICTION USING MACHINE LEARNING [RANDOM FOREST REGRESSION MODEL]STOCK PRICE PREDICTION USING MACHINE LEARNING [RANDOM FOREST REGRESSION MODEL]
STOCK PRICE PREDICTION USING MACHINE LEARNING [RANDOM FOREST REGRESSION MODEL]IRJET Journal
Β 
Tuning 2.0: Advanced Optimization Techniques Webinar
Tuning 2.0: Advanced Optimization Techniques WebinarTuning 2.0: Advanced Optimization Techniques Webinar
Tuning 2.0: Advanced Optimization Techniques WebinarSigOpt
Β 
Start machine learning in 5 simple steps
Start machine learning in 5 simple stepsStart machine learning in 5 simple steps
Start machine learning in 5 simple stepsRenjith M P
Β 
Creating Your First Predictive Model In Python
Creating Your First Predictive Model In PythonCreating Your First Predictive Model In Python
Creating Your First Predictive Model In PythonRobert Dempsey
Β 
Machine Learning for .NET Developers - ADC21
Machine Learning for .NET Developers - ADC21Machine Learning for .NET Developers - ADC21
Machine Learning for .NET Developers - ADC21GΓΌlden BilgΓΌtay
Β 
A case study in using ibm watson studio machine learning services ibm devel...
A case study in using ibm watson studio machine learning services   ibm devel...A case study in using ibm watson studio machine learning services   ibm devel...
A case study in using ibm watson studio machine learning services ibm devel...Einar Karlsen
Β 
Military Aircraft Detection using Deep Learning model.
Military Aircraft Detection using Deep Learning model.Military Aircraft Detection using Deep Learning model.
Military Aircraft Detection using Deep Learning model.076TalathUnNabiAnik
Β 
Key projects Data Science and Engineering
Key projects Data Science and EngineeringKey projects Data Science and Engineering
Key projects Data Science and EngineeringVijayananda Mohire
Β 
Key projects Data Science and Engineering
Key projects Data Science and EngineeringKey projects Data Science and Engineering
Key projects Data Science and EngineeringVijayananda Mohire
Β 
Workshop: Your first machine learning project
Workshop: Your first machine learning projectWorkshop: Your first machine learning project
Workshop: Your first machine learning projectAlex Austin
Β 
Net campus2015 antimomusone
Net campus2015 antimomusoneNet campus2015 antimomusone
Net campus2015 antimomusoneDotNetCampus
Β 
PREDICT THE FUTURE , MACHINE LEARNING & BIG DATA
PREDICT THE FUTURE , MACHINE LEARNING & BIG DATAPREDICT THE FUTURE , MACHINE LEARNING & BIG DATA
PREDICT THE FUTURE , MACHINE LEARNING & BIG DATADotNetCampus
Β 
Azure machine learning service
Azure machine learning serviceAzure machine learning service
Azure machine learning serviceRuth Yakubu
Β 
DevOps for Machine Learning overview en-us
DevOps for Machine Learning overview en-usDevOps for Machine Learning overview en-us
DevOps for Machine Learning overview en-useltonrodriguez11
Β 
IRJET- Automated CV Classification using Clustering Technique
IRJET- Automated CV Classification using Clustering TechniqueIRJET- Automated CV Classification using Clustering Technique
IRJET- Automated CV Classification using Clustering TechniqueIRJET Journal
Β 
The Power of Auto ML and How Does it Work
The Power of Auto ML and How Does it WorkThe Power of Auto ML and How Does it Work
The Power of Auto ML and How Does it WorkIvo Andreev
Β 
Identifying and classifying unknown Network Disruption
Identifying and classifying unknown Network DisruptionIdentifying and classifying unknown Network Disruption
Identifying and classifying unknown Network Disruptionjagan477830
Β 
Post Graduate Admission Prediction System
Post Graduate Admission Prediction SystemPost Graduate Admission Prediction System
Post Graduate Admission Prediction SystemIRJET Journal
Β 

Similar to 11 ta dts2021-11-v2 (20)

STOCK PRICE PREDICTION USING MACHINE LEARNING [RANDOM FOREST REGRESSION MODEL]
STOCK PRICE PREDICTION USING MACHINE LEARNING [RANDOM FOREST REGRESSION MODEL]STOCK PRICE PREDICTION USING MACHINE LEARNING [RANDOM FOREST REGRESSION MODEL]
STOCK PRICE PREDICTION USING MACHINE LEARNING [RANDOM FOREST REGRESSION MODEL]
Β 
Tuning 2.0: Advanced Optimization Techniques Webinar
Tuning 2.0: Advanced Optimization Techniques WebinarTuning 2.0: Advanced Optimization Techniques Webinar
Tuning 2.0: Advanced Optimization Techniques Webinar
Β 
Start machine learning in 5 simple steps
Start machine learning in 5 simple stepsStart machine learning in 5 simple steps
Start machine learning in 5 simple steps
Β 
Creating Your First Predictive Model In Python
Creating Your First Predictive Model In PythonCreating Your First Predictive Model In Python
Creating Your First Predictive Model In Python
Β 
Machine Learning for .NET Developers - ADC21
Machine Learning for .NET Developers - ADC21Machine Learning for .NET Developers - ADC21
Machine Learning for .NET Developers - ADC21
Β 
A case study in using ibm watson studio machine learning services ibm devel...
A case study in using ibm watson studio machine learning services   ibm devel...A case study in using ibm watson studio machine learning services   ibm devel...
A case study in using ibm watson studio machine learning services ibm devel...
Β 
Military Aircraft Detection using Deep Learning model.
Military Aircraft Detection using Deep Learning model.Military Aircraft Detection using Deep Learning model.
Military Aircraft Detection using Deep Learning model.
Β 
Key projects Data Science and Engineering
Key projects Data Science and EngineeringKey projects Data Science and Engineering
Key projects Data Science and Engineering
Β 
Key projects Data Science and Engineering
Key projects Data Science and EngineeringKey projects Data Science and Engineering
Key projects Data Science and Engineering
Β 
Workshop: Your first machine learning project
Workshop: Your first machine learning projectWorkshop: Your first machine learning project
Workshop: Your first machine learning project
Β 
Net campus2015 antimomusone
Net campus2015 antimomusoneNet campus2015 antimomusone
Net campus2015 antimomusone
Β 
PREDICT THE FUTURE , MACHINE LEARNING & BIG DATA
PREDICT THE FUTURE , MACHINE LEARNING & BIG DATAPREDICT THE FUTURE , MACHINE LEARNING & BIG DATA
PREDICT THE FUTURE , MACHINE LEARNING & BIG DATA
Β 
Azure machine learning service
Azure machine learning serviceAzure machine learning service
Azure machine learning service
Β 
Aws autopilot
Aws autopilotAws autopilot
Aws autopilot
Β 
DevOps for Machine Learning overview en-us
DevOps for Machine Learning overview en-usDevOps for Machine Learning overview en-us
DevOps for Machine Learning overview en-us
Β 
IRJET- Automated CV Classification using Clustering Technique
IRJET- Automated CV Classification using Clustering TechniqueIRJET- Automated CV Classification using Clustering Technique
IRJET- Automated CV Classification using Clustering Technique
Β 
The Power of Auto ML and How Does it Work
The Power of Auto ML and How Does it WorkThe Power of Auto ML and How Does it Work
The Power of Auto ML and How Does it Work
Β 
Identifying and classifying unknown Network Disruption
Identifying and classifying unknown Network DisruptionIdentifying and classifying unknown Network Disruption
Identifying and classifying unknown Network Disruption
Β 
Lecture-6-7.pptx
Lecture-6-7.pptxLecture-6-7.pptx
Lecture-6-7.pptx
Β 
Post Graduate Admission Prediction System
Post Graduate Admission Prediction SystemPost Graduate Admission Prediction System
Post Graduate Admission Prediction System
Β 

More from ArdianDwiPraba

16.modul melakukan deployment model (final) v1 1
16.modul melakukan deployment model (final) v1 116.modul melakukan deployment model (final) v1 1
16.modul melakukan deployment model (final) v1 1ArdianDwiPraba
Β 
14. modul ta dts2021 model ann 14 juli 2021-v2
14. modul ta dts2021   model ann 14 juli 2021-v214. modul ta dts2021   model ann 14 juli 2021-v2
14. modul ta dts2021 model ann 14 juli 2021-v2ArdianDwiPraba
Β 
10 feature engineering-univ-gunadarma
10 feature engineering-univ-gunadarma10 feature engineering-univ-gunadarma
10 feature engineering-univ-gunadarmaArdianDwiPraba
Β 
2 modul 2 - ta dts2021
2 modul 2 - ta dts20212 modul 2 - ta dts2021
2 modul 2 - ta dts2021ArdianDwiPraba
Β 
4. tools proyek data science dts ta v.2
4. tools proyek data science dts ta v.24. tools proyek data science dts ta v.2
4. tools proyek data science dts ta v.2ArdianDwiPraba
Β 

More from ArdianDwiPraba (6)

16.modul melakukan deployment model (final) v1 1
16.modul melakukan deployment model (final) v1 116.modul melakukan deployment model (final) v1 1
16.modul melakukan deployment model (final) v1 1
Β 
14. modul ta dts2021 model ann 14 juli 2021-v2
14. modul ta dts2021   model ann 14 juli 2021-v214. modul ta dts2021   model ann 14 juli 2021-v2
14. modul ta dts2021 model ann 14 juli 2021-v2
Β 
12 regresi
12 regresi12 regresi
12 regresi
Β 
10 feature engineering-univ-gunadarma
10 feature engineering-univ-gunadarma10 feature engineering-univ-gunadarma
10 feature engineering-univ-gunadarma
Β 
2 modul 2 - ta dts2021
2 modul 2 - ta dts20212 modul 2 - ta dts2021
2 modul 2 - ta dts2021
Β 
4. tools proyek data science dts ta v.2
4. tools proyek data science dts ta v.24. tools proyek data science dts ta v.2
4. tools proyek data science dts ta v.2
Β 

Recently uploaded

Russian Call Girls Hyderabad Saloni 9907093804 Independent Escort Service Hyd...
Russian Call Girls Hyderabad Saloni 9907093804 Independent Escort Service Hyd...Russian Call Girls Hyderabad Saloni 9907093804 Independent Escort Service Hyd...
Russian Call Girls Hyderabad Saloni 9907093804 Independent Escort Service Hyd...delhimodelshub1
Β 
πŸ’šπŸ˜‹Mumbai Escort Service Call Girls, β‚Ή5000 To 25K With ACπŸ’šπŸ˜‹
πŸ’šπŸ˜‹Mumbai Escort Service Call Girls, β‚Ή5000 To 25K With ACπŸ’šπŸ˜‹πŸ’šπŸ˜‹Mumbai Escort Service Call Girls, β‚Ή5000 To 25K With ACπŸ’šπŸ˜‹
πŸ’šπŸ˜‹Mumbai Escort Service Call Girls, β‚Ή5000 To 25K With ACπŸ’šπŸ˜‹Sheetaleventcompany
Β 
Basics of Anatomy- Language of Anatomy.pptx
Basics of Anatomy- Language of Anatomy.pptxBasics of Anatomy- Language of Anatomy.pptx
Basics of Anatomy- Language of Anatomy.pptxAyush Gupta
Β 
Call Girl Raipur πŸ“² 9999965857 γƒ…10k NiGhT Call Girls In Raipur
Call Girl Raipur πŸ“² 9999965857 γƒ…10k NiGhT Call Girls In RaipurCall Girl Raipur πŸ“² 9999965857 γƒ…10k NiGhT Call Girls In Raipur
Call Girl Raipur πŸ“² 9999965857 γƒ…10k NiGhT Call Girls In Raipurgragmanisha42
Β 
Dehradun Call Girls Service β€οΈπŸ‘ 9675010100 πŸ‘„πŸ«¦Independent Escort Service Dehradun
Dehradun Call Girls Service β€οΈπŸ‘ 9675010100 πŸ‘„πŸ«¦Independent Escort Service DehradunDehradun Call Girls Service β€οΈπŸ‘ 9675010100 πŸ‘„πŸ«¦Independent Escort Service Dehradun
Dehradun Call Girls Service β€οΈπŸ‘ 9675010100 πŸ‘„πŸ«¦Independent Escort Service DehradunNiamh verma
Β 
Call Girls Hyderabad Krisha 9907093804 Independent Escort Service Hyderabad
Call Girls Hyderabad Krisha 9907093804 Independent Escort Service HyderabadCall Girls Hyderabad Krisha 9907093804 Independent Escort Service Hyderabad
Call Girls Hyderabad Krisha 9907093804 Independent Escort Service Hyderabaddelhimodelshub1
Β 
Call Girls Service Chandigarh Grishma β€οΈπŸ‘ 9907093804 πŸ‘„πŸ«¦ Independent Escort Se...
Call Girls Service Chandigarh Grishma β€οΈπŸ‘ 9907093804 πŸ‘„πŸ«¦ Independent Escort Se...Call Girls Service Chandigarh Grishma β€οΈπŸ‘ 9907093804 πŸ‘„πŸ«¦ Independent Escort Se...
Call Girls Service Chandigarh Grishma β€οΈπŸ‘ 9907093804 πŸ‘„πŸ«¦ Independent Escort Se...High Profile Call Girls Chandigarh Aarushi
Β 
hyderabad call girl.pdfRussian Call Girls in Hyderabad Amrita 9907093804 Inde...
hyderabad call girl.pdfRussian Call Girls in Hyderabad Amrita 9907093804 Inde...hyderabad call girl.pdfRussian Call Girls in Hyderabad Amrita 9907093804 Inde...
hyderabad call girl.pdfRussian Call Girls in Hyderabad Amrita 9907093804 Inde...delhimodelshub1
Β 
pOOJA sexy Call Girls In Sector 49,9999965857 Young Female Escorts Service In...
pOOJA sexy Call Girls In Sector 49,9999965857 Young Female Escorts Service In...pOOJA sexy Call Girls In Sector 49,9999965857 Young Female Escorts Service In...
pOOJA sexy Call Girls In Sector 49,9999965857 Young Female Escorts Service In...Call Girls Noida
Β 
Chandigarh Call Girls πŸ‘™ 7001035870 πŸ‘™ Genuine WhatsApp Number for Real Meet
Chandigarh Call Girls πŸ‘™ 7001035870 πŸ‘™ Genuine WhatsApp Number for Real MeetChandigarh Call Girls πŸ‘™ 7001035870 πŸ‘™ Genuine WhatsApp Number for Real Meet
Chandigarh Call Girls πŸ‘™ 7001035870 πŸ‘™ Genuine WhatsApp Number for Real Meetpriyashah722354
Β 
Call Girl Hyderabad Madhuri 9907093804 Independent Escort Service Hyderabad
Call Girl Hyderabad Madhuri 9907093804 Independent Escort Service HyderabadCall Girl Hyderabad Madhuri 9907093804 Independent Escort Service Hyderabad
Call Girl Hyderabad Madhuri 9907093804 Independent Escort Service Hyderabaddelhimodelshub1
Β 
Russian Call Girls in Hyderabad Ishita 9907093804 Independent Escort Service ...
Russian Call Girls in Hyderabad Ishita 9907093804 Independent Escort Service ...Russian Call Girls in Hyderabad Ishita 9907093804 Independent Escort Service ...
Russian Call Girls in Hyderabad Ishita 9907093804 Independent Escort Service ...delhimodelshub1
Β 
Call Girl Price Amritsar β€οΈπŸ‘ 9053900678 Call Girls in Amritsar Suman
Call Girl Price Amritsar β€οΈπŸ‘ 9053900678 Call Girls in Amritsar SumanCall Girl Price Amritsar β€οΈπŸ‘ 9053900678 Call Girls in Amritsar Suman
Call Girl Price Amritsar β€οΈπŸ‘ 9053900678 Call Girls in Amritsar SumanCall Girls Service Chandigarh Ayushi
Β 
indian Call Girl Panchkula β€οΈπŸ‘ 9907093804 Low Rate Call Girls Ludhiana Tulsi
indian Call Girl Panchkula β€οΈπŸ‘ 9907093804 Low Rate Call Girls Ludhiana Tulsiindian Call Girl Panchkula β€οΈπŸ‘ 9907093804 Low Rate Call Girls Ludhiana Tulsi
indian Call Girl Panchkula β€οΈπŸ‘ 9907093804 Low Rate Call Girls Ludhiana TulsiHigh Profile Call Girls Chandigarh Aarushi
Β 
Gurgaon iffco chowk πŸ” Call Girls Service πŸ” ( 8264348440 ) unlimited hard sex ...
Gurgaon iffco chowk πŸ” Call Girls Service πŸ” ( 8264348440 ) unlimited hard sex ...Gurgaon iffco chowk πŸ” Call Girls Service πŸ” ( 8264348440 ) unlimited hard sex ...
Gurgaon iffco chowk πŸ” Call Girls Service πŸ” ( 8264348440 ) unlimited hard sex ...soniya singh
Β 

Recently uploaded (20)

VIP Call Girls Lucknow Isha πŸ” 9719455033 πŸ” 🎢 Independent Escort Service Lucknow
VIP Call Girls Lucknow Isha πŸ” 9719455033 πŸ” 🎢 Independent Escort Service LucknowVIP Call Girls Lucknow Isha πŸ” 9719455033 πŸ” 🎢 Independent Escort Service Lucknow
VIP Call Girls Lucknow Isha πŸ” 9719455033 πŸ” 🎢 Independent Escort Service Lucknow
Β 
Russian Call Girls Hyderabad Saloni 9907093804 Independent Escort Service Hyd...
Russian Call Girls Hyderabad Saloni 9907093804 Independent Escort Service Hyd...Russian Call Girls Hyderabad Saloni 9907093804 Independent Escort Service Hyd...
Russian Call Girls Hyderabad Saloni 9907093804 Independent Escort Service Hyd...
Β 
Call Girl Dehradun Aashi πŸ” 7001305949 πŸ” πŸ’ƒ Independent Escort Service Dehradun
Call Girl Dehradun Aashi πŸ” 7001305949 πŸ” πŸ’ƒ Independent Escort Service DehradunCall Girl Dehradun Aashi πŸ” 7001305949 πŸ” πŸ’ƒ Independent Escort Service Dehradun
Call Girl Dehradun Aashi πŸ” 7001305949 πŸ” πŸ’ƒ Independent Escort Service Dehradun
Β 
πŸ’šπŸ˜‹Mumbai Escort Service Call Girls, β‚Ή5000 To 25K With ACπŸ’šπŸ˜‹
πŸ’šπŸ˜‹Mumbai Escort Service Call Girls, β‚Ή5000 To 25K With ACπŸ’šπŸ˜‹πŸ’šπŸ˜‹Mumbai Escort Service Call Girls, β‚Ή5000 To 25K With ACπŸ’šπŸ˜‹
πŸ’šπŸ˜‹Mumbai Escort Service Call Girls, β‚Ή5000 To 25K With ACπŸ’šπŸ˜‹
Β 
Basics of Anatomy- Language of Anatomy.pptx
Basics of Anatomy- Language of Anatomy.pptxBasics of Anatomy- Language of Anatomy.pptx
Basics of Anatomy- Language of Anatomy.pptx
Β 
Call Girl Raipur πŸ“² 9999965857 γƒ…10k NiGhT Call Girls In Raipur
Call Girl Raipur πŸ“² 9999965857 γƒ…10k NiGhT Call Girls In RaipurCall Girl Raipur πŸ“² 9999965857 γƒ…10k NiGhT Call Girls In Raipur
Call Girl Raipur πŸ“² 9999965857 γƒ…10k NiGhT Call Girls In Raipur
Β 
Dehradun Call Girls Service β€οΈπŸ‘ 9675010100 πŸ‘„πŸ«¦Independent Escort Service Dehradun
Dehradun Call Girls Service β€οΈπŸ‘ 9675010100 πŸ‘„πŸ«¦Independent Escort Service DehradunDehradun Call Girls Service β€οΈπŸ‘ 9675010100 πŸ‘„πŸ«¦Independent Escort Service Dehradun
Dehradun Call Girls Service β€οΈπŸ‘ 9675010100 πŸ‘„πŸ«¦Independent Escort Service Dehradun
Β 
Call Girls Hyderabad Krisha 9907093804 Independent Escort Service Hyderabad
Call Girls Hyderabad Krisha 9907093804 Independent Escort Service HyderabadCall Girls Hyderabad Krisha 9907093804 Independent Escort Service Hyderabad
Call Girls Hyderabad Krisha 9907093804 Independent Escort Service Hyderabad
Β 
Call Girls Service Chandigarh Grishma β€οΈπŸ‘ 9907093804 πŸ‘„πŸ«¦ Independent Escort Se...
Call Girls Service Chandigarh Grishma β€οΈπŸ‘ 9907093804 πŸ‘„πŸ«¦ Independent Escort Se...Call Girls Service Chandigarh Grishma β€οΈπŸ‘ 9907093804 πŸ‘„πŸ«¦ Independent Escort Se...
Call Girls Service Chandigarh Grishma β€οΈπŸ‘ 9907093804 πŸ‘„πŸ«¦ Independent Escort Se...
Β 
hyderabad call girl.pdfRussian Call Girls in Hyderabad Amrita 9907093804 Inde...
hyderabad call girl.pdfRussian Call Girls in Hyderabad Amrita 9907093804 Inde...hyderabad call girl.pdfRussian Call Girls in Hyderabad Amrita 9907093804 Inde...
hyderabad call girl.pdfRussian Call Girls in Hyderabad Amrita 9907093804 Inde...
Β 
pOOJA sexy Call Girls In Sector 49,9999965857 Young Female Escorts Service In...
pOOJA sexy Call Girls In Sector 49,9999965857 Young Female Escorts Service In...pOOJA sexy Call Girls In Sector 49,9999965857 Young Female Escorts Service In...
pOOJA sexy Call Girls In Sector 49,9999965857 Young Female Escorts Service In...
Β 
Chandigarh Call Girls πŸ‘™ 7001035870 πŸ‘™ Genuine WhatsApp Number for Real Meet
Chandigarh Call Girls πŸ‘™ 7001035870 πŸ‘™ Genuine WhatsApp Number for Real MeetChandigarh Call Girls πŸ‘™ 7001035870 πŸ‘™ Genuine WhatsApp Number for Real Meet
Chandigarh Call Girls πŸ‘™ 7001035870 πŸ‘™ Genuine WhatsApp Number for Real Meet
Β 
Call Girl Hyderabad Madhuri 9907093804 Independent Escort Service Hyderabad
Call Girl Hyderabad Madhuri 9907093804 Independent Escort Service HyderabadCall Girl Hyderabad Madhuri 9907093804 Independent Escort Service Hyderabad
Call Girl Hyderabad Madhuri 9907093804 Independent Escort Service Hyderabad
Β 
Russian Call Girls in Hyderabad Ishita 9907093804 Independent Escort Service ...
Russian Call Girls in Hyderabad Ishita 9907093804 Independent Escort Service ...Russian Call Girls in Hyderabad Ishita 9907093804 Independent Escort Service ...
Russian Call Girls in Hyderabad Ishita 9907093804 Independent Escort Service ...
Β 
Model Call Girl in Subhash Nagar Delhi reach out to us at πŸ”9953056974πŸ”
Model Call Girl in Subhash Nagar Delhi reach out to us at πŸ”9953056974πŸ”Model Call Girl in Subhash Nagar Delhi reach out to us at πŸ”9953056974πŸ”
Model Call Girl in Subhash Nagar Delhi reach out to us at πŸ”9953056974πŸ”
Β 
Call Girl Price Amritsar β€οΈπŸ‘ 9053900678 Call Girls in Amritsar Suman
Call Girl Price Amritsar β€οΈπŸ‘ 9053900678 Call Girls in Amritsar SumanCall Girl Price Amritsar β€οΈπŸ‘ 9053900678 Call Girls in Amritsar Suman
Call Girl Price Amritsar β€οΈπŸ‘ 9053900678 Call Girls in Amritsar Suman
Β 
#9711199012# African Student Escorts in Delhi 😘 Call Girls Delhi
#9711199012# African Student Escorts in Delhi 😘 Call Girls Delhi#9711199012# African Student Escorts in Delhi 😘 Call Girls Delhi
#9711199012# African Student Escorts in Delhi 😘 Call Girls Delhi
Β 
Call Girl Guwahati Aashi πŸ‘‰ 7001305949 πŸ‘ˆ πŸ” Independent Escort Service Guwahati
Call Girl Guwahati Aashi πŸ‘‰ 7001305949 πŸ‘ˆ πŸ” Independent Escort Service GuwahatiCall Girl Guwahati Aashi πŸ‘‰ 7001305949 πŸ‘ˆ πŸ” Independent Escort Service Guwahati
Call Girl Guwahati Aashi πŸ‘‰ 7001305949 πŸ‘ˆ πŸ” Independent Escort Service Guwahati
Β 
indian Call Girl Panchkula β€οΈπŸ‘ 9907093804 Low Rate Call Girls Ludhiana Tulsi
indian Call Girl Panchkula β€οΈπŸ‘ 9907093804 Low Rate Call Girls Ludhiana Tulsiindian Call Girl Panchkula β€οΈπŸ‘ 9907093804 Low Rate Call Girls Ludhiana Tulsi
indian Call Girl Panchkula β€οΈπŸ‘ 9907093804 Low Rate Call Girls Ludhiana Tulsi
Β 
Gurgaon iffco chowk πŸ” Call Girls Service πŸ” ( 8264348440 ) unlimited hard sex ...
Gurgaon iffco chowk πŸ” Call Girls Service πŸ” ( 8264348440 ) unlimited hard sex ...Gurgaon iffco chowk πŸ” Call Girls Service πŸ” ( 8264348440 ) unlimited hard sex ...
Gurgaon iffco chowk πŸ” Call Girls Service πŸ” ( 8264348440 ) unlimited hard sex ...
Β 

11 ta dts2021-11-v2

  • 1.
  • 2. Pendahuluan A. Tujuan Umum Setelah mempelajari modul ini peserta latih diharapkan mampu melakukan persiapan pemodelan dan proses pemodelan klasifikasi B. Tujuan Khusus Adapun tujuan mempelajari unit kompetensi melalui buku informasi Pelatihan Associate Artificial Intelligence ini guna memfasilitasi peserta latih sehingga pada akhir pelatihan diharapkan memiliki kemampuan sebagai berikut: 1. Membangun Skenario Model a. Mengidentifikasi teknik pemodelan b. Menentukan teknik pemodelan yang sesuai dengan karakteristik data dan tujuan teknis data science c. Menyiapkan skenario pengujian 2. Membangun Model Klasifikasi a. Menyiapkan parameter model b. Menggunakan tools pemodelan Latar belakang Unit kompetensi ini dinilai berdasarkan tingkat kemampuan dalam merancang website. Adapun penilaian dilakukan dengan menggabungkan serangkaian metode untuk menilai kemampuan dan penerapan pengetahuan pendukung penting. Penilaian dilakukan dengan mengacu kepada Kriteria Unjuk Kerja (KUK) dan dilaksanakan di Tempat Uji Kompetensi (TUK), ruang simulasi atau workshop dengan cara: 1.1 Lisan 1.2 Wawancara 1.3 Tes tertulis 1.4 Demonstrasi 1.5 Metode lain yang relevan. Deskripsi Pelatihan Materi ini berisi penjelasan mengenai persiapan pemodelan dan proses pemodelan klasifikasi Kompetensi Dasar 1. J.62DMI00.012.1 - Membangun Skenario Model a. Mengidentifikasi teknik pemodelan b. Menentukan teknik pemodelan yang sesuai dengan karakteristik data dan tujuan teknis data science c. Menyiapkan skenario pengujian 2. J.62DMI00.013.1 - Membangun Model
  • 3. a. Menyiapkan parameter model b. Menggunakan tools pemodelan Indikator Hasil Belajar Dapat melakukan persiapan pemodelan dan proses pemodelan klasifikasi INFORMASI PELATIHAN Akademi Thematic Academy Mitra Pelatihan Kementerian Komunikasi dan Informatika Tema Pelatihan Associate Data Scientist: Artificial Intelligence untuk Dosen dan Instruktur Sertifikasi β€’ Certificate of Attainment; β€’ Sertifikat Kompetensi Associate Data Scientist Persyaratan Sarana Peserta/spesifikasi device Tools/media ajar yang akan digunakan Memiliki laptop/komputer dengan spesifikasi minimal : β€’ RAM minimal 2 GB (disarankan 4 GB) β€’ Laptop dengan 32/64-bit processor β€’ Laptop dengan Operating System Windows 7, 8, 10, MacOS X atau Linux β€’ Laptop dengan konektivitas WiFi dan memiliki Webcam β€’ Akses Internet Dedicated 126 kbps per peserta per perangkat β€’ Memiliki aplikasi Zoom β€’ Memiliki akun Google Colab Aplikasi yang akan di gunakan selamat pelatihan β€’ Spyder β€’ Jupyter notebook Tim Penyusun Afiahayati, S.Kom., M.Cs., Ph.D. INFORMASI PEMBELAJARAN Unit Kompetensi Materi pembelajaran Kegiatan pembelajaran Durasi Pelatihan Rasio Praktek : Teori Sumber pembelajaran Persiapan pemodelan dan proses pemodelan klasifikasi β€’ Membangun Skenario Pemodelan β€’ Membangun model Daring/Online Live Class 2 JP LMS 4 JP @ 45 Menit 70 : 30 Modul Pembelajaran LMS
  • 4. klasifikasi Materi Pokok Melakukan persiapan pemodelan dan proses pemodelan klasifikasi Sub Materi Pokok 1. Membangun Skenario Model a. Mengidentifikasi teknik pemodelan b. Menentukan teknik pemodelan yang sesuai dengan karakteristik data dan tujuan teknis data science c. Menyiapkan skenario pengujian 2. Membangun Model Klasifikasi a. Menyiapkan parameter model b. Menggunakan tools pemodelan
  • 5. I. SKENARIO PEMODELAN 1.1 Pembagian Data 1.1.1 Train -Validation Split Pembagian data sangat sering ditemukan dalam pembelajaran mesin. Dengan melakukan pembagian data, kita dapat menemukan hyperparameter terbaik untuk model yang digunakan. Dengan kata lain, pembagian data dapat membantu mengurangi risiko underfitting maupun overfitting yang seringkali ditemui oleh nilai hyperparameter yang kurang baik. Selain itu, pembagian data juga dapat digunakan sebagai indikator baik atau buruknya kemampuan model prediktif untuk menyelesaikan suatu masalah tertentu. Secara umum data dapat dibagi menjadi 3 bagian, yaitu data latih (training data), data validasi (validation data), dan data uji (testing data): a. Data latih atau biasa disebut dengan training data merupakan bagian data yang digunakan saat melatih model. b. Data validasi (validation data) adalah data yang digunakan untuk mengevaluasi model yang telah dilatih dengan training data. Dengan menguji model yang telah dilatih menggunakan validation data, performa model-model dengan hyperparameter berbeda akan dibandingkan dan diketahui hyperparameter mana yang menyebabkan underfitting, overfitting, dan yang menghasilkan fit model terbaik. c. Data uji atau yang biasa disebut dengan testing data merupakan data yang digunakan untuk menguji performa suatu algoritme pembelajaran mesin satu dengan yang lainnya (misalkan membandingkan performa algoritme Logistic Regression dengan algoritme Support Vector Machine dalam klasifikasi digit MNIST). Namun dalam beberapa literatur, data validasi sering dianggap sama dengan data uji. Penggunaan pembagian data menjadi kewajiban dalam menangani data yang jumlahnya besar. Hal ini dikarenakan jika data yang digunakan sedikit, model akan dilatih pada training data yang lebih sedikit juga dan menyebabkan tidak terlatihnya model dengan baik. Selain itu validation data yang sedikit juga menyebabkan generalisasi model menjadi terlalu β€œoptimis” atau dikatakan memiliki bias yang tinggi. Secara umum, persentase pembagian data untuk training data:validation data yang sering digunakan adalah 66.6%:33.3%, 75%:25%, dan 80%:20%. Pada bahasa pemrograman Python, pembagian data dapat dilakukan dengan menggunakan pustaka Scikit-Learn dengan menjalankan potongan kode pada Gambar 1. Gambar 1. Kode untuk Train-Validation Split Dimana X merupakan fitur input, y merupakan label output, dan train_size merupakan berapa persen dari dataset yang akan digunakan menjadi training data. X_train dan y_train merupakan pasangan fitur input dan label output dari training data, sementara X_test dan
  • 6. y_test merupakan pasangan fitur input dan label output dari validation data / testing data. Misalkan dataset berjumlah 100.000, ketika train_size ditentukan sebesar 0.7, maka, akan terdapat 70.000 fitur input dan label output training data dan 30.000 sisanya merupakan fitur input dan label output validation data / testing data. Pembagian data diilustrasikan pada Gambar 2. Gambar 2. Ilustrasi pembagian data 1.1.2 k-Fold Cross Validation Selain Train-Validation Split, terdapat metode pembagian data lain yang sering ditemui dalam pembelajaran mesin, yaitu K-Fold Cross Validation. Metode ini seringkali digunakan ketika ukuran dataset tidak terlalu besar. K-Fold Cross Validation bekerja dengan melatih dan mengevaluasi model pada sejumlah K kombinasi training data dan testing data yang berbeda. Dengan demikian, model dilatih dengan data yang tidak terlalu besar akan memiliki kemampuan generalisasi yang lebih baik dibandingkan dengan menggunakan Train-Validation Split (Ingat bahwa Train-Validation Split tidak baik jika digunakan pada data yang tidak terlalu besar). Ilustrasi sederhana dari K-Fold Cross Validation disajikan pada Gambar 3. Gambar 3. Ilustrasi 5-Fold Cross Validation Sebagai contoh, misalkan terdapat data sebanyak 100.000 dan ditentukan nilai K = 5, maka index pembagian data untuk setiap iterasi adalah sebagai berikut: 1. Iterasi 1: a. Index Training Data: 20.001 sampai 100.000 b. Index Testing Data: 1 sampai 20.000
  • 7. 2. Iterasi 2: a. Index Training Data: 1 sampai 20.001 + 40.001 sampai 100.000 b. Index Testing Data: 20.001 sampai 40.000 3. Iterasi 3: a. Index Training Data: 1 sampai 40.000 + 60.001 sampai 100.000 b. Index Testing Data: 40.001 sampai 60.000 4. Iterasi 4: a. Index Training Data: 1 sampai 60.000 + 80.001 sampai 100.000 b. Index Testing Data: 60.001 sampai 80.000 5. Iterasi 5: a. Index Training Data: 1 sampai 80.000 b. Index Testing Data: 80.001 sampai 100.000 Performa model (misalkan akurasi) dari setiap iterasi kemudian dirata-rata dan dibandingkan dengan performa model lain yang dibentuk dengan hyperparameter berbeda. Pada bahasa pemrograman Python, K-Fold Cross Validation dapat dilakukan dengan menggunakan pustaka Scikit-Learn dengan menjalankan potongan kode yang ditampilkan pada Gambar 4. Gambar 4. Kode untuk K-Fold Cross Validation Pada potongan kode di atas, X adalah fitur input, y adalah output label, cv adalah nilai K untuk K-Fold Cross Validation, dan model yang digunakan adalah Support Vector Machine (SVM). Dengan menggunakan potongan kode di atas, proses pembagian data untuk setiap iterasi K dilakukan otomatis, sehingga tidak perlu repot untuk membagi data dengan index tertentu. Hasil akurasi untuk setiap iterasi (dalam potongan kode sebanyak 5 iterasi) disimpan di dalam list scores. Fungsi print(scores.mean()) dipanggil untuk mengetahui rerata akurasi dari setiap iterasi. 1.2 Menentukan Langkah Eksperimen Gambar 5. Ilustrasi strategi pencarian parameter terbaik Setiap algoritma dalam pembangunan model memiliki parameter tertentu. Untuk mendapatkan model terbaik, diperlukan eksperimen dengan beberapa variasi parameter. Parameter yang menghasilkan model dengan performa terbaik akan dipilih. Terdapat
  • 8. beberapa strategi pencarian parameter untuk menghasilkan model terbaik, yaitu : (1) Best Guess, (2) One Factor at Time, (3)Grid Search. Ilustrasi strategi pencarian parameter terbaik ditunjukkan pada Gambar 5. 1.3 Parameter Evaluasi Untuk mengetahui performa model yang dibangun, diperlukan parameter evaluasi. Terdapat beberapa parameter evaluasi berdasarkan jenis task-nya, yaitu 1. Task klasifikasi Beberapa parameter evaluasi : Akurasi, Presisi, Recall/Sensitivity, Specificity, F1-measure 2. Task regresi Beberapa parameter evaluasi : MSE (Mean Squared Error), MAPE (Mean Absolute Percentage Error) 3. Task klastering Beberapa parameter evaluasi : Silhouette Score, Davies-Bouldin Index Parameter Evaluasi akan dijelaskan secara detail pada modul – modul berikutnya.
  • 9. II. METODE KLASIFIKASI 2.1 Logistic Regression Logistic Regression adalah algoritma regresi yang digunakan untuk menyelesaikan masalah klasifikasi. Algoritma merupakan pengembangan dari algoritma Linear Regression dan bekerja dengan mencari Logistic Function (fungsi logistik) yang dapat membagi data menjadi 2 kelas dengan baik. Mengapa dikatakan pengembangan dari Linear Regression? Gambar 6. Linear Regression Misalkan terdapat data ukuran tumor dan tingkat keganasannya. Ukuran tumor yang semakin besar akan menyebabkan tumor semakin ganas juga. Pada gambar di atas garis hijau merupakan garis Linear Regression yang memiliki Fit terbaik untuk 8 titik data. Garis linear di atas terlihat dapat mengklasifikasi kelas tumor ganas dan tidak ganas dengan benar (4 tumor tidak ganas berada di kiri garis threshold dan 4 tumor ganas berada di kanan garis threshold). Namun, ketika terdapat outlier pada data, Fit terbaik dari Linear Regression akan menghasilkan prediksi yang buruk (Gambar 6). Gambar 7. Linear Regression gagal membentuk model yang baik Ketika data memiliki outlier seperti pada Gambar 6, garis Fit terbaik akan berubah mengikuti data juga. Dalam kasus diatas garis Linear Regression melandai dan menyebabkan pergeseran titik threshold pada sumbu x. Pergeseran threshold karena
  • 10. terdapat outlier menyebabkan 2 titik data yang seharusnya merupakan kanker ganas, jatuh ke bagian kiri garis threshold yang merupakan daerah untuk kanker tidak ganas. Gambar 8. Logistic Regression berhasil membentuk model yang baik Hal ini tidak akan terjadi jika menggunakan Logistic Regression, seperti tersaji pada Gambar 7. Garis yang dibentuk oleh Logistic Regression tidak mengubah posisi threshold pada sumbu x sehingga tidak ada titik data yang mengalami salah klasifikasi. Logistic Function yang membentuk garis hijau pada ilustrasi di atas dapat dibentuk dengan mensubstitusi Linear Function ke dalam Sigmoid Function. Dengan menggunakan Logistic Function, data yang dimiliki akan direpresentasikan ke dalam bentuk fungsi sigmoid. Karena menggunakan basis Sigmoid Function, output dari Logistic Function juga mendapat sifat dari Sigmoid Function yaitu untuk setiap input X maka output y akan selalu berada dalam rentang 0 sampai dengan 1. Sehingga label atau kelas pertama akan dianggap sebagai kelas 0 dan label atau kelas kedua akan dianggap sebagai kelas 1. Ketiga fungsi tersebut dituliskan dalam persamaan di bawah: πΏπ‘–π‘›π‘’π‘Žπ‘Ÿ πΉπ‘’π‘›π‘π‘‘π‘–π‘œπ‘› = 𝑠 = π‘Šπ‘‡ 𝑋 + 𝑏 π‘†π‘–π‘”π‘šπ‘œπ‘–π‘‘ πΉπ‘’π‘›π‘π‘‘π‘–π‘œπ‘› = 1 1 + π‘’βˆ’π‘Ž πΏπ‘œπ‘”π‘–π‘ π‘‘π‘–π‘ πΉπ‘’π‘›π‘π‘‘π‘–π‘œπ‘› = π‘¦π‘ƒπ‘Ÿπ‘’π‘‘π‘–π‘˜π‘ π‘– = 1 1 + π‘’βˆ’(π‘Šπ‘‡π‘‹ + 𝑏) Untuk menghasilkan Logistic Function yang baik, diperlukan nilai W dan b yang menyebabkan nilai Loss seminimum mungkin. Loss pada Logistic Regression dituliskan pada persamaan berikut: πΏπ‘œπ‘ π‘  = βˆ’(π‘¦π΄π‘˜π‘‘π‘’π‘Žπ‘™ log(π‘¦π‘ƒπ‘Ÿπ‘’π‘‘π‘–π‘˜π‘ π‘–) + (1 βˆ’ π‘¦π΄π‘˜π‘‘π‘’π‘Žπ‘™)log (1 βˆ’ π‘¦π‘ƒπ‘Ÿπ‘’π‘‘π‘–π‘˜π‘ π‘–)) Algoritma Gradient Descent dapat digunakan untuk mencari nilai π‘Š dan 𝑏 yang menyebabkan Loss minimum. Pertama, dilakukan pencarian nilai perubahan bobot, dengan menggunakan aturan turunan rantai sebagai berikut:
  • 11. π‘‘πΏπ‘œπ‘ π‘  π‘‘π‘Š = π‘‘πΏπ‘œπ‘ π‘  π‘‘π‘¦π‘ƒπ‘Ÿπ‘’π‘‘π‘–π‘˜π‘ π‘– βˆ— π‘‘π‘¦π‘ƒπ‘Ÿπ‘’π‘‘π‘–π‘˜π‘ π‘– 𝑑𝑠 βˆ— 𝑑𝑠 π‘‘π‘Š Dimana untuk persamaan di atas: π‘‘πΏπ‘œπ‘ π‘  π‘‘π‘¦π‘ƒπ‘Ÿπ‘’π‘‘π‘–π‘˜π‘ π‘– = (βˆ’ π‘¦π΄π‘˜π‘‘π‘’π‘Žπ‘™ π‘¦π‘ƒπ‘Ÿπ‘’π‘‘π‘–π‘˜π‘ π‘– + 1 βˆ’ π‘¦π΄π‘˜π‘‘π‘’π‘Žπ‘™ 1 βˆ’ π‘¦π‘ƒπ‘Ÿπ‘’π‘‘π‘–π‘˜π‘ π‘– ) π‘‘π‘¦π‘ƒπ‘Ÿπ‘’π‘‘π‘–π‘˜π‘ π‘– 𝑑𝑠 = π‘¦π‘ƒπ‘Ÿπ‘’π‘‘π‘–π‘˜π‘ π‘– βˆ— (1 βˆ’ π‘¦π‘ƒπ‘Ÿπ‘’π‘‘π‘–π‘˜π‘ π‘–) 𝑑𝑠 π‘‘π‘Š = 𝑋 Dari penjabaran di atas, aturan turunan rantai dari π‘‘πΏπ‘œπ‘ π‘  π‘‘π‘Š dapat disederhanakan menjadi: π‘‘πΏπ‘œπ‘ π‘  π‘‘π‘Š = 𝑋 βˆ— (π‘¦π‘ƒπ‘Ÿπ‘’π‘‘π‘–π‘˜π‘ π‘– βˆ’ π‘¦π΄π‘˜π‘‘π‘’π‘Žπ‘™) Setelah didapatkan nilai perubahan bobot π‘‘πΏπ‘œπ‘ π‘  π‘‘π‘Š , maka selanjutnya hitung nilai W baru dengan persamaan: π‘Šπ‘π‘Žπ‘Ÿπ‘’ = π‘Šπ‘™π‘Žπ‘šπ‘Ž βˆ’ (πΏπ‘’π‘Žπ‘Ÿπ‘›π‘–π‘›π‘”π‘…π‘Žπ‘‘π‘’ βˆ— π‘‘πΏπ‘œπ‘ π‘  π‘‘π‘Š ) Pada bahasa pemrograman Python, Logistic Regression dapat dilakukan dengan menggunakan pustaka Scikit-Learn dengan menjalankan potongan kode berikut: Gambar 9. Kode untuk Logistic Regression Perlu diingat bahwa algoritma Logistic Regression merupakan algoritma klasifikasi 2 kelas, sehingga ketika menggunakan data yang memiliki kelas lebih dari 2, dapat menggunakan skema pelatihan One-versus-Rest seperti yang secara otomatis diterapkan oleh pustaka Scikit-Learn. 2.2 Support Vector Machine Support Vector Machine (SVM) adalah salah satu algoritma klasifikasi dalam bidang pembelajaran mesin. Ide utama dari SVM adalah untuk menemukan hyperplane terbaik
  • 12. yang memisahkan 2 daerah keputusan dengan baik. Secara umum, SVM bekerja dengan mengikuti langkah-langkah berikut: 4. fitur-fitur dari data dipetakan ke dalam ruang dimensi tinggi menggunakan fungsi kernel (linear, polynomial, sigmoid, atau radial basis function). Artinya, dengan menggunakan fungsi kernel, akan dihasilkan fitur-fitur baru yang akan digunakan untuk mengklasifikasi (tidak lagi menggunakan fitur-fitur lama). Masing-masing fungsi kernel dirumuskan sebagai berikut: a. Kernel Linear 𝐾(π‘₯𝑖, π‘₯𝑗) = π‘₯𝑖 𝑇 π‘₯𝑗 b. Kernel Polynomial 𝐾(π‘₯𝑖, π‘₯𝑗) = (𝛾π‘₯𝑖 𝑇 π‘₯𝑗 + π‘Ÿ) 𝑑 , 𝛾 > 0 c. Kernel Sigmoid 𝐾(π‘₯𝑖, π‘₯𝑗) = tanh (π‘₯𝑖 𝑇 π‘₯𝑗 + π‘Ÿ) d. Kernel Radial Basis Function 𝐾(π‘₯𝑖, π‘₯𝑗) = exp (βˆ’π›Ύ ||π‘₯𝑖 𝑇 βˆ’ π‘₯𝑗|| 2 ) , 𝛾 > 0 5. Mencari hyperplane terbaik yang memisahkan data yang telah dipetakan dalam ruang dimensi tinggi. Hyperplane terbaik dapat diperoleh dengan memaksimalkan jarak hyperplane dengan titik data terdekat (Support Vectors). 6. Gambar 10. Support Vector Machine Contoh penggunaan kernel, adalah sebagai berikut. Misalkan digunakan fungsi kernel Radial Basis Function dengan data π‘₯ = π‘₯1, π‘₯2, . . . , π‘₯𝑛. Fitur-fitur hasil kernel RBF dimisalkan sebagai 𝑓 = 𝑓1 , 𝑓2, . . . π‘“π‘š, dimana fitur-fitur tersebut digunakan untuk menentukan hasil klasifikasi sebagai berikut (𝑀 adalah bobot, 𝑓 adalah fitur): 𝑖𝑓: 𝑀1𝑓1 + 𝑀2𝑓2 + β‹― + π‘€π‘šπ‘“π‘š > 0, π‘‘β„Žπ‘’π‘›: π‘π‘™π‘Žπ‘ π‘  = 1, 𝑒𝑙𝑠𝑒: π‘π‘™π‘Žπ‘ π‘  = 0 Nilai 𝑓 dapat dicari dengan 𝑓 = 𝐾(π‘₯𝑖, π‘₯𝑗) = exp(βˆ’π›Ύ ||π‘₯𝑖 𝑇 βˆ’ π‘₯𝑗|| 2 ). Untuk sementara, substitusikan π‘₯𝑗 dengan suatu titik random 𝑙, sehingga persamaan akan diubah sementara
  • 13. menjadi 𝑓1 = 𝐾(π‘₯𝑖, 𝑙) = exp(βˆ’π›Ύ ||π‘₯𝑖 𝑇 βˆ’ 𝑙|| 2 ). Dengan menggunakan fungsi kernel RBF dan memahami bahwa ||π‘₯𝑖 𝑇 βˆ’ 𝑙|| 2 adalah jarak antara π‘₯𝑖 dengan titik 𝑙, maka dapat disimpulkan bahwa ketika suatu titik data π‘₯𝑖 berada sangat dekat dengan titik 𝑙, maka nilai 𝑓 akan mendekati 1, sebaliknya jika π‘₯𝑖 semakin jauh dengan titik 𝑙, maka nilai 𝑓 akan mendekati 0. Sebagai contoh misalkan dimiliki data sebagai berikut: π‘₯1 = [2,2], 𝑙 = [2,2], dan 𝛾 = 20. Maka nilai dari 𝑓1 adalah 𝑓1 = 𝐾(π‘₯1, 𝑙) = exp(βˆ’π›Ύ ||π‘₯𝑖 𝑇 βˆ’ 𝑙|| 2 ) 𝑓1 = exp(0) = 1 Contoh diatas dapat divisualisasikan pada Gambar 10, dimana ketika titik berada semakin dekat dengan titik 𝑙 = [2, 2] maka nilai 𝑓1 akan mendekati 1 (posisi pada bidang dimensi tingginya semakin memuncak), sebaliknya ketika ada titik π‘₯_2 = [3,1] yang berada jauh dari titik titik 𝑙 = [2, 2], maka nilai 𝑓1 akan mendekati 0. Gambar 11. Nilai f1 tiap titik ditentukan oleh jarak terhadap puncak Posisi titik l pada kenyataannya merupakan semua titik data π‘₯ = π‘₯1, π‘₯2, … , π‘₯𝑛, oleh karena itu persamaan di awal dituliskan 𝑓 = 𝐾(π‘₯𝑖, π‘₯𝑗) = exp(βˆ’π›Ύ ||π‘₯𝑖 𝑇 βˆ’ π‘₯𝑗|| 2 ). Dengan kata lain tiap-tiap π‘₯ akan difungsi kernelkan dengan π‘₯ lainnya dan menghasilkan fitur 𝑓 sebanyak π‘š. 𝑓1 = 𝐾(π‘₯1, π‘₯1) = exp(βˆ’π›Ύ ||π‘₯1 𝑇 βˆ’ π‘₯1|| 2 ) 𝑓2 = 𝐾(π‘₯1, π‘₯2) = exp(βˆ’π›Ύ ||π‘₯1 𝑇 βˆ’ π‘₯2|| 2 ) … π‘“π‘š = 𝐾(π‘₯𝑛, π‘₯𝑛) = exp(βˆ’π›Ύ||π‘₯𝑛 𝑇 βˆ’ π‘₯𝑛|| 2 ) Dari persamaan sebelumnya yaitu: 𝑖𝑓: 𝑀1𝑓1 + 𝑀2𝑓2 + β‹― + π‘€π‘šπ‘“ π‘š > 0, π‘‘β„Žπ‘’π‘›: π‘π‘™π‘Žπ‘ π‘  = 1, 𝑒𝑙𝑠𝑒: π‘π‘™π‘Žπ‘ π‘  = 0, selama berjalannya proses learning, akan banyak fitur 𝑓 yang akan tereliminasi karena memperoleh nilai 𝑀 sebesar 0. Dari fitur 𝑓 yang tersisa, dapat dilihat π‘₯ mana saja yang menjadi titik 𝑙 (sering muncul berarti memiliki jarak yang dekat dengan banyak titik).
  • 14. Terdapat parameter-parameter yang dapat diubah untuk menghasilkan hyperplane pemisah terbaik, diantaranya adalah parameter C dan parameter 𝛾. Parameter regularisasi C digunakan dalam SVM untuk menemukan jarak terbaik dari hyperplane. Nilai C yang terbaik harus dicari agar SVM terjadi keseimbangan antara jarak semaksimal dan kesalahan klasifikasi seminimal mungkin. Nilai C yang tinggi menyebabkan bahwa model akan menerima lebih banyak penalti ketika model gagal mengklasifikasikan data dengan tepat. Sebaliknya nilai C yang rendah menyebabkan bahwa model akan mentolerir data yang salah diklasifikasikan. Nilai C yang rendah biasanya baik digunakan pada data yang memiliki banyak noise, sebaliknya nilai C yang tinggi biasanya baik digunakan pada data yang memiliki sedikit noise. Gambar 12. Pengaruh parameter C pada SVM Sumber: https://learnopencv.com/svm-using-scikit-learn-in-python/ Selain parameter C, pada kernel Radial Basis Function terdapat parameter 𝛾. Nilai 𝛾 yang besar akan menghasilkan kelengkungan yang tajam pada ruang dimensi tinggi. Sebaliknya, nilai 𝛾 yang kecil akan menghasilkan ruang dimensi tinggi yang lebih landau (Gambar 12). Pasangan nilai parameter C dan 𝛾 harus ditemukan agar SVM dapat menggeneralisasi data dengan baik. Gambar 13. Visualisasi kelengkungan akibat parameter Ξ³
  • 15. Gambar 14. Pengaruh parameter Ξ³ pada SVM Pada bahasa pemrograman Python, Support Vector Machine dapat dilakukan dengan menggunakan pustaka Scikit-Learn dengan menjalankan potongan kode pada Gambar 14. Gambar 15. Potongan kode untuk SVM Beberapa parameter dapat diubah ketika menggunakan SVM dari pustaka Scikit-Learn, antara lain pada tabel berikut dan Gambar 15. Parameter Keterangan Contoh Nilai kernel Memilih kernel untuk SVM -β€˜linear’ untuk linear kernel -β€˜poly’ untuk polynomial kernel -β€˜rbf’ untuk radial basis function kernel - Nilai default : rbf C Parameter regularisasi SVM untuk semua kernel -Bilangan Float positif (…, 0.1, 0.5, 1.0, 1.5 , …) -Nilai default = 1.0
  • 16. gamma Parameter koefisien kernel untuk β€˜poly’ dan β€˜rbf’ -Bilangan Float positif (…, 0.001, 0.01, 0.1, 1, …) degree Derajat polynomial untuk kernel β€˜poly’) - Bilangan Integer (2,3,4,….) - Nilai default : 3 Gambar 16. Potongan kode untuk penggunaan parameter SVM 2.3 Decision Tree Decision Tree (Pohon Keputusan) merupakan salah satu algoritma pembelajaran mesin yang mengklasifikasi dengan mengambil suatu keputusan antara benar atau tidaknya suatu aturan. Kelebihan dari algoritma Decision Tree adalah input yang digunakan boleh berupa tipe data apapun (String, Integer, Float, Boolean, dll), diilustrasikan secara sederhana pada gambar di bawah: Gambar 17. Decision Tree sederhana
  • 17. Bagian paling puncak dari pohon keputusan (Hari Libur?) disebut dengan root node. Bagian selanjutnya dari pohon keputusan adalah branch, pada gambar di atas digambarkan oleh node (Jam > 17.00?). Terakhir leaves merupakan node yang berisi kelas dari permasalahan yang ingin diklasifikasikan. Salah satu cara membangun Decision Tree adalah dengan menggunakan perhitungan Gini Impurity. Gini Impurity untuk leaf dari Decision Tree dapat dihitung menggunakan persamaan berikut: 𝐺𝑖𝑛𝑖 πΌπ‘šπ‘π‘’π‘Ÿπ‘–π‘‘π‘¦ = 1 βˆ’ (π‘ƒπ‘Ÿπ‘œπ‘π‘Žπ‘π‘–π‘™π‘–π‘‘π‘Žπ‘ (π‘Œπ‘Ž)) 2 βˆ’ (π‘ƒπ‘Ÿπ‘œπ‘π‘Žπ‘π‘–π‘™π‘–π‘‘π‘Žπ‘ (π‘‡π‘–π‘‘π‘Žπ‘˜)) 2 Misalkan dimiliki data seperti pada Gambar 17 (data modifikasi dari Youtube StatQuest with Josh Starmer). Gambar 18. Data untuk Decision Tree Untuk menentukan root, perlu dicari Gini Impurity terkecil dari β€œKebutuhan Primer”, β€œSudah Gajian”, dan β€œHarga Barang” terhadap β€œBeli”. Gini Impurity β€œKebutuhan Primer” terhadap β€œBeli” dapat diilustrasikan pada Gambar 18.
  • 18. Gambar 19. Pembentukan Decision Tree Langkah 1 Total Gini Impurity dapat dihitung dengan weighted average dari Gini Impurity kedua leaves. Jumlah kemunculan β€œYa” untuk kebutuhan primer sebanyak 4 dan jumlah kemunculan β€œTidak” untuk kebutuhan primer sebanyak 3, maka weighted average Gini Impurity dapat dihitung dengan (terdapat di gambar): Gini Impurity leaf kiri * 4 / (4+3) + Gini Impurity leaf kanan * 3 / (4+3). Dengan cara yang sama, Gini Impurity β€œSudah Gajian” terhadap β€œBeli” dihitung dan diilustrasikan pada Gambar 19. Gambar 20. Pembentukan Decision Tree Langkah 2 Karena β€œHarga Barang” memiliki variabel kontinu, Gini Impurity β€œHarga Barang” terhadap β€œBeli” dihitung dengan cara yang sedikit berbeda. Pertama, data harus diurutkan berdasarkan β€œHarga Barang” terkecil ke β€œHarga Barang” terbesar. Kemudian untuk setiap data yang berdekatan, hitung Gini Impurity untuk rata-rata β€œHarga Barang” kedua data yang berdekatan. Pada Gambar 20, dihitung Gini Impurity untuk β€œHarga Barang” > 9500.
  • 19. Gambar 21. Pembentukan Decision Tree Langkah 3 Dengan cara yang sama, hitung Gini Impurity untuk 15000, 26500, 36500, 44000, dan 66500. Setelah itu ambil Gini Impurity terkecil sebagai kandidat root. Jika ada lebih dari 1 yang sama, maka bebas menentukan yang mana yang ingin digunakan sebagai root. Gambar 22. Pembentukan Decision Tree Langkah 4 Setelah proses diatas, didapatkan Gini Impurity dari β€œKebutuhan Primer”, β€œSudah Gajian”, dan β€œHarga Barang” terhadap β€œBeli” secara berurutan 0.4, 0.22, dan 0.34. Karena Gini Impurity β€œSudah Gajian” terhadap ”Beli” merupakan yang terkecil (0.22), maka β€œSudah Gajian” dijadikan root dari Decision Tree. Maka Decision Tree sementara menjadi seperti pada Gambar 22.
  • 20. Gambar 23. Decision Tree sementara Karena Gini Impurity leaf kanan adalah 0, maka tidak perlu di-split lagi. Oleh karena itu hanya leaf kiri yang perlu di-split. Leaf kiri dapat di-split dengan mencari Gini Impurity terkecil dari β€œKebutuhan Primer” atau β€œHarga Barang”. Cara yang dilakukan sama, namun data yang digunakan lebih sedikit karena telah tersaring oleh Decision root. Contoh untuk β€œKebutuhan Primer” dan β€œHarga Barang” tersaji pada Gambar 23 dan 24. Gambar 24. Pembentukan Decision Tree Langkah 5 Gambar 25. Pembentukan Decision Tree Langkah 6
  • 21. Ingat untuk data kontinu, perlu dihitung Gini Impurity dari data berdekatan. Karena Gini Impurity dari β€œHarga Barang > 15000” lebih kecil dibandingkan dengan Gini Impurity β€œKebutuhan Primer”, maka β€œHarga Barang > 15000” dipilih sebagai branch. Tidak diperlukan proses split lagi karena Gini Impurity dari seluruh leaves sudah mencapai 0. Sehingga Decision Tree yang dihasilkan adalah seperti pada Gambar 25. Gambar 26. Hasil akhir Decision Tree Untuk mencegah agar Decision Tree tidak mengalami overfitting, nilai maximum kedalaman tree dapat ditentukan. Selain itu nilai minimum sampel data yang diperlukan agar node mengalami split juga dapat ditentukan agar Decision Tree tidak mengalami overfitting. Pada bahasa pemrograman Python, Decision Tree dapat dilakukan dengan menggunakan pustaka Scikit-Learn dengan menjalankan potongan kode pada Gambar 26. Gambar 27. Potongan kode untuk Decision Tree Beberapa parameter dapat diubah nilainya, antara lain adalah parameter max_depth dan min_samples_split, dengan penjelasan pada tabel berikut dan Gambar 27.
  • 22. Parameter Keterangan Contoh Nilai max_depth Maksimum kedalaman tree yang dibentuk - Bilangan Integer (1,2,3,4,….) - Nilai default : None (jika None maka tree akan terus mendalam sampai seluruh Gini Impurity = 0) min_samples_split Minimum sampel yang diperlukan agar node dapat β€˜split’ - Bilangan Integer (1,2,3,4,….) - Nilai default : 2 Gambar 28. Potongan kode untuk penggunaan parameter Decision Tree 2.4 NaΓ―ve Bayes Classifier NaΓ―ve Bayes Classifier adalah model probabilistik untuk klasifikasi. Terdapat dua model probabilistik, yaitu : a. Discriminative Model b. Generative Model Untuk menentukan kelas, digunakan MAP (Maximum A Posterior) Classification Rule. Assign NaΓ―ve Bayes Classifier menerapkan Bayesian Rule Contoh Kasus : Terdapat 14 data latih. Data memiliki 4 atribut (Outlook, Temperature, Humidity dan Wind). Data latih terdiri dari dua kelas (kelas YES dan kelas NO untuk bermain tenis). Diperlukan klasifikasi untuk menentukan kelas dari data uji, apakah bermain tenis (YES) atau tidak (NO).
  • 23. Berdasarkan data latih tersebut, dilakukan perhitungan sebagai berikut : Untuk menentukan kelas pada data uji, menggunakan MAP Classification Rule, sebagai berikut : NaΓ―ve Bayes Classifier memiliki karakter sebagai berikut : β€’ NaΓ―ve Bayes Classifier bekerja lebih baik pada training data yang kecil
  • 24. β€’ Proses pembangunan NaΓ―ve Bayes Classifier pada data numerik menjadi lebih rumit dan memungkinkan terdapat informasi yang hilang β€’ Pada NaΓ―ve Bayes Classifier, diasumsikan bahwa satu fitur dengan fitur yang lain saling independen, hal ini mungkin tidak selalu terjadi pada kasus nyata 2.5 k-Nearest Neighbor Metode k-Nearest Neighbor Classifier menentukan kelas/label dari suatu data uji berdasarkan label dari data – data latih sekitarnya. Ilustrasi ditunjukkan pada Gambar 28. Gambar 29. Ilustrasi k-nearest neighbor Algoritma untuk k-nearest neighbor sebagai beirkut : 1. Menentukan nilai k 2. Menghitung jarak antara data baru terhadap semua training data 3. Mengidentifikasi k nearest neighbor 4. Menentukan label/kelas data baru berdasarkan kelas k-nearest neighbor (dapat menggunakan voting) Karakter dari algoritma k-nearest neighbor dapat dituliskan sebagai beirkut : 1. Cocok untuk data numerik 2. Mudah dipahami dan diimplementasikan 3. k-NN merupakan lazy learner (tidak membangun model secara eksplisit) 4. Penentuan label/kelas data baru membutuhkan computational cost yang cukup tinggi 5. Perlu menentukan nilai k yang sesuai a. Jika k terlalu kecil, sensitif terhadap noise b. Jika k terlalu besar, nearest neigbor mungkin mencakup data dari kelas lain 2.6 Boosting Algorithm Boosting Algorithm merupakan salah satu strategi dari ensemble untuk mengubah suatu weak model menjadi strong model. Konsep dari Boosting Algorithm adalah mengkombinasikan hasil prediksi dari setiap weak model untuk menjadi strong model dengan metode Average/Weighted Average dan Higher voting.
  • 25. Terdapat beberapa tipe Boosting Algorithm, yaitu : (1) AdaBoost (Adaptive Boosting) ; (2) Gradient Tree Boosting dan (3) XGBoost. Ilustrasi cara kerja Boosting Algorithm ditunjukkan pada Gambar 39. Gambar 309. Ilustrasi Boosting Algorithm Adaboost (Adaptive Boosting) Algorithm memiliki prinsip kerja dengan mengidentifikasi miss-classified data. Setelah teridentifikasi, kemudian miss- classified data tersebut, diberikan bobot lebih, sehingga classifier berikutnya memberikan perhatian lebih terhadap hal tersebut. Ilustrasi cara kerja AdaBoost Algorithm ditunjukkan pada Gambar 30. Gambar 30. Ilustrasi Boosting Algorithm
  • 26. Tugas Dan Proyek Pelatihan 1. Gunakan dataset Iris (https://archive.ics.uci.edu/ml/datasets/iris) 2. Data dibagi dengan proporsi : a. Data Latih (70%) b. Data Uji (30%) 3. Gunakan metode klasifikasi dengan parameter tuning untuk mendapatkan akurasi terbaik 4. Terapkan Adaboost algorithm dan lakukan analisa perbandingan terhadap performa yang dihasilkan dari metode klasifikasi sebelumnya Link Referensi Modul Sebelas β€’ CM Bishop, 2006, Pattern Recognition and Machine Learning, Springer β€’ https://medium.com/the-owl/k-fold-cross-validation-in-keras-3ec4a3a00538 β€’ https://learnopencv.com/svm-using-scikit-learn-in-python/ β€’ https://towardsdatascience.com/boosting-algorithms-explained-d38f56ef3f30 β€’ https://www.analyticsvidhya.com/blog/2015/11/quick-introduction-boosting-algorithms- machine-learning β€’ https://www.datacamp.com/community/tutorials/adaboost-classifier-python β€’ https://medium.com/@MohammedS/performance-metrics-for-classification-problems-in- machine-learning-part-i-b085d432082b Link Pertanyaan Modul Sebelas Bahan Tayang Sebelas Power Point Link room Pelatihan dan Jadwal live sesi bersama instruktur Zoom Penilaian Komposisi penilaian Tugas Membangun Model 1: Nilai 100
  • 27. Target Penyelesaian Modul Pertama 1 hari / sampai 6 JP