Interpretando a estimativa de erro fora do saco para RandomForestRegressor

9

Estou usando o regressor RandomForest nos meus dados e pude ver que a pontuação oob foi obtida como 0,83. Não tenho certeza de como foi a situação. Quero dizer, minhas metas são valores altos no intervalo de 10 ^ 7. Portanto, se for MSE, deveria ter sido muito maior. Não entendo o que 0,83 significa aqui.

Estou usando o RandomForestRegressor do python do kit de ferramentas sklearn.

eu faço

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

Então vejo model.oob_score_ e obtenho valores como 0,83809026152005295

user34790
fonte
@Momo. Estou usando o RandomForestRegressor do sklearn.ensemble do python. Eu apenas uso o modelo como
user34790

Respostas:

6

Para comparar os valores-alvo da verdade básica (ou seja, corretos / reais) com os valores-alvo estimados (ou seja, previstos) pela floresta aleatória, o scikit-learn não usa o MSE, mas (ao contrário de MATLAB ou ( Breiman 1996b ) ), como você pode ver no código de 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()calcula o coeficiente de determinação aka. R2 , cuja melhor pontuação possível é 1,0, e valores mais baixos são piores.

PARA SUA INFORMAÇÃO:

Franck Dernoncourt
fonte