CHƯƠNG 3: SỬ DỤNG THUẬT TOÁN DECISION TREE ĐỂ DỰ ĐOÁN KHẢ NĂNG HỦY ĐẶT PHÒNG KHÁCH SẠN CỦA KHÁCH HÀNG
2. Phân lớp dữ liệu và thuật toán decision tree
Khái niệm
Phân lớp dữ liệu là quá trình học có giám sát trên một tập dữ liệu đầu vào nhằm xây dựng một mô hình để có thể dự đoán xu hướng cho các dữ liệu mới.
Đầu vào: Một tập hợp các mẫu, mỗi mẫu gồm các thuộc tính mô tả đối tượng xác định và một thuộc tính nhãn phân lớp giá trị của nó. Tập các dữ liệu có dạng (x,y) =
(x1,x2,…,xn, y)
- x là biến độc lập (Independent variable) mô tả các thuộc tính của một đối tượng.
- y là biến phụ thuộc (Dependent variable) cần tìm hiểu, phân loại. y còn gọi là thuộc tính nhãn.
Đầu ra: Một mô hình có khả năng phân loại đúng đắn cho tập các dữ liệu đầu vào.
Quy trình thực hiện phân lớp dữ liệu
- Bước học (bước huấn luyện): Xây dựng mô hình
Xác định tập dữ liệu huấn luyện gồm các mẫu đã được gán nhãn y.
Chạy một thuật toán phân lớp trên tập dữ liệu huấn luyện.
Mô hình được biểu diễn dưới dạng các luật phân lớp, các cây quyết định hoặc các công thức toán.
- Bước phân loại: Sử dụng mô hình: để gán nhãn thích hợp cho các dữ liệu chưa được gán nhãn.
Ước lượng độ chính xác của mô hình:
Xác định tập dữ liệu kiểm thử gồm các mẫu đã được gán nhãn y (dữ liệu kiểm thử và dữ liệu huấn luyện phải khác nhau để tránh tình trạng quá khớp overfitting)
Chạy mô hình với tập dữ liệu kiểm thử thu được nhãn y’
So sánh y và y’ để xác định độ chính xác của mô hình.
Nếu mô hình chính xác, sử dụng nó để dự đoán nhãn cho các dữ liệu cần gán nhãn.
Hình 3.2: Quy trình thực hiện phân lớp dữ liệu Đánh giá thuật toán
Trong bài toán phân lớp, hiệu quả làm việc của bộ phân lớp được đánh giá thông qua các độ TP, TN, FP, FN với ý nghĩa cụ thể:
TP: số bản ghi được phân lớp đúng vào lớp C (trường hợp đúng) Thực tế: bản ghi được chứa trong lớp C
Kết quả sau phân lớp: bản ghi được chứa trong lớp C
TN: số bản ghi không được phân lớp vào lớp C (trường hợp đúng) Thực tế: bản ghi không được chứa trong lớp C
Kết quả sau phân lớp: bản ghi không thuộc lớp C FP: số bản ghi được phân lớp vào lớp C (trường hợp sai) Thực tế: bản ghi không được chứa trong lớp C Kết quả sau phân lớp: bản ghi thuộc lớp C
FN: số bản ghi không được phân lớp vào lớp C (trường hợp sai Giá trị qua bộ phận lớp
Lớp C Thuộc lớp C Không thuộc lớp C
Giá trị thực
Thuộc lớp C TP FN
Không thuộc lớp C FP TN
Bảng 1: Bảng đánh giá thuật toán decision tree Chỉ số Precision (độ chính xác):𝑇𝑃
𝜌 = 𝑇𝑃 𝐹𝑃 + Chỉ số Recall (Độ hồi tưởng):
Chỉ số F1 (độ đo F):
𝜌 + 𝜋Chỉ số Accuracy (độ đo chính xác):
𝑇𝑃 + 𝑇𝑁 𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦 =
𝑇𝑃 𝐹𝑃 𝑇𝑁 𝐹𝑁 + + + Chỉ số Error Rate (Tỷ lệ lỗi):
𝐹𝑃 𝐹𝑁 + 𝐸𝑟𝑟𝑜𝑟𝑅𝑎𝑡𝑒 =
𝑇𝑃 𝐹𝑃 𝑇𝑁 𝐹𝑁 + + + Phân lớp dữ liệu với cây quyết định (decision tree)
Cây quyết định (Decision Tree) là một cây phân cấp có cấu trúc được dùng để phân lớp các đối tượng dựa vào dãy các luật. Các thuộc tính của đối tượng có thể thuộc các kiểu dữ liệu khác nhau như Nhị phân (Binary) , Định danh (Nominal), Thứ tự (Ordinal), Số lượng (Quantitative) trong khi đó thuộc tính phân lớp phải có kiểu dữ liệu là Binary hoặc Ordinal.
Cây quyết định mô tả một cấu trúc cây, cho phép người dùng dự đoán nhãn của một đối tượng mới dựa trên tập thuộc tính của nó. Trong đó:
- Nút gốc (root node): là nút không có liên kết đến nhưng lại có nhiều liên kết đi.
- Các nút trong (Internal node): mỗi nút có một liên kết đến và nhiều liên kết đi.
- Các nút lá (leaf node): mỗi nút có một liên kết đến. Nút lá giá trị là các
nhãn của dữ liệu và không có liên kết gửi đi. Mỗi nút lá trong cây quyết định được liên kết với một nhãn lớp.
-
Hình 3.3: Cấu trúc cây quyết định
Từ một dữ liệu cụ thể, thuật toán có thể xây dựng nên các cây quyết định khác nhau. Mặc dù độ chính xác trong việc dự báo của mỗi cây là khác nhau. Tuy nhiên, việc tìm ra cây tối ưu là một việc cần phải có sự tính toán rất lớn vì bài số lượng cây con tăng theo cấp nhân của không gian tìm kiếm. Có các thuật toán hiệu quả đã được phát triển để tạo ra độ chính xác hợp lý, mặc dù dưới mức tối ưu, cây quyết định trong một khoảng thời gian hợp lý. Các thuật toán này thường sử dụng một chiến lược tham lam để phát triển cây quyết định theo phương pháp Top-Down từ trên xuống.
Một trong những phương pháp sớm nhất là Thuật toán của Hunt, là cơ sở cho nhiều triển khai hiện tại của bộ phân lớp, bao gồm ID3, C4.5 và CART.Khung chương trình cho việc phát triển cây quyết định với bộ dữ liệu {D}.
22
Ưu điểm của cây quyết định là thời gian thực thi nhanh, kết quả khá tốt và dễ
hiểu, dễ giải thích. Tuy nhiên, nhược điểm lớn nhất của các thuật toán cây quyết định là chúng dừng phân tách dữ liệu khi gặp các điểm tới hạn cục bộ, dẫn đến các kết quả không còn chính xác.