Kemarin kita membahas gimana sih konsep Shapley Value dalam kooperatif Game Theory. Nah terdapat 4 poin nih yang harus kita penuhi, apa aja tuh?
Pertama, jumlah dari apa yang setiap orang terima harus sama dengan total hadiah. Kedua, jika dua orang yang kontribusinya sama pada game, maka mereka harus menerima hadiah yang sama juga. Ketiga, jika ada seseorang yang tidak berkontribusi, maka dia tidak akan mendapatkan hadiah
Terakhir, jika grup memainkan dua game, maka hadiah tiap orang dari kedua game harus sama dengan hadiah mereka dari game pertama ditambah hadiah mereka dari game kedua
Nah dari keempat poin tersebut, dibangunlah formula untuk menghitung Shapley Value pada features ke-i dari total n-features, dengan suatu prediksi p, sebagaimana berikut:
Kok jadi ribet min?!? Eits tenang, sebenarnya formula ini lebih mudah dipahami dari kelihatannya kok. Yang dilakukan persamaan ini adalah menghitung prediksi model tanpa fitur i, menghitung prediksi model dengan fitur i, lalu menghitung selisihnya:
Nah gimana intuitif banget kan? Kita dapat menghitung importance dari fitur ke-i dengan menghitung selisih perubahan prediksi jika menggunakan fitur i dan tidak menggunakan fitur-i
Kita sudah mendapatkan selisihnya, tapi apakah selesai disini? Jawabannya tidak. Karena urutan kita menghitung features tersebut akan menghasilkan nilai importance yang berbeda
Sebagai contoh, kita akan lihat model decision-tree dibawah ini dengan label Bobby. Kita akan hitung Age dulu Gender.
Karena belum memiliki jenis kelamin, maka kita akan memberinya nilai rata-rata leaf yang di bawah, yaitu (2 + 0,1) / 2 = 1,05. Jadi efek dari features Age adalah 1,05
Kemudian, ketika model mengetahui bahwa dia adalah laki-laki, maka ia akan memberinya skor 2. Oleh karena itu, pengaruh features Gender adalah 2−1.05 = 0.95. Jadi dalam skenario ini, koefisien ϕ_Age Bobby = 1.05 dan ϕ_Gender Bobby = 0.95.
Selanjutnya kita akan coba hitung Gender terlebih dahulu baru Age. Rata-rata kedalaman 2 leaf: (2 + 0,1) / 2 = 1,05. Hasil ini lalu dirata-ratakan dengan kedalaman 1 leaf lainnya: (1,05 + (-1)) / 2 = 0,025. Jadi, features gender memiliki efek pengaruh 0,025.
Kemudian, ketika model belajar dia berusia 14, itu memberinya skor 2. Maka pengaruh features Age adalah (2-0.025) = 1.975. Jadi dalam skenario ini, ϕ_Age Bobby = 1.975 dan ϕ_Gender Bobby = 0.025.
Nah ketika kita mengganti urutan, maka nilai pengaruh tiap feature juga akan berubah. Ini lah mengapa pada persamaan yang sebelumnya terdapat S⊆N/i di bawah summation, dimana N adalah semua features. Sehingga persamaan akan menghitung semua permutasi urutan features
Selanjutnya bobot ditetapkan dengan mempertimbangkan berapa banyak permutasi berbeda dari himpunan features yang ada (ini dilakukan oleh ∣S∣!)
Serta fitur yang belum ditambahkan (ini dilakukan oleh (n − ∣S∣ − 1) ! Sehingga, semuanya dinormalisasi oleh fitur yang kita miliki secara total.
Jika kita hitung Shapley Value features Age pada Bobby, Maka kita perlu menentukan himpunan S, yaitu semua adalah kemungkinan kombinasi features Bobby, selain features Age. Karena Bobby hanya memiliki satu fitur lain, maka isi akan didapatkan himpunan {x_Gender} dan kosong { }
Selanjutnya, kita perlu menghitung ϕ_i (p) pada masing-masing himpunan ini. Perhatikan bahwa saya memiliki 2 fitur, n = 2. Dengan demikian untuk himpunan S = { } sehingga | S | = 0, dan | S |! = 1.
Selanjutnya, sebagaimana kita tadi telah hitung jika prediksi model tidak melihat adanya features, maka hitung rata-rata dari semua leafs, dimana hasilnya adalah 0,025. Kita juga telah menghitung bahwa ketika hanya melihat Age, nilainya adalah 1,05.
Dengan demikian, jika kita masukkan ke dalam formula, akan menghasilkan nilai berikut:
Selanjutnya kita hitung jika S = {x_Gender} kita telah menghitung bahwa prediksi model dengan jenis kelamin saja adalah 0,025, lalu ketika terlihat Age dan Gendernya adalah 2. Sehingga akan menghasilkan nilai selisih 1.975
Sehingga jika dimasukkan pada formula, akan menghasilkan nilai sebagai berikut
Maka kita tambahkan kedua nilai ketika S = { } dam S = {x_Gender} akan menghasilkan Shapley Value Age = 1.5
Kesimpulannya, Shapley Value menghitung features importance dengan membandingkan prediksi model dengan dan tanpa fitur. Namun karena urutan model memengaruhi prediksinya, hal ini dilakukan dalam setiap permutasi urutan yang memungkinkan, sehingga features dibandingkan secara adil
Tapi sayangnya, jika melakukan semua kemungkinan permutasi features, maka komputasi akan jadi lemot bangett kalo dijalanin karena akan menjalankan 2^k kemungkinan. nah disinilah kita menggunakan SHAP Library
SHAP Library melakukan pengoptimalan sehingga kita bisa menghitung Shapley Value dalam best practice. Hal ini karena SHAP menggunakan algoritma yang spesifik terhadap model, yang memanfaatkan struktur model yang berbeda.
Dengan demikian menggunakan Library SHAP dapat menghitung Shapley Value secara signifikan lebih cepat dibandingkan jika prediksi model harus dihitung untuk setiap kemungkinan kombinasi fitur.
Salah satu contoh hasil implementasi SHAP Value dapat kita lihat jika diterapkan pada dataset untuk prediksi kualitas dari wine dengan beberapa features sebagaimana gambar berikut
Warna merah menggambarkan bahwa features memiliki pengaruh positif terhadap prediksi, dan warna biru menggambarkan pengaruh yang negatif. Maka dapat disimpulkan sesuai SHAP Values, bahwa features alcohol berpengaruh kuat terhadap prediksi
Nah gimana, jadi tau kan Interpretable Machine Learning menggunakan SHAP Values. Bagi yang mau tau lebih lanjut lagi tentang machine learning dan penerapannya yuk langsung praktek ajaa di non-degree program Business Intelligence / Data Scientist Pacmann.AI
Mumpung promo THR Pacmann masih berlaku, jangan sampai kelewatan pendaftaran batch 3 yaa! Segera daftarkan diri kalian di bit.ly/PendaftaranNon… dan gunakan kode voucher “PACMANNTHR2021”. Mimin tunggu di kelas yaa!
• • •
Missing some Tweet in this thread? You can try to
force a refresh
Dulu dipakai perang, sekarang dipakai modeling🗡️🛡️
Intro to ROC-AUC
.
.
A thread
Minggu pagi 7 Desember 1941, 420 pesawat pengebom milik Kekaisaran Jepang menyerang pangkalan militer Amerika Serikat di Pearl Harbor, Hawaii. Lebih dari 20 kapal, 323 pesawat, dan 3000 tentara AS menjadi korban dalam 'surprise attack' selama 2 jam tersebut.
Peristiwa ini akhirnya menyeret AS untuk bergabung dengan Sekutu dan mengubah peta pertempuran Perang Dunia II setelah esok harinya, 8 Desember 1941, Presiden AS Franklin D. Roosevelt mendeklarasikan perang dengan Jepang.
Intip cara netflix rekomendasiin film yuk!📺
Penerapan recommender system (RecSys)
.
.
.
A thread
Pernah ga sih kalian kepikiran pas buka netflix, kok bisa netflix rekomendasiin film atau series yang patut kalian tonton selanjutnya itu cukup relate sama film atau series yg barusan selesai kalian tonton?
Tenang, netflix itu gak memata-matai kalian kok sampe bisa tau genre film apa yang kalian suka. Mereka bisa tau dan sampe bisa merekomendasikan next movies itu dengan menggunakan Recommender System (RecSys)
Siapa bilang Data Scientist cuma butuh ngasah technical skill?🙇👨💼
Jangan tinggalin soft skill dong!
.
.
.
A thread
“Hard Skill--or Technical Skill--make you qualified for the job, but soft skill will make or break your career.” Pernah denger quotes semacam itu?
Kalau kamu search di google, kamu bisa nemuin banyak quotes-quotes tentang softskill dengan kalimat yang beragam. Tapi semua quotes itu punya inti yang sama: pentingnya soft skill dalam karir.
Memahami kontribusi features pada model ML.
Intro to Interpretable Machine Learning menggunakan SHAP Values (Part I)
.
.
.
A Thread
Halo guyss, pernah gak sih kalian penasaran, kira-kira seberapa besar yaa kontribusi tiap-tiap features dari model yang kita buat??
Kali ini mimin akan bahas salah satu tools yang digunakan dalam Interpretable Machine Learning: “SHAP Values“. Tapi sebelum masuk kesana, yukk kita pahami dulu apa sih Interpretable ML