Korzystam z regresora RandomForest na moich danych i mogłem zobaczyć, że wynik OOB wynosił 0,83. Nie jestem pewien, jak to się stało. Mam na myśli, że moje cele mają wysokie wartości w zakresie 10 ^ 7. Więc jeśli to MSE, to powinno być znacznie wyższe. Nie rozumiem, co oznacza tutaj 0,83.
Korzystam z RandomForestRegressor Pythona z zestawu narzędzi sklearn.
ja robię
model = RandomForestRegressor (max_depth = 7, n_estimators = 100, oob_score = True, n_jobs = -1) model.fit (trainX, trainY)
Następnie widzę model.oob_score_ i otrzymuję wartości takie jak 0.83809026152005295
regression
random-forest
użytkownik34790
źródło
źródło
Odpowiedzi:
Aby porównać prawdziwe wartości docelowe (tj. Prawidłowe / rzeczywiste) wartości docelowe z oszacowanymi (tj. Przewidywanymi) wartościami docelowymi przez losowy las, scikit-learn nie używa MSE, aleR2) (w przeciwieństwie do np. MATLAB lub ( Breiman 1996b )), jak widać w kodzie forest.py :
r2_score()
oblicza współczynnik determinacji aka. R2 , którego najlepszy możliwy wynik to 1,0, a niższe wartości są gorsze.FYI:
źródło