Decision Tree

Xây dựng mô hình decision tree bằng SAS

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.


Overview
Data Step
Data Aggregation
Data Visualization
Proc SQL
Variable Analysis
Macro
Model Regression
Variable Selection
Model Assessment