Các giá trị CP (Độ phức tạp chi phí) được tính như thế nào trong RPART (hoặc cây quyết định nói chung)


9

Theo những gì tôi hiểu, đối số cp cho rparthàm giúp cắt tỉa trước cây theo cách tương tự như đối số minsplit hoặc minbucket. Điều tôi không hiểu là cách tính giá trị CP. Ví dụ

df<-data.frame(x=c(1,2,3,3,3,4), y=as.factor(c(TRUE, TRUE, FALSE, TRUE, FALSE, FALSE)), method="class")
mytree<-rpart(y ~ x, data = df, minbucket = 1, minsplit=1)

Cây kết quả ...

mytree
n= 6 

node), split, n, loss, yval, (yprob)
      * denotes terminal node

1) root 6 3 FALSE (0.5000000 0.5000000)  
  2) x>=2.5 4 1 FALSE (0.7500000 0.2500000) *
  3) x< 2.5 2 0 TRUE (0.0000000 1.0000000) *

Tóm lược...

summary(mytree)

Call:
rpart(formula = y ~ x, data = df, minbucket = 1, minsplit = 1)
  n= 6 

         CP nsplit rel error    xerror      xstd
1 0.6666667      0 1.0000000 2.0000000 0.0000000
2 0.0100000      1 0.3333333 0.6666667 0.3849002

.666 và .01 đến từ đâu?


Vui lòng kiểm tra câu trả lời của tôi trong bài đăng này
Haitao Du

Đó là việc giảm lỗi rel xuống cấp độ cây tiếp theo. Có thể có một lời giải thích khác, nhưng theo ý kiến ​​của tôi, tôi thích cách đơn giản hơn
đám mây

Câu trả lời:


2

Tôi đã tìm kiếm tương tự từ nhiều ngày và tôi đã biết một điều rằng tính toán giá trị cp được chăm sóc theo gói. Theo mặc định, nếu bạn không chỉ định giá trị "CP" thì rpart sẽ lấy giá trị là 0,01. Giá trị Cp là chi phí thêm nút vào cây.



2

Tham số độ phức tạp (cp) trong rpart là sự cải thiện tối thiểu trong mô hình cần thiết ở mỗi nút. Nó dựa trên độ phức tạp chi phí của mô hình được xác định là nhập mô tả hình ảnh ở đây

Đối với cây đã cho, thêm phân loại sai ở mỗi nút đầu cuối. Sau đó nhân số lần chia thời gian một thời hạn phạt (lambda) và thêm nó vào tổng phân loại sai. Lambda được xác định thông qua xác nhận chéo và không được báo cáo trong R.

Đối với các mô hình hồi quy (xem phần tiếp theo), cp được chia tỷ lệ có một cách hiểu rất trực tiếp: nếu bất kỳ sự phân tách nào không làm tăng R2 tổng thể của mô hình ít nhất là cp (trong đó R2 là định nghĩa mô hình tuyến tính thông thường) thì sự phân chia đó được quy định được, một tiên nghiệm, không đáng để theo đuổi. Xem tài liệu longintro cho rpart


Nguồn bình luận đầu tiên của tôi: learnbymarketing.com/tutorials/rpart-decision-trees-in-r
Akshay Kadidal
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.