Przeszkoliłem model predykcyjny w Scikit Learn w Pythonie (Random Forest Regressor) i chcę w jakiś sposób wyodrębnić wagi każdej funkcji, aby stworzyć narzędzie Excel do ręcznego przewidywania.
Jedyne, co znalazłem, model.feature_importances_
to nie pomaga.
Czy jest jakiś sposób na osiągnięcie tego?
def performRandomForest(X_train, y_train, X_test, y_test):
'''Perform Random Forest Regression'''
from sklearn.ensemble import RandomForestRegressor
model = RandomForestRegressor()
model.fit( X_train , y_train )
#make predictions
expected = y_test
predicted = model.predict( X_test )
#summarize the fit of the model
mse = np.mean(( predicted - expected )** 2)
accuracy = ( model.score ( X_train , y_train ))
return model, mse, accuracy
W tej chwili używam model.predict([features])
do tego, ale potrzebuję go w pliku Excela.
decision trees
, więc nie otrzymasz jednego równania, tak jak w przypadku regresji liniowej. Zamiast tego otrzymaszif, then, else
sporo logiki i wiele ostatecznych równań, aby zamienić końcowe liście w wartości liczbowe. Nawet jeśli potrafisz wyobrazić sobie drzewo i wyciągnąć całą logikę, wszystko wydaje się być wielkim bałaganem. Jeśli pracujesz w programie Excel, może pomyśl o szkoleniu swojego modelu w programie Excel przy użyciu platformy Azure. Jednak prawdopodobnie po prostu wywołałbym pytona z poziomu programu Excel.Odpowiedzi:
SKompiler biblioteka może pomóc:
Sprawdź ten film .
źródło
Zamiast eksportować odważniki, możesz wyeksportować model do pliku marynowanego i użyć xlwings do odczytania danych z arkusza kalkulacyjnego, załadowania marynowanego modelu i uruchomienia prognozy Oto podobne pytania .
źródło
Myślę, że chcesz wyodrębnić całą logikę, a następnie różne drzewa, aby skończyć na ostatecznym regresorze. W tym celu musisz najpierw wyodrębnić logikę każdego drzewa, a następnie wyodrębnić sposób, w jaki ścieżki te są przestrzegane. Scikit learn może to zapewnić poprzez .decision_path (X), z X pewnym zestawem danych do przewidzenia. Stąd dowiesz się, jak losowy las przewiduje i jaką logikę stosuje się na każdym kroku.
Po wyodrębnieniu ścieżki decyzyjnej możesz użyć interpretera drzewa, aby uzyskać „formułę” wyszkolonego lasu losowego. Nie znam tego interpretatora drzew, ale wydaje się, że działa on bezpośrednio na wyszkolonym przez ciebie modelarzu, tj.
źródło