-
Data: 2009-11-15 12:23:50
Temat: drzewa decyzyjne cdn
Od: Mariusz Marszałkowski <m...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Witam
Mam zalążek pomysłu na algorytm budowania drzewa decyzyjnego.
Podejrzewam że
nie ja pierwszy to wymyśliłem, będę więc wdzięczny za linka do
bardziej dopracowanej formy
tego algorytmu i za wszelkie uwagi.
Na początku jest problem z wybraniem struktury drzewa. Nie wiadomo
jaki rozmiar powinno
mieć drzewo i ile powinno mieć liści dla każdej klasy. Chyba trzeba
odgadnąć architekturę
drzewa na podstawie spodziewanych danych.
Gdy już mamy architekturę drzewa, możemy budować klasyfikator.
Najpierw buduejmy
zbiór wszystkich dopuszczalnych reguł. Następnie bierzemy kolejno po
jednym wektorze
uczącym. Sprawdzamy do jakiej klasy należy ten wektor. Wybieramy
losowo (może
jest lepszy sposób niż losowo?) taki liść drzewa decyzyjnego, który
reprezentuje tą samą
klasę do której przynależy wektor uczący. Po ustaleniu liścia tego
wektora, poruszamy
się w drzewie poprzez kolejnych rodziców aż do osiągnięcia korzenia.
Podczas poruszania się
do korzenia, w każdym węźle przeprowadzamy coś w rodzaju głosowania na
wszystkie
reguły z ustalonego na początku zbioru reguł. Głosowanie może wyglądać
np. tak:
1) jesteśmy w węźle X
2) węzeł X ma dwóch potomków Y_1 i Y_2
3) do węzła X dotarliśmy np. z potomka Y_1
4) dla wszystkich reguł R_i :
a) jeśli reguła R_i spowoduje przydzielenie bieżącego wektora do
Y_1 otrzymuje 1 głos ( np. suma = suma + 1 )
b) jeśli reguła R_i spowoduje przydzielenie bieżącego wektora do
Y_2 traci 1 głos (np. suma = suma - 1)
W ten sposób po wyczerpaniu wektorów uczących w każdym węźle byśmy
mieli zestaw reguł i
przypisane tym regułom liczby. Duża liczba oznaczałaby że reguła
często przyczyniała się do
dobrej klasyfikacji, a mała liczba że reguła przyczyniała się rzadko.
Ostatecznie do zbudowania
drzewa decyzyjnego należałoby użyć tych reguł które mają przypisane
największe liczby.
Jeszcze raz podkreślę że to jest zalążek pomysłu, ma on wiele wad i
jest na tym etapie
bardzo niedopracowany. Będę wdzięczny za wszelkie pomysły na
ulepszenie, albo argumenty
na to że taki algorytm jednak nie jest w stanie zbudować dobrego
drzewa decyzyjnego.
Zastanawiam się także czy taki algorytm mógłby pracować online, gdyż w
danej chwili potrzebuje
tylko jednego wektora uczącego.
Pozdrawiam serdecznie.
Następne wpisy z tego wątku
- 09.12.09 21:36 Red Art
- 10.12.09 00:44 Mariusz Marszałkowski
Najnowsze wątki z tej grupy
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
Najnowsze wątki
- 2024-11-13 Filtr do pompy ruskiej
- 2024-11-12 Gdzie kosz?
- 2024-11-13 elektrycznie
- 2024-11-12 Jebane kurwa, kurwy.
- 2024-11-13 karta parkingowa
- 2024-11-13 Wl/Wyl (On/Off) bialy/niebieski
- 2024-11-12 I3C
- 2024-11-13 Kraków => DevOps Engineer (Junior or Regular level) <=
- 2024-11-13 Łódź => Senior SAP HANA Developer <=
- 2024-11-13 Zabrze => Senior PHP Symfony Developer <=
- 2024-11-13 Karlino => Konsultant wewnętrzny SAP (FI/CO) <=
- 2024-11-13 Kraków => QA Inżynier <=
- 2024-11-13 Żerniki => Dyspozytor Międzynarodowy <=
- 2024-11-13 Warszawa => Analityk Biznesowo-Systemowy <=
- 2024-11-13 Lublin => Delphi Programmer <=