Chodziłem dookoła, by znaleźć jasne wytłumaczenie „kubalizacji” w uczeniu maszynowym bez powodzenia. Jak dotąd rozumiem, że kubetyzacja jest podobna do kwantyzacji w cyfrowym przetwarzaniu sygnału, w którym zakres ciągłych wartości jest zastępowany jedną dyskretną wartością. Czy to jest poprawne?
Jakie są zalety i wady (oprócz oczywistego wpływu utraty informacji) stosowania wiaderkowania? Czy istnieją jakieś praktyczne zasady dotyczące stosowania wiaderkowania? Czy istnieją jakieś wytyczne / algorytmy dotyczące stosowania kubalizacji przed zastosowaniem uczenia maszynowego?
Odpowiedzi:
Jest to szeroki temat i można napotkać szereg powodów, dla których dane powinny być lub są już gromadzone. Nie wszystkie z nich są związane z dokładnością predykcyjną.
Po pierwsze, oto przykład, w którym modelarz może chcieć spieniężać. Załóżmy, że buduję model punktacji kredytowej: chcę poznać skłonność ludzi do spłacania pożyczki. W moich danych mam kolumnę wskazującą status raportu kredytowego. Oznacza to, że zamówiłem raport od agencji ratingowej, a agencja zwróciła, powiedzmy, swój zastrzeżony wynik wraz ze zmienną kategorialną wskazującą na wiarygodność tego wyniku. Ten wskaźnik może być znacznie bardziej drobnoziarnisty, niż potrzebuję do swoich celów. Na przykład „brak wystarczających informacji na wiarygodny wynik” można podzielić na wiele klas, takich jak „mniej niż 20 lat”, „niedawno przeprowadził się do kraju”, „brak wcześniejszej historii kredytowej” itp. Wiele z tych klas może być słabo zaludniony, a zatem raczej bezużyteczny w regresji lub innym modelu. Aby sobie z tym poradzić, mogę chcieć połączyć podobne klasy razem, aby skonsolidować moc statystyczną w „reprezentatywną” klasę. Na przykład rozsądne może być użycie binarnego wskaźnika „dobra informacja zwrócona” vs. „brak informacji zwróconej”. Z mojego doświadczenia wynika, że wiele zastosowań wiaderkowania należy do tego ogólnegozwijanie słabo zaludnionego typu kategorii .
Niektóre algorytmy używają kubalizacji wewnętrznie. Na przykład drzewa mieszczące się w algorytmach wzmacniających często spędzają większość czasu na etapie podsumowania, w którym ciągłe dane w każdym węźle są dyskretyzowane i obliczana jest średnia wartość odpowiedzi w każdym segmencie. To znacznie zmniejsza złożoność obliczeniową znalezienia odpowiedniego podziału, bez poświęcenia dokładności z powodu wzmocnienia.
Możesz również po prostu otrzymać dane wstępnie spakowane. Dyskretne dane są łatwiejsze do kompresji i przechowywania - długi zestaw liczb zmiennoprzecinkowych jest prawie nieściśliwy, ale po dyskretyzacji na „wysoki”, „średni” i „niski” możesz zaoszczędzić dużo miejsca w bazie danych. Twoje dane mogą również pochodzić ze źródła ukierunkowanego na aplikację nie modelującą. Zdarza się to często, gdy otrzymuję dane od organizacji, które wykonują mniej pracy analitycznej. Ich dane są często wykorzystywane do raportowania i są podsumowane na wysokim poziomie, aby pomóc w interpretacji raportów dla laików. Te dane mogą być nadal przydatne, ale często traci się trochę energii.
To, co widzę mniej wartości, choć możliwe, że mogę to poprawić, to wstępne gromadzenie ciągłych pomiarów do celów modelowania. Istnieje wiele bardzo skutecznych metod dopasowania efektów nieliniowych do ciągłych predyktorów, a buckeization eliminuje twoją zdolność do ich używania. Uważam to za złą praktykę.
źródło
Zgodnie z artykułem „Nauka o wysokim poziomie w porównaniu z nauką o niskim poziomie” jest kubizowany
Rozumiem więc, że łapczywie dzielisz dane według najbardziej przewidywalnych funkcji, a następnie analizujesz podgrupy.
źródło