Powiedzmy, że mam predykcyjny model klasyfikacji oparty na losowym lesie (używając pakietu randomForest w R). Chciałbym to skonfigurować, aby użytkownicy końcowi mogli określić element, dla którego ma zostać wygenerowana prognoza, i wyświetli prawdopodobieństwo klasyfikacji. Jak dotąd nie ma problemu.
Byłoby jednak użyteczne / fajne, aby móc wygenerować coś w rodzaju wykresu o zmiennej ważności, ale dla konkretnego przewidywanego elementu, a nie dla zestawu treningowego. Coś jak:
Przewiduje się, że pozycja X będzie psem (prawdopodobnie 73%),
ponieważ:
nogi = 4
oddech = złe
futro = krótkie
jedzenie = paskudne
Dostajesz punkt. Czy istnieje standardowy lub przynajmniej uzasadniony sposób wydobywania tych informacji z wyszkolonego losowego lasu? Jeśli tak, to czy ktoś ma kod, który zrobi to dla pakietu randomForest?
źródło
m
predyktorów jeden po drugim i sprawdzanie, jak las inaczej przewiduje, wydaje się trochę drogie. Musi być lepszy sposób.Odpowiedzi:
Pierwszym pomysłem jest po prostu naśladowanie strategii nokautu ze zmiennego znaczenia i po prostu przetestowanie, w jaki sposób mieszanie każdego atrybutu pogorszy zaufanie lasu do klasyfikacji obiektów (w przypadku OOB i oczywiście z niektórymi powtórzeniami). Wymaga to trochę kodowania, ale z pewnością jest osiągalne.
Uważam jednak, że jest to po prostu zły pomysł - wynik będzie prawdopodobnie zmienny jak diabli (bez stabilizacji wpływu uśredniania na obiekty), hałaśliwy (w przypadku niezbyt pewnych siebie atrybuty nonsensowne mogą mieć duży wpływ) i trudne do interpretować (dwie lub więcej reguł współpracy atrybutów prawdopodobnie spowoduje losowy wpływ każdego atrybutu)
Nie pozostawiając wam negatywnej odpowiedzi, wolę raczej spojrzeć na macierz bliskości i możliwe archetypy, które może ona ujawnić - wydaje się to znacznie bardziej stabilne i proste.
źródło
Spróbowałbym z ramą wapna .
Działa z wieloma modelami (w tym z losowym lasem). Może być używany do interpretacji lokalnej (to znaczy wyjaśniania pojedynczej prognozy) lub do interpretacji globalnej (to znaczy wyjaśniania całego modelu).
Cytowanie z wyciągu
Zawiera pakiety zarówno dla R, jak i Pythona , i wiele przykładów, jeśli google go.
źródło