Studium przypadku
Analizator drzew decyzyjnych
Narzędzie CLI w Pythonie wyjaśniające strukturę danych przez entropię, przyrost informacji, gain ratio i eksport wizualizacji drzewa.
Wewnątrz projektu
Kontekst
Projekt akademicki zamienia obliczenia stojące za uczeniem drzewa decyzyjnego w przejrzysty proces wiersza poleceń. Zamiast ukrywać działanie w bibliotece machine learning, pokazuje metryki, które decydują o wyborze najlepszego atrybutu podziału.
Rola
Zaimplementowałem wczytywanie danych, analizę statystyczną, ocenę podziałów, budowę drzewa, raporty konsolowe oraz eksport do formatu tekstowego i Graphviz.
Ograniczenia
Narzędzie miało działać na prostych zbiorach tekstowych, poprawnie obsługiwać atrybuty o różnej liczbie wartości i prezentować wyniki pośrednie na tyle jasno, aby można je było zweryfikować ręcznie.
Podejście
Dla każdego atrybutu program zlicza unikalne wartości i ich wystąpienia, a następnie oblicza entropię zbioru, entropię warunkową, przyrost informacji, split information i gain ratio. Atrybut z najwyższym współczynnikiem staje się kolejnym węzłem, a wynikowa struktura jest eksportowana jako czytelny tekst oraz wizualizacja DOT/SVG.
Rezultat
CLI generuje kompletny raport analityczny i wizualne drzewo decyzyjne w jednym uruchomieniu. Może służyć zarówno jako ćwiczenie klasyfikacyjne, jak i narzędzie edukacyjne pokazujące, dlaczego algorytm wybiera konkretny podział.
Wnioski
Samodzielna implementacja metryk wyraźnie pokazała zależność między rozkładem danych a strukturą drzewa. Podkreśliła też znaczenie przypadków brzegowych w obliczeniach, szczególnie zerowych prawdopodobieństw i atrybutów, które wnoszą niewiele lub pozornie dużo informacji.
