Phiên bản ngắn: Tôi đang tìm kiếm một gói R có thể xây dựng các cây quyết định trong khi mỗi lá trong cây quyết định là một mô hình hồi quy tuyến tính đầy đủ. AFAIK, thư viện rpart
tạo ra các cây quyết định trong đó biến phụ thuộc không đổi trong mỗi lá. Có thư viện nào khác (hoặc một rpart
thiết lập mà tôi không biết) có thể xây dựng những cây như vậy không?
Phiên bản dài: Tôi đang tìm kiếm một thuật toán xây dựng cây quyết định dựa trên tập dữ liệu huấn luyện. Mỗi quyết định trong cây chia dữ liệu huấn luyện thành hai phần, theo một điều kiện trên một trong các biến độc lập. Phần gốc của cây chứa tập dữ liệu đầy đủ và mỗi mục trong tập dữ liệu được chứa chính xác trong một nút lá.
Thuật toán diễn ra như sau:
- Bắt đầu với tập dữ liệu đầy đủ, là nút gốc của cây. Chọn nút này và gọi nó là .
- Tạo một mô hình Linear Regression trên các dữ liệu trong .
- Nếu của mô hình tuyến tính của N cao hơn một số ngưỡng θ R 2 , thì chúng ta đã hoàn thành với N , vì vậy hãy đánh dấu N là một chiếc lá và nhảy sang bước 5.
- Hãy thử quyết định ngẫu nhiên và chọn một quyết định mang lại R 2 tốt nhất trong các mã con:
- Chọn một biến độc lập ngẫu nhiên , cũng như ngưỡng ngẫu nhiên θ i .
- Quyết định chia tập dữ liệu của N vào hai nút mới, N và ~ N .
- Tạo mô hình Linear Regression trên cả N và ~ N , và tính toán của họ R 2 (gọi họ r và ~ r ).
- Từ tất cả những tuples ( v i , θ i , r , ~ r ) , chọn một với tối đa m i n ( r , ~ r ) . Điều này mang lại một quyết định mới trong cây, và N có hai subnodes mới N và ~ N .
- Chúng tôi có chế biến thành . Chọn một nút N mới chưa được xử lý và quay lại bước 2. Nếu tất cả các nút đã được xử lý, thuật toán kết thúc.
Điều này sẽ xây dựng đệ quy một cây quyết định phân chia dữ liệu thành các phần nhỏ hơn và tính toán Mô hình tuyến tính trên mỗi phần đó.
Bước 3 là điều kiện thoát, điều này ngăn thuật toán quá mức. Tất nhiên, có những điều kiện thoát khác có thể:
- Thoát nếu chiều sâu 's trong cây là trên θ d e p t h
- Thoát nếu dữ liệu được đặt trong nhỏ hơn θ d a t a s e t
Có một thuật toán như vậy trong một gói R?