Interpretazione della stima dell'errore fuori borsa per RandomForestRegressor


9

Sto usando il regressore RandomForest sui miei dati e ho potuto vedere che il punteggio OOB è stato ottenuto per essere 0,83. Non sono sicuro di come sia venuto fuori così. Voglio dire, i miei obiettivi sono valori alti nell'intervallo di 10 ^ 7. Quindi, se è MSE, avrebbe dovuto essere molto più alto. Non capisco cosa significhi 0.83 qui.

Sto usando RandomForestRegressor di python del toolkit sklearn.

lo voglio

model = RandomForestRegressor (max_depth = 7, n_estimators = 100, oob_score = True, n_jobs = -1) model.fit (trainX, trainY)

Quindi vedo model.oob_score_ e ottengo valori come 0,83809026152005295


@Momo. Sto usando RandomForestRegressor di python sklearn.ensemble. Uso solo il modello come
user34790,

Risposte:


6

Al fine di confrontare i valori target di verità di base (cioè corretti / effettivi) con valori target stimati (cioè previsti) dalla foresta casuale, scikit-learn non utilizza MSE ma (diversamente da MATLAB o ( Breiman 1996b ) ), come puoi vedere nel codice di forest.py :R2

self.oob_score_ = 0.0
for k in xrange(self.n_outputs_):
    self.oob_score_ += r2_score(y[:, k], predictions[:, k])
self.oob_score_ /= self.n_outputs_

r2_score()calcola il coefficiente di determinazione aka. R2 , il cui miglior punteggio possibile è 1,0 e valori inferiori sono peggiori.

FYI:

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.