Selecting Informative Attributes




Selecting Informative Attributes

Dengan sejumlah besar contoh, bagaimana kita memilih atribut untuk mempartisi mereka secara informatif? Mari kita pertimbangkan masalah klasifikasi biner (dua kelas), dan pikirkan tentang apa yang ingin kita dapatkan darinya. Agar konkret, Gambar diatas menunjukkan masalah segmentasi sederhana: dua belas orang direpresentasikan sebagai stick figures. Ada dua jenis kepala: persegi dan lingkaran; dan dua jenis tubuh: persegi panjang dan oval; dan dua orang memiliki warna tubuh abu-abu sementara yang lainnya berwarna putih.

Ini adalah atribut yang akan kita gunakan untuk menggambarkan orang-orang. Di atas setiap orang adalah label target biner, Ya atau Tidak, yang menunjukkan (misalnya) apakah orang tersebut menjadi loan write-off. Kami bisa menggambarkan data pada orang-orang ini sebagai:

• Attributes:
— head-shape: square, circular
— body-shape: rectangular, oval
— body-color: gray, white

• Target variable:
— write-off: Yes, No

Jadi, mari tanyakan kepada diri sendiri: atribut mana yang paling baik untuk menyegmentasikan orang-orang ini ke dalam grup, dengan cara yang akan membedakan write-off dari non-write-off? Secara teknis, kami ingin kelompok yang dihasilkan menjadi semurni mungkin. Dengan murni kami mengartikan homogen sehubungan dengan variabel target. Jika setiap anggota grup memiliki nilai yang sama untuk target, maka grup tersebut murni. Jika ada setidaknya satu anggota grup yang memiliki nilai berbeda untuk variabel target daripada anggota grup lainnya, maka grup tersebut tidak murni.

Sayangnya, dalam data nyata kami jarang berharap menemukan variabel yang akan membuat segmen murni. Namun, jika kita dapat mengurangi pengotor secara substansial, maka kita dapat mempelajari sesuatu tentang data (dan populasi yang sesuai), dan yang penting untuk bab ini, kita dapat menggunakan atribut dalam model prediktif dalam contoh kita, memprediksi bahwa anggota satu Segmen akan memiliki tingkat penghapusan lebih tinggi atau lebih rendah daripada yang ada di segmen lain. Jika kita bisa melakukan itu, maka kita dapat, misalnya, menawarkan kredit kepada mereka yang memiliki tingkat writer-off yang diprediksi lebih rendah, atau dapat menawarkan persyaratan kredit yang berbeda berdasarkan pada tarif perkiraan write-off yang berbeda.

Technically, there are several complications:

1. Atribut jarang membagi grup dengan sempurna. Bahkan jika satu subkelompok menjadi murni, yang lain mungkin tidak. Misalnya, pada Gambar 3-2, pertimbangkan jika orang kedua tidak ada di sana. Kemudian warna tubuh = abu-abu akan menciptakan segmen murni (write-off = no). Namun, segmen terkait lainnya, warna tubuh = putih, masih tidak murni.

2. Dalam contoh sebelumnya, kondisi body-color = gray hanya membagi satu titik data tunggal ke dalam subset murni. Apakah ini lebih baik daripada split lain yang tidak menghasilkan subset murni, tetapi mengurangi impurity lebih luas?

3. Tidak semua atribut bersifat biner; banyak atribut memiliki tiga atau lebih nilai yang berbeda. Kita harus memperhitungkan bahwa satu atribut dapat dibagi menjadi dua grup sementara yang lain mungkin dibagi menjadi tiga grup, atau tujuh. Bagaimana kita membandingkan ini?

4. Beberapa atribut mengambil nilai numerik (terus menerus atau integer). Apakah masuk akal untuk membuat segmen untuk setiap nilai numerik? (Tidak.) Bagaimana seharusnya kita berpikir tentang membuat segmentasi supervised menggunakan atribut numerik?

Untungnya, untuk masalah klasifikasi kami dapat mengatasi semua masalah dengan membuat rumus yang mengevaluasi seberapa baik setiap atribut membagi sekumpulan contoh ke dalam segmen, sehubungan dengan variabel target yang dipilih. Formula semacam itu didasarkan pada ukuran kemurnian.

Kriteria pemisahan yang paling umum disebut information gain, dan itu didasarkan pada ukuran kemurnian yang disebut entropy. Kedua konsep diciptakan oleh salah satu pelopor teori informasi, Claude Shannon, in his seminal work in the field  (Shannon, 1948). Entropi adalah ukuran gangguan yang dapat diterapkan ke satu set, seperti salah satu segmen individu kami. Pertimbangkan bahwa kita memiliki seperangkat properti dari anggota set, dan setiap anggota memiliki satu dan hanya satu properti. Dalam segmentasi supervised, properti anggota akan sesuai dengan nilai dari variabel target.
Gangguan sesuai dengan bagaimana campuran (tidak murni) segmen tersebut berkenaan dengan properti yang menarik ini. Jadi, misalnya, segmen campuran dengan banyak write-offs dan banyak non-write-off akan memiliki entropi yang tinggi.

More technically, entropy is defined as:
Equation 3-1. Entropy entropy = - P1 log (P1) - P2 log (P2) – ...

Setiap P1 adalah probability (persentase relatif) dari properti i dalam himpunan, mulai dari pi = 1 ketika semua anggota himpunan memiliki properti i, dan Pi = 0 ketika tidak ada anggota himpunan memiliki properti i. Hanya menunjukkan bahwa mungkin ada lebih dari hanya dua properti (dan secara teknis, logaritma umumnya diambil sebagai basis).

Karena persamaan entropi mungkin tidak memberikan pemahaman intuitif, Gambar dibawah menunjukkan plot dari entropi set yang berisi 10 instance dari dua kelas, + dan -. Kita dapat melihat kemudian bahwa entropi mengukur gangguan umum set, mulai dari nol pada gangguan minimum (set memiliki anggota semua dengan yang sama, satu properti) untuk satu pada gangguan maksimal (properti sama-sama tercampur). Karena hanya ada dua kelas, p + = 1 –p–. Dimulai dengan semua contoh negatif di kiri bawah, p + = 0, set memiliki gangguan minimal (murni) dan entropi adalah nol. Jika kita mulai mengganti label kelas dari elemen yang ditetapkan dari - ke +, entropi meningkat. Entropi dimaksimalkan pada 1 ketika kelas instance seimbang (lima dari masing-masing), dan p + = p– = 0,5. Karena lebih banyak label kelas diaktifkan, kelas + mulai mendominasi dan entropi menurunkan lagi. Ketika semua instance positif, p + = 1 dan entropi minimal lagi pada nol.


As a concrete example, consider a set S of 10 people with seven of the non-write-off class and three of the write-off class. So:
p(non-write-off) = 7 / 10 = 0.7 p(write-off) = 3 / 10 = 0.3



Gambar Entropy of a two-class set as a function of p(+).

Entropy(S) = - [0.7 × log2 (0.7) + 0.3 × log2 (0.3)]
       = - 0.7 × - 0.51 + 0.3 × - 1.74
       = 0.88

Entropi hanyalah sebagian dari cerita. Kami ingin mengukur seberapa informatif suatu atribut berkaitan dengan target kami: berapa banyak perolehan informasi yang diberikan kepada kami tentang nilai dari variabel target. Atribut mengelompokkan sekumpulan instance menjadi beberapa subset. Entropi hanya memberitahu kita bagaimana tidak murni satu bagian individu. Untungnya, dengan entropi untuk mengukur seberapa tidak teraturnya set, kita dapat mendefinisikan perolehan informasi (IG) untuk mengukur seberapa banyak atribut meningkatkan (menurunkan) entropi atas seluruh segmentasi yang dibuatnya. Sebenarnya, perolehan informasi mengukur perubahan dalam entropi karena jumlah informasi baru yang ditambahkan; di sini, dalam konteks segmentasi yang diawasi, kami mempertimbangkan informasi yang diperoleh dengan membagi set pada semua nilai dari atribut tunggal.

Katakanlah atribut yang kita bagi memiliki nilai yang berbeda. Mari kita panggil kumpulan asli contoh yang parent set , dan hasil pemisahan pada nilai atribut yang ditetapkan K children sets.
Dengan demikian, perolehan informasi adalah fungsi dari kumpulan orang tua dan anak-anak yang dihasilkan dari beberapa partisi dari kumpulan orang tua — berapa banyak informasi yang diberikan atribut ini? Itu tergantung pada seberapa jauh lebih murni anak-anak daripada orang tua. Dinyatakan dalam konteks pemodelan prediktif, jika kita tahu nilai atribut ini, berapa banyak yang akan meningkatkan pengetahuan kita tentang nilai variabel target?

Specifically, the definition of information gain (IG) is:

Equation 3-2. Information gain

IG (parent, children)  =  entropy(parent) -
                                         [p(c1) × entropy(c1) + p(c2) × entropy(c2) + ...]

Khususnya, entropi untuk setiap anak (ci) ditimbang dengan proporsi contoh milik anak itu, p (ci). Hal ini secara langsung mengarahkan perhatian kita dari atas yang memisahkan satu contoh, dan menyadari bahwa himpunan itu murni, mungkin tidak sebaik membelah induknya menjadi dua himpunan bagian yang besar dan relatif murni, sekalipun tidak murni. Sebagai contoh, perhatikan split dalam Gambar 3-4. Ini adalah masalah dua kelas (• dan ★). Memeriksa sosok itu, anak-anak set tentu saja tampak "lebih murni" daripada yang ditetapkan orangtua. Set orangtua memiliki 30 instance yang terdiri dari 16 titik dan 14 bintang, jadi:



Using Equation 3-2, the information gain of this split is:



Jadi perpecahan ini mengurangi entropi secara substansial. Dalam istilah pemodelan prediktif, atribut memberikan banyak informasi tentang nilai target.


Sebagai contoh kedua, pertimbangkan perpecahan kandidat lain yang ditunjukkan pada Gambar 3-5. Ini adalah induk yang sama seperti pada Gambar 3-4, tetapi sebaliknya kami mempertimbangkan pemisahan pada atribut Residence dengan tiga nilai: OWN, RENT, dan OTHER. Tanpa menunjukkan perhitungan terperinci:

entropy(parent) ≈ 0.99 
entropy(Residence=OWN) ≈ 0.54 
entropy(Residence=RENT) ≈ 0.97 
entropy(Residence=OTHER) ≈ 0.98 
IG ≈ 0.13



Variabel Residence memang memiliki perolehan informasi positif, tetapi lebih rendah daripada Balance. Secara intuitif, ini karena, sementara satu anak Residence = OWN telah sangat mengurangi entropi, nilai-nilai lain RENT dan OTHER menghasilkan anak-anak yang tidak lebih murni daripada orang tua. Jadi, berdasarkan data ini, variabel Residence kurang informatif daripada Balance.

Melihat kembali kekhawatiran kami dari atas tentang pembuatan segmentasi supervised untuk masalah klasifikasi, perolehan informasi mengatasi semuanya. Itu tidak membutuhkan kemurnian mutlak. Ini dapat diterapkan ke sejumlah subset anak. Ini mempertimbangkan ukuran relatif anak-anak, memberikan bobot yang lebih besar ke himpunan bagian yang lebih besar.

Variabel numerik Kami belum membahas apa sebenarnya yang harus dilakukan jika atributnya numerik. Variabel numerik dapat "didiskritkan" dengan memilih titik perpecahan (atau banyak titik terpisah) dan kemudian memperlakukan hasilnya sebagai atribut kategori. Misalnya, Penghasilan dapat dibagi menjadi dua rentang atau lebih. Penguatan informasi dapat diterapkan untuk mengevaluasi segmentasi yang diciptakan oleh diskretisasi atribut numerik ini. Kami masih tersisa dengan pertanyaan tentang bagaimana memilih titik perpecahan (s) untuk atribut numerik. Secara konseptual, kita dapat mencoba semua titik perpecahan yang wajar dan memilih salah satu yang memberikan perolehan informasi tertinggi.

Terakhir, bagaimana dengan segmentasi yang diawasi untuk masalah regresi — masalah dengan variabel target numerik? Melihat mengurangi ketidakmurnian subset anak masih masuk akal intuitif, tetapi perolehan informasi bukan ukuran yang tepat, karena perolehan informasi berbasis entropi didasarkan pada distribusi properti dalam segmentasi. Sebaliknya, kami ingin mengukur kemurnian nilai numerik (target) dalam subset.

Kami tidak akan melalui derivasi di sini, tetapi ide fundamental adalah penting: ukuran alami dari kenajisan untuk nilai-nilai numerik adalah varians. Jika himpunan memiliki semua nilai yang sama untuk variabel target numerik, maka himpunan itu murni dan variansnya nol. Jika nilai target numerik dalam set sangat berbeda, maka set akan memiliki varians yang tinggi. Kita dapat menciptakan gagasan yang sama untuk memperoleh informasi dengan melihat pengurangan varians antara orang tua dan anak-anak. 

Proses tersebut menghasilkan analogi langsung dengan derivasi untuk mendapatkan informasi di atas. Untuk membuat segmentasi terbaik yang diberikan target numerik, kita dapat memilih salah satu yang menghasilkan pengurangan varians rata-rata tertimbang terbaik. Intinya, kita lagi akan menemukan variabel yang memiliki korelasi terbaik dengan target, atau alternatifnya, adalah yang paling prediktif dari target.

Comments