Giải thích ước tính lỗi túi cho RandomForestRegressor


9

Tôi đang sử dụng công cụ hồi quy RandomForest trên dữ liệu của mình và tôi có thể thấy rằng điểm oob thu được là 0,83. Tôi không chắc làm thế nào mà nó lại xuất hiện như thế này. Ý tôi là mục tiêu của tôi là giá trị cao trong phạm vi 10 ^ 7. Vì vậy, nếu đó là MSE thì nó sẽ cao hơn nhiều. Tôi không hiểu những gì 0.83 biểu thị ở đây.

Tôi đang sử dụng RandomForestRegressor của bộ công cụ sklearn.

tôi làm

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

Sau đó, tôi thấy model.oob_score_ và tôi nhận được các giá trị như 0.83809026152005295


@Momo. Tôi đang sử dụng sklearn.ensemble's RandomForestRegressor của python. Tôi chỉ sử dụng mô hình như
user34790

Câu trả lời:


6

Để so sánh các giá trị mục tiêu thực tế (tức là chính xác / thực tế) với các giá trị mục tiêu ước tính (nghĩa là dự đoán) theo rừng ngẫu nhiên, scikit-learn không sử dụng MSE mà là (không giống như MATLAB hoặc ( Breiman 1996b ) ), như bạn có thể thấy trong mã của 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()tính hệ số xác định aka. R2 , có điểm số tốt nhất có thể là 1.0 và giá trị thấp hơn sẽ tệ hơn.

Tài chính

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.