Ви просто взагалі не використовували змінну цільового класу. Домішка Джині, як і всі інші функції домішок, вимірює домішки виходів після розщеплення. Що ви зробили, це виміряти щось, використовуючи лише розмір вибірки.
Я намагаюся отримати формулу для вашого випадку.
Припустимо, для простоти у вас є двійковий класифікатор. Позначимо з тестовий атрибут, з - атрибут класу, який має значення .ACc+,c−
Початковий індекс Джині перед розщепленням задається
де - частка точок даних, які мають значення для класу змінна.
I(A)=1−P(A+)2−P(A−)2
P(A+)c+
Тепер домішка для лівого вузла була б
де - пропорція точок даних з лівої підмножини які мають значення у змінній класу тощо.
I(Al)=1−P(Al+)2−P(Al−)2
I(Ar)=1−P(Ar+)2−P(Ar−)2
P(Al+)Ac+
Тепер остаточною формулою для GiniGain була б
GiniGain(A)=I(A)−pleftI(Al)−prightI(Ar)
де - частка примірників для лівого підмножини, або (скільки екземплярів перебувають у лівому підмножині , поділене на загальну кількість примірників з .
pleft#|Al|#|Al|+#|Ar|A
Я відчуваю, що моє позначення можна було б покращити, я буду дивитись пізніше, коли у мене буде більше часу.
Висновок
Використання лише кількості точок даних недостатньо, домішка означає, наскільки одна особливість (тестова функція) здатна відтворити розподіл іншої функції (ознака класу). Тестовий розподіл функцій видає число, яке ви використовували (як ліворуч, як праворуч), але розподіл функції класу у ваших формулах не використовується.
Пізніше редагуйте - доведіть, чому вона зменшується
Тепер я помітив, що я пропустив ту частину, яка доводить, чому завжди індекс джині на дочірньому вузлі менше, ніж на батьківському вузлі. У мене немає повного доказу чи перевіреного, але я думаю, що це вагомий доказ. Для іншої цікавої речі, пов'язаної з темою, ви можете перевірити Технічну примітку: Деякі властивості критеріїв розщеплення - Лео Брейман . Тепер воно піде за моїм доказом.
Припустимо , що ми в довічним випадку, і все значення у вузлі може бути повністю описується парою зі значенням примірників першого класу, і примірників другого класу. Ми можемо констатувати, ніж це у батьківському вузлі, у якого є екземпляри.(a,b)ab(a,b)
Для того, щоб знайти найкращий розділ, ми сортуємо екземпляри за допомогою тестової функції і намагаємося всі можливі бінарні розбиття. Сортування за заданою ознакою насправді є перестановкою екземплярів, в яких класи починаються з екземпляра першого або другого класу. Не втрачаючи загальності, ми припустимо, що він починається з екземпляра першого класу (якщо це не так, у нас є дзеркальне підтвердження з тим же розрахунком).
Перший розділ, який слід спробувати, - у лівому та правому екземплярах. Яким чином індекс джині для тих можливих кандидатів для лівого і правого дочірніх вузлів порівнюється з батьківським вузлом? Очевидно, що зліва у нас . Тож у лівій частині ми маємо менше значення індексу джині. Як щодо правого вузла?(1,0)(a−1,b)h(left)=1−(1/1)2−(0/1)2=0
h(parent)=1−(aa+b)2−(ba+b)2
h(right)=1−(a−1(a−1)+b)2−(b(a−1)+b)2
Враховуючи, що більший або дорівнює (оскільки в іншому випадку, як ми могли відокремити екземпляр першого класу в лівому вузлі?) І після спрощення зрозуміти, що індекс gini для правого вузла має менше значення, ніж для батьківський вузол.a0
Тепер завершальним етапом доказу є те, що, розглядаючи всі можливі точки розщеплення, продиктовані отриманими нами даними, ми зберігаємо ту, яка має найменший сумарний індекс Джині, що означає, що вибраний нами оптимум є меншим або рівним, ніж тривіальний той, який я довів, що менший. Що робить висновок, що врешті-решт індекс джині зменшиться.
В якості остаточного висновку ми маємо зазначити, навіть якщо різні розщеплення можуть дати значення, що перевищують цей батьківський вузол, те, що ми обираємо, буде найменшим серед них, а також меншим, ніж значення батьківського індексу Джині.
Сподіваюся, це допомагає.