Czy musisz znormalizować dane podczas budowania drzew decyzyjnych przy użyciu R?

10

Nasz zestaw danych w tym tygodniu ma 14 atrybutów, a każda kolumna ma bardzo różne wartości. Jedna kolumna ma wartości poniżej 1, a druga kolumna ma wartości od trzech do czterech pełnych cyfr.

Nauczyliśmy się normalizacji w zeszłym tygodniu i wydaje się, że powinieneś normalizować dane, gdy mają one bardzo różne wartości. Czy w przypadku drzew decyzyjnych sprawa jest taka sama?

Nie jestem tego pewien, ale czy normalizacja wpłynie na wynikowe drzewo decyzyjne z tego samego zestawu danych? Nie wydaje się tak, ale ...

Jae
źródło

Odpowiedzi:

13

Żadna monotoniczna transformacja nie ma wpływu na najczęściej spotykane typy drzew decyzyjnych. Tak długo, jak zachowujesz porządek, drzewa decyzyjne są takie same (oczywiście przez to samo drzewo rozumiem tę samą strukturę decyzyjną, a nie te same wartości dla każdego testu w każdym węźle drzewa).

Powodem tego jest to, jak działają zwykłe funkcje zanieczyszczenia. Aby znaleźć najlepszy podział, przeszukuje każdy wymiar (atrybut) punkt podziału, który jest w zasadzie klauzulą ​​if, która grupuje wartości docelowe odpowiadające instancjom, których wartość testowa jest mniejsza niż wartość podziału, a po prawej wartości większe niż równe. Dzieje się tak w przypadku atrybutów numerycznych (co moim zdaniem jest twoim przypadkiem, ponieważ nie wiem, jak znormalizować atrybut nominalny). Teraz możesz zauważyć, że kryteria są mniejsze lub większe niż. Co oznacza, że ​​rzeczywista informacja z atrybutów w celu znalezienia podziału (i całego drzewa) to tylko kolejność wartości. Co oznacza, że ​​dopóki przekształcisz swoje atrybuty w taki sposób, że pierwotne uporządkowanie jest zarezerwowane, otrzymasz to samo drzewo.

Nie wszystkie modele są niewrażliwe na tego rodzaju transformację. Na przykład modele regresji liniowej dają takie same wyniki, jeśli pomnożymy atrybut przez coś innego niż zero. Otrzymasz różne współczynniki regresji, ale przewidywana wartość będzie taka sama. Nie dzieje się tak, gdy weźmiesz dziennik tej transformacji. Na przykład w przypadku regresji liniowej normalizacja jest bezużyteczna, ponieważ zapewni ten sam wynik.

Jednak nie jest tak w przypadku karanej regresji liniowej, takiej jak regresja kalenicy. W karanych regresjach liniowych do współczynników stosowane jest ograniczenie. Chodzi o to, że ograniczenie jest stosowane do sumy funkcji współczynników. Teraz, jeśli napompujesz atrybut, współczynnik zostanie spuszczony, co oznacza, że ​​w końcu kara za ten współczynnik zostanie sztucznie zmodyfikowana. W takiej sytuacji normalizuje się atrybuty, aby każdy współczynnik był ograniczeniem „sprawiedliwie”.

Mam nadzieję, że to pomoże

rapaio
źródło