6

Używam scikit-learn's Random Forest Regressor do dopasowania losowego regresora lasu na zbiorze danych. Czy możliwe jest zinterpretowanie danych wyjściowych w formacie, w którym mogę następnie zastosować dopasowanie modelu bez użycia scikit-learn lub nawet Python?Losowa interpretacja lasu w scikit-learn

Rozwiązanie należy wdrożyć w mikrokontroleru, a może nawet w wersji FPGA. Robię analizy i uczenie się w Pythonie, ale chcę je wdrożyć na UC lub FPGA.

Odpowiedz

3

Możesz sprawdzić graphviz, który używa "języka kropki" do przechowywania modeli (który jest czytelny dla ludzi, jeśli chcesz zbudować jakiegoś niestandardowego interpretera, nie powinien być trudny). W scikit-learn znajduje się funkcja export_graphviz. Możesz załadować i przetworzyć model w C++ poprzez metodę biblioteki boost (read_graphviz) lub inne dostępne niestandardowe interpretery.

+1

Wygląda na to, że 'export_graphviz' jest w' sklearn.tree' i przyjmuje jako parametr drzewo decyzyjne. W jaki sposób można to zastosować do metody zespołu, takie jak 'sklearn.ensemble.RandomForestRegressor'? –

+1

@Los Losowy las to po prostu zbiór drzew, a zatem można go wyeksportować w grafviz. – sashkello

+1

Cool. Właśnie zauważyłem pole estimators_ dla uzyskania poszczególnych regresorów: http://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestRegressor.html. Dzięki! –

0

To jasne, co masz na myśli tej części:

teraz, że mam wyniki, to jest możliwe, aby zinterpretować to w pewnym formacie, gdzie można następnie wdrożyć dopasowanie bez użycia sklearn lub nawet Python?

Wprowadź proces dopasowania dla danego zestawu danych? topologia drzewa? wybór parametrów?

Jeśli chodzi o "wdrożenie ... bez użycia sklearn lub python", czy miałeś na myśli "port kodu bajtowego lub binarnego" lub "clean-code całkowicie nową implementację"?

Zakładając, że chodziło o to drugie, sugerowałbym raczej GPU niż FPGA lub uC.