За задачата за повишаване трябва да изберете най-добрия класификатор на всяка итерация на алгоритъма. За да направите това, трябва да минимизирате средната грешка на пъна в набора от данни по отношение на теглата, така че трябва да вземете предвид теглата на обектите, докато броите мярката за грешка на класификатор. Така наказанието на класификатора за неправилно етикетиране на обект с голямо тегло ще бъде по-голямо от наказанието за неправилно етикетиране на обект с малко тегло.
Можете да видите моята имплементация на усилване върху дървета на решения на език R работи добре, за пънове за вземане на решения, просто променете дълбочината на дървото на ред 132 на 1 и можете да тествате точността с различен брой класификатори, променящи параметър T.
Ако имате нужда от по-задълбочено разбиране: Можете да научите пънове по същия начин като дърво с дълбочина 1. За да научите дърво върху претеглен набор от данни, трябва да изберете функция и стойност, която разделя набора от данни по най-добрия начин на 2 части по избрана характеристика според претеглени показатели, за пример Ентропия и придобиване на информация. Можете просто да итерирате с for цикъл върху всички налични функции, във вложен цикъл да сортирате избраната функция и да опитате всички възможни разделяния на набор от данни в два набора S, според избраната функция и стойност на разделителя, след което да изчислите ентропията за всеки набор, както е написано в wikipedia , но вместо да изчисли p(x) като
Пропорцията на броя на елементите в клас x към броя на елементите в набора S
трябва да сумирате всички тегла на обекти с клас x в набора и да разделите това число на сумата върху всички тегла на обекти в този набор.
където - всички тегла на обекти в набор S и - всички тегла на обекти в набор S с клас x.
След това можете да изчислите печалбата от информация, но отново трябва да използвате претеглена пропорция p(t) вместо вариант в Уикипедия (пропорция на числата).
където - набор от тегла на обекти от първоначалния (неразделен с разделител) набор . и - набор от тегла на обекти от набор t (ще получите 2 комплекта t чрез разделяне на S с някаква разделителна стойност)
Изберете функция и стойност на разделителя, които ви дават най-голяма печалба и това е всичко, току-що сте научили нов класификатор на пънове за претеглени данни и той е готов за работа.
Направих снимка, за да дам пример за изчисление, тук избрах само 1 разделител, трябва да проверите печалбата за всеки възможен разделител.
person
Ibraim Ganiev
schedule
30.07.2015