Zrobiłem dwa drzewa na podstawie takich samych danych trenujących - jedno algorytmem CART, drugie C4.5. Wyszły identyczne (poza naturalną różnicą w budowie wynikającą z binarnego ograniczenia podziałów w CART) - węzły z tymi samymi atrybutami, ponadto dla tych samych danych testowych dają takie same wyniki.
Pytanie proste - to dobrze, czy źle? Czy zawsze tak jest?
Wiem, że temat z przed roku, ale interesuje mnie tematyka tychże algorytmów. Potrzebuję informacji na ich temat oraz ew. pomocy w napisaniu implementacji tychże algorytmów.
:-)
Może być dobrze - 2 algorytmy używające różnych heurystyk mogły znaleźć minimum globalne (czyli optymalną konstrukcję drzewa). Chociaż gwarancji nie masz.
I drugie pytanie - nie nie zawsze tak jest. Jeden algorytm możne znaleźć minimum globalne drugi algorytm tylko lokalne, lub oba algorytmy mogą wpaść w minimum lokalne. Natomiast jak już masz skontruowane 2 drzewa i oba są takie same to oczywiście te 2 drzewa będą dawały takie same wyniki, niezależnie przy pomocy jakiego algorytmu zostały zbuodowane.
Berek napisał(a)
Wiem, że temat z przed roku, ale interesuje mnie tematyka tychże algorytmów. Potrzebuję informacji na ich temat oraz ew. pomocy w napisaniu implementacji tychże algorytmów.
:-)
Nie jest to chyba coś skomplikowanego w implementacji. Jeśli dobrze myślę, to w każdej iteracji trzeba obliczyć miarę optymalności (w CART) lub zysku informacji (w C 4.5) dla pozostałych możliwych podziałów, a potem wybrać optymalne dla każdego z węzłów. Później ewentualnie należy wykonać jakiś algorytm przycinający drzewo, aby nie było ono przeuczone.
Oba te algorytmy są dość dobrze opisane w książce Daniela Larose "Odkrywanie wiedzy z danych".