6

Sto usando scikit-learn's Random Forest Regressor per adattare un regressore foresta casuale su un set di dati. È possibile interpretare l'output in un formato in cui posso quindi implementare il modello senza utilizzare scikit-learn o anche Python?Interpretazione casuale foresta in scikit-learn

La soluzione dovrebbe essere implementata in un microcontrollore o forse anche in uno FPGA. Sto facendo analisi e apprendimento in Python ma voglio implementare su un uC o FPGA.

risposta

3

È possibile controllare graphviz, che utilizza il "linguaggio dei punti" per la memorizzazione dei modelli (che è abbastanza leggibile se si desidera creare un interprete personalizzato, non dovrebbe essere difficile). C'è una funzione export_graphviz in scikit-learn. È possibile caricare ed elaborare il modello in C++ tramite il metodo di libreria boost o alcuni altri interpreti personalizzati disponibili.

+1

sembra che "export_graphviz' sia in' sklearn.tree' e assuma come parametro un albero decisionale. Come si applicherebbe questo a un metodo di ensemble come 'sklearn.ensemble.RandomForestRegressor'? –

+1

@Los La foresta casuale è semplicemente un insieme di alberi e quindi può essere esportata in graphviz. – sashkello

+1

Freddo. Ho appena notato il campo estimators_ per ottenere i regressori individuali: http://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestRegressor.html. Grazie! –

0

Non è chiaro cosa si intende con questa parte:

Ora, che ho i risultati, è possibile interpretare questo in un formato dove posso quindi implementare la misura senza usare sklearn o addirittura pitone?

Implementare il processo di adattamento per un determinato set di dati? topologia ad albero? scelta dei parametri?

Per quanto riguarda 'implementare ... senza usare sklearn o Python', volevi dire 'porta il bytecode o binario' o 'codice pulito maniera del tutto nuova implementazione'?

Supponendo che tu intenda quest'ultimo, suggerirei GPU piuttosto che FPGA o uC.