Mục lục
Overview
Trong SAS, chúng ta có thể sử dụng thủ tục proc hpsplit
để xây dựng mô hình decision tree. Thủ tục này sử dụng thuật toán phân tách cực đại (maximum splitting) để phân loại quan sát vào các nhóm dựa trên các biến đầu vào.
Cú pháp chung của câu lệnh proc hpsplit
như sau:
proc hpsplit data=dataset;
partition role=training;
class class_variable1 class_variable2 ...;
model target_variable = variable1 variable2 ... / split criterion=criterion;
output out=new_dataset;
score data=newdata out=predictions;
run;
Trong đó:
dataset
là tên bộ dữ liệu mà ta muốn sử dụng để xây dựng mô hình.class_variable1
,class_variable2
,… là danh sách các biến phân loại được sử dụng để xây dựng cây quyết định.target_variable
là biến mục tiêu mà ta muốn dự đoán.variable1
,variable2
,… là danh sách các biến đầu vào được sử dụng để xây dựng cây quyết định.criterion
là tiêu chí được sử dụng để phân tách các nhóm trong cây quyết định.
Để sử dụng thủ tục proc hpsplit
, ta cần chia bộ dữ liệu thành hai phần là tập huấn luyện (training) và tập kiểm tra (testing). Bằng cách sử dụng câu lệnh partition
, ta có thể chỉ định vai trò (role
) cho từng quan sát trong bộ dữ liệu.
Sau khi xây dựng mô hình, ta có thể sử dụng câu lệnh score
để tính toán giá trị dự đoán trên tập kiểm tra và lưu kết quả vào một bộ dữ liệu mới.
Ví dụ: Giả sử ta có bộ dữ liệu customer_churn
với các biến đầu vào là age
, gender
, income
, và tenure
, và biến mục tiêu là churn
(có nghĩa là khách hàng có chuyển đi hay không). Ta muốn xây dựng một mô hình decision tree để dự đoán khả năng churn của khách hàng. Ta có thể sử dụng câu lệnh như sau:
proc hpsplit data=customer_churn;
partition role=training;
class gender;
model churn = age income tenure / split criterion=gini;
output out=tree_model;
score data=new_customers out=predictions;
run;
Trong ví dụ này, ta sử dụng biến gender
làm biến phân loại để xây dựng cây quyết định. Ta sử dụng tiêu chí gini
để phân tách các nhóm. Kết quả sau khi chạy câu lệnh này sẽ lưu mô hình decision tree vào bộ dữ liệu tree_model
, và tính toán giá trị dự đoán trên tập kiểm tra new_customers
và lưu kết quả vào bộ dữ liệu predictions
.