R - Cây quyết định
Cây quyết định là một biểu đồ để biểu diễn các lựa chọn và kết quả của chúng ở dạng cây. Các nút trong biểu đồ đại diện cho một sự kiện hoặc sự lựa chọn và các cạnh của biểu đồ đại diện cho các quy tắc hoặc điều kiện quyết định. Nó chủ yếu được sử dụng trong các ứng dụng Máy học và Khai thác dữ liệu bằng R.
Ví dụ về việc sử dụng địa chỉ quyết định là - dự đoán email là thư rác hay không phải thư rác, dự đoán khối u là ung thư hoặc dự đoán một khoản vay là rủi ro tín dụng tốt hay xấu dựa trên các yếu tố trong mỗi điều này. Nói chung, một mô hình được tạo với dữ liệu quan sát còn được gọi là dữ liệu huấn luyện. Sau đó, một tập hợp dữ liệu xác nhận được sử dụng để xác minh và cải thiện mô hình. R có các gói được sử dụng để tạo và hình dung cây quyết định. Đối với tập hợp biến dự đoán mới, chúng tôi sử dụng mô hình này để đi đến quyết định về danh mục (có / Không, spam / không spam) của dữ liệu.
Gói R "party" được sử dụng để tạo cây quyết định.
Cài đặt gói R
Sử dụng lệnh dưới đây trong bảng điều khiển R để cài đặt gói. Bạn cũng phải cài đặt các gói phụ thuộc nếu có.
install.packages("party")
Gói "party" có chức năng ctree() được sử dụng để tạo và phân tích cây decison.
Cú pháp
Cú pháp cơ bản để tạo cây quyết định trong R là:
ctree(formula, data)
Sau đây là mô tả về các tham số được sử dụng:
formula là một công thức mô tả các biến dự báo và phản ứng.
data là tên của tập dữ liệu được sử dụng.
Dữ liệu đầu vào
Chúng tôi sẽ sử dụng tập dữ liệu tích hợp R có tên readingSkillsđể tạo cây quyết định. Nó mô tả điểm số ReadingSkills của một người nào đó nếu chúng ta biết các biến "tuổi", "cỡ giày", "điểm số" và liệu người đó có phải là người bản ngữ hay không.
Đây là dữ liệu mẫu.
# Load the party package. It will automatically load other
# dependent packages.
library(party)
# Print some records from data set readingSkills.
print(head(readingSkills))
Khi chúng tôi thực thi đoạn mã trên, nó tạo ra kết quả và biểu đồ sau:
nativeSpeaker age shoeSize score
1 yes 5 24.83189 32.29385
2 yes 6 25.95238 36.63105
3 no 11 30.42170 49.60593
4 yes 7 28.66450 40.28456
5 yes 11 31.88207 55.46085
6 yes 10 30.07843 52.83124
Loading required package: methods
Loading required package: grid
...............................
...............................
Thí dụ
Chúng tôi sẽ sử dụng ctree() chức năng tạo cây quyết định và xem đồ thị của nó.
# Load the party package. It will automatically load other
# dependent packages.
library(party)
# Create the input data frame.
input.dat <- readingSkills[c(1:105),]
# Give the chart file a name.
png(file = "decision_tree.png")
# Create the tree.
output.tree <- ctree(
nativeSpeaker ~ age + shoeSize + score,
data = input.dat)
# Plot the tree.
plot(output.tree)
# Save the file.
dev.off()
Khi chúng tôi thực thi đoạn mã trên, nó tạo ra kết quả sau:
null device
1
Loading required package: methods
Loading required package: grid
Loading required package: mvtnorm
Loading required package: modeltools
Loading required package: stats4
Loading required package: strucchange
Loading required package: zoo
Attaching package: ‘zoo’
The following objects are masked from ‘package:base’:
as.Date, as.Date.numeric
Loading required package: sandwich
Phần kết luận
Từ cây quyết định hiển thị ở trên, chúng ta có thể kết luận rằng bất kỳ ai có điểm ReadingSkills dưới 38,3 và tuổi hơn 6 đều không phải là Người bản ngữ.