Інтерпретація оцінки помилки сумки для RandomForestRegressor


9

Я використовую регрессор RandomForest за моїми даними, і я міг бачити, що показник oob був 0,83. Я не впевнений, як це вийшло таким. Я маю на увазі мої цілі - високі значення в межах 10 ^ 7. Так що якщо це MSE, то він повинен був бути набагато вище. Я не розумію, що тут означає 0,83.

Я використовую RandomForestRegressor python інструментарію sklearn.

я згоден

модель = RandomForestRegressor (max_depth = 7, n_estimators = 100, oob_score = Правда, n_jobs = -1) model.fit (trainX, trainY)

Потім я бачу model.oob_score_ і отримую такі значення, як 0.83809026152005295


@Momo. Я використовую sklearn.ensemble's RandomForestRegressor python's. Я просто використовую модель типу
user34790

Відповіді:


6

Для того, щоб порівняти основні істинні (тобто правильні / фактичні) цільові значення з оціночними (тобто передбачуваними) цільовими значеннями за випадковим лісом, scikit-learn не використовує MSE, але R2(на відміну, наприклад, MATLAB або ( Breiman 1996b )), як ви бачите в коді forest.py :

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()обчислює коефіцієнт визначення ака. R2 , найкращий показник якого 1,0, а нижчі значення - гірші.

FYI:

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.