Decision_Tree_Presentationkhjhkkkkkkkkkkkkkkkkkkk.pptx

gianghoangthongminh2 1 views 19 slides Oct 25, 2025
Slide 1
Slide 1 of 19
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19

About This Presentation

no


Slide Content

Tìm hiểu thuật toán Cây Quyết Định (Decision Tree) Họ tên : - Giảng Hoàng Thông Minh ( Làm ppt) - Võ Viết Trường ( Người thuyết trình ) - Nguyễn Duy Thiện ( Nội dung + Người hỗ trợ )

Mục lục

Giới thiệu đề tài Trong thời đại dữ liệu bùng nổ, việc khai thác thông tin từ dữ liệu một cách hiệu quả trở thành yếu tố then chốt trong nhiều lĩnh vực. Trong số các thuật toán học máy, cây quyết định nổi bật bởi tính trực quan, dễ hiểu và khả năng mô hình hóa quá trình ra quyết định. Với cấu trúc phân nhánh theo điều kiện, cây quyết định không chỉ hỗ trợ phân loại và dự đoán ( bao gồm trí tuệ nhân tạo, phân tích dữ liệu kinh doanh, hệ thống gợi ý, dự đoán hành vi khách hàng, chẩn đoán y tế và phân tích rủi ro. ) mà còn giúp người dùng lý giải được cách mô hình hoạt động — một ưu điểm lớn trong các hệ thống cần tính minh bạch.

Cơ sở lý thuyết - Trong học máy (ML), cây quyết định là một thuật toán học có giám sát giống như lưu đồ hoặc biểu đồ quyết định. Không giống như nhiều thuật toán học có giám sát khác, cây quyết định có thể được sử dụng cho cả nhiệm vụ phân loại và hồi quy. Các nhà khoa học dữ liệu và nhà phân tích thường sử dụng cây quyết định khi khám phá các bộ dữ liệu mới vì chúng dễ xây dựng và diễn giải. Ngoài ra, cây quyết định có thể giúp xác định các tính năng dữ liệu quan trọng có thể hữu ích khi áp dụng các thuật toán ML phức tạp hơn. - (Supervised Learning) Học có giám sát là một phạm trù của  học máy  sử dụng các tập dữ liệu được gắn nhãn để huấn luyện các thuật toán nhằm dự đoán kết quả và nhận dạng các mẫu. Không giống như  học không giám sát  , các thuật toán học có giám sát được huấn luyện có gắn nhãn để tìm hiểu mối quan hệ giữa đầu vào và đầu ra. 

Các khái niệm : Node, Root, Leaf, Branch. + Node ( Nút ) : Là thành phần cơ bản của cây . Mỗi nút biểu diễn một phép kiểm tra ( điều kiện ) trên một thuộc tính dữ liệu . + Root ( Nút gốc ) : Là nút ở đỉnh cây , nơi bắt đầu quá trình phân chia dữ liệu . - Đây là thuộc tính quan trọng nhất được chọn để chia dữ liệu lần đầu . + Leaf ( Nút lá / nút kết thúc ) : Là các nút không phân chia thêm , đại diện cho kết quả dự đoán ( một nhãn phân loại hoặc giá trị hồi quy ). + Branch ( Nhánh ) : Là đường nối giữa hai nút , thể hiện một điều kiện cụ thể trong quá trình phân chia. + Internal Node ( Nút nội bộ ) Một nút không phải là nút lá chia dữ liệu thành các tập hợp con dựa trên quyết định . Khái niệm : ID3. ID3 (Iterative Dichotomiser 3) Đây là một dạng cây quyết định phân loại , chia các đặc trưng thành nhiều nhóm khác nhau tại mỗi bước dựa trên tiêu chí thông tin (Information Gain).

Nguyên lý chung Nguyên lý hoạt động của kiểm định chi bình phương (Chi-square) là so sánh sự khác biệt giữa dữ liệu quan sát được (thực tế) và dữ liệu kỳ vọng (lý thuyết, dựa trên giả thuyết không) để đánh giá mức độ phù hợp hoặc mối liên hệ giữa các biến phân loại. Thống kê chi bình phương được tính bằng cách lấy sự khác biệt giữa giá trị quan sát và giá trị kỳ vọng, bình phương hiệu đó, rồi chia cho giá trị kỳ vọng, sau đó cộng tất cả các giá trị lại. N ó được biểu diễn dưới dạng một sơ đồ nhánh (flowchart), trong đó mỗi nút đại diện cho một điều kiện, quy tắc, kết quả hoặc nhóm phân loại. Một công cụ giúp xác định, biểu diễn, dự đoán, gợi ý, trả lời và giải thích nhiều câu hỏi, phát biểu, khái niệm hoặc tình huống.

Nguyên lý hoạt động Chi-Square (CHAID – Chi-Squared Automatic Interaction Detection) Gini Index ( trong CART) Random Forest

Chi-Square (CHAID – Chi-Squared Automatic Interaction Detection) Cây quyết định sử dụng thuật toán Chi-Square có khả năng trực quan cao, dễ hiểu. Nó dùng các biến đầu vào để xác định kết quả tối ưu nhất.Thuật toán này thường được sử dụng trong lĩnh vực tiếp thị trực tiếp (Direct Marketing), nơi cần dự đoán phản ứng của khách hàng đối với một chiến dịch quảng cáo. Một ưu điểm lớn của CHAID là khả năng chia nhánh nhiều lần, giúp xử lý dữ liệu một cách chi tiết và chính xác hơn. Áp dụng cho phân loại C ông thức; Giá trị Chi-square — kết quả cuối cùng của phép kiểm định : tổng — cộng tất cả các giá trị từ từng ô trong bảng dữ liệu O: Observed — giá trị quan sát thực tế (số liệu bạn thu được) E: Expected — giá trị kỳ vọng (số liệu bạn dự đoán nếu không có liên hệ) Back

Gini Index ( trong CART) Chỉ số Gini hơi khác với entropy mặc dù chúng thực hiện cùng một chức năng. Chỉ số Gini là xác suất mà một biến sẽ không được phân loại chính xác nếu nó được chọn ngẫu nhiên. Chỉ số Gini có xu hướng ưu tiên các phân vùng lớn hơn và do đó có thể chuyên sâu về mặt tính toán. Nói chung, có sự khác biệt giữa hiệu suất của Gini Index và Entropy trên cùng một dữ liệu không quá khác biệt, nên có thể quyết định việc sử dụng cái gì. Trong đó : or k = số lớp p i ​ = tỉ lệ mẫu thuộc lớp i trong node đó Gini càng thấp → nút càng tinh khiết → phân tách càng hiệu quả . Back

Random Forest L à một tập hợp của nhiều cây quyết định (decision trees). Thay vì dựa vào một cây duy nhất, nó tạo ra nhiều cây khác nhau và tổng hợp kết quả của chúng để đưa ra dự đoán cuối cùng. Với phân loại : kết quả là đa số phiếu từ các cây . Với hồi quy : kết quả là trung bình của các dự đoán từ các cây . Cách hoạt động + Bootstrapping: Tạo nhiều tập dữ liệu con bằng cách lấy mẫu ngẫu nhiên có lặp từ tập gốc. + Chọn ngẫu nhiên các đặc trưng (features): Mỗi cây chỉ dùng một phần đặc trưng để huấn luyện giúp cây đa dạng hơn. + Huấn luyện nhiều cây quyết định: Mỗi cây học từ một tập con khác nhau. Tổng hợp kết quả: - Phân loại: chọn lớp được nhiều cây dự đoán nhất. - Hồi quy: lấy trung bình các giá trị dự đoán.

Cài đặt thuật toán (Python) # 1. Import thư viện import pandas as pd from sklearn.model_selection import train_test_split from sklearn.tree import DecisionTreeClassifier from sklearn.metrics import accuracy_score # Giả định có tệp 'dulieu.csv’ # Tạo một DataFrame mẫu để minh họa data = {'feature1': [1, 2, 3, 4, 5, 6, 7, 8], 'feature2': [8, 7, 6, 5, 4, 3, 2, 1], 'target': ['A', 'A', 'B', 'B', 'A', 'A', 'B', 'B']} df = pd.DataFrame (data) # 2. Nạp dữ liệu và chuẩn bị X = df [['feature1', 'feature2']] y = df ['target’] # 3. Chia dữ liệu X_train , X_test , y_train , y_test = train_test_split ( X, y, test_size =0.3, random_state =42, stratify=y ) # 4. Tạo và huấn luyện mô hình model = DecisionTreeClassifier () # Huấn luyện mô hình model.fit ( X_train , y_train ) # 5. Thực hiện dự đoán y_pred = model.predict ( X_test ) # 6. Đánh giá mô hình accuracy = accuracy_score ( y_test , y_pred ) print( f"Độ chính xác của mô hình : {accuracy}") print( f"Dự đoán : { y_pred }") print( f"Thực tế : { y_test.values }")

Ví dụ minh họa Ví dụ dùng dữ liệu thật , nhập tay , dùng video để lấy dữ liệu dự đoán trong mô hình Decision Tree ( cây quyết định ) Source City (°C) Độ ẩm (%) Áp xuất ( hPa ) Tốc độ gió (km/h) Xác xuất mưa (%) Mực nước (cm) Cây quyết định API Sài Gòn 31 70 1009 12 40 50 Rainy API Hà Nội 27 80 1006 9 60 55 Storm Manual Input – 28 65 1012 8 10 40 Sunny Manual Input – 22 85 1005 14 75 65 Rainy Video – – – – – – – Cloudy Video – – – – – – – Foggy

Đánh giá Thuận lợi Dễ diễn giải  — Cây quyết định trực quan và trực quan, giúp dễ dàng giải thích cho bất kỳ đối tượng nào. Cần chuẩn bị tối thiểu  — Hoạt động tốt mà không cần chuẩn hóa hoặc làm sạch dữ liệu phức tạp. Logic minh bạch  — Chúng cho thấy cách đưa ra quyết định, không giống như mô hình hộp đen. Nhiệm vụ đa năng  — Sử dụng chúng cho cả phân loại và hồi quy. Đầu vào linh hoạt  — Xử lý cả dữ liệu dạng số và dạng phân loại một cách dễ dàng. Nhược điểm Dễ bị quá khớp  — Nếu không cắt tỉa, cây có thể bám quá chặt vào dữ liệu đào tạo và hoạt động kém trong thế giới thực. Ít chính xác hơn một số mô hình  — Các phương pháp tổng hợp như Rừng ngẫu nhiên thường hiệu quả hơn các cây đơn lẻ. Có thể không ổn định  — Những thay đổi nhỏ về dữ liệu có thể dẫn đến những cây rất khác nhau. Dự đoán từng bước  — Cây hồi quy không dự đoán xu hướng trơn tru mà chỉ dự đoán các ước tính khối. Không học liên tục  — Cây không tự động cập nhật; cần phải đào tạo lại để phản ánh dữ liệu mới.

Ứng dụng thực tế Y tế Chẩn đoán bệnh : Dựa trên triệu chứng , tiền sử bệnh , kết quả xét nghiệm để phân loại bệnh nhân . Dự đoán nguy cơ: Ví dụ như nguy cơ tái phát bệnh hoặc biến chứng sau điều trị. Kinh doanh & Marketing Phân khúc khách hàng : Xác định nhóm khách hàng tiềm năng dựa trên hành vi mua sắm , độ tuổi , vị trí địa lý . Dự đoán hành vi tiêu dùng: Ví dụ như khả năng khách hàng quay lại mua hàng hoặc phản hồi với chiến dịch quảng cáo. Quyết định vị trí mở cửa hàng mới : Dựa vào dữ liệu nhân khẩu học và hành vi tiêu dùng . Tài chính Phê duyệt khoản vay : Dựa trên lịch sử tín dụng , thu nhập , nghề nghiệp . Phát hiện gian lận: Phân tích các giao dịch bất thường để cảnh báo nguy cơ gian lận. Công nghệ thông tin Phân loại email spam: Dựa trên nội dung, tiêu đề, người gửi. Hệ thống hỗ trợ khách hàng : Dự đoán mức độ hài lòng hoặc khả năng khách hàng cần hỗ trợ thêm . Giáo dục Dự đoán kết quả học tập : Dựa trên điểm số , thời gian học , mức độ tham gia lớp học . Tư vấn chọn ngành học: Phân tích sở thích, năng lực và xu hướng nghề nghiệp.

Ví dụ thực tiễn Trong nghiên cứu Comprehensive Health Tracking Through Machine Learning and Wearable Technology (Đại học Hull, 2025), nhóm tác giả đã so sánh nhiều mô hình học máy để phân tích dữ liệu thu thập từ thiết bị đeo (Apple Watch, Fitbit). Trong đó, các mô hình dựa trên cây quyết định, đặc biệt là Random Forest , được nhấn mạnh là nổi bật nhờ khả năng xử lý dữ liệu sinh lý phức tạp như nhịp tim, giấc ngủ và hoạt động thể chất. Kết quả cho thấy Random Forest đạt độ chính xác tới 98% trong dự đoán nhịp tim , đồng thời thể hiện độ ổn định cao hơn so với các mô hình khác, khẳng định vai trò quan trọng của thuật toán cây trong theo dõi sức khỏe toàn diện bằng thiết bị đeo.

So sánh với các thuật toán khác Thuật toán Kiểu mô hình Ưu điểm Nhược điểm Ứng dụng thường gặp Cây quyết định (Decision Trees) Mô hình dựa trên cây , chia dữ liệu theo thuộc tính - Dễ hiểu, trực quan - Không cần chuẩn hóa dữ liệu - Xử lý dữ liệu số & phân loại - Dễ bị overfitting - Nhạy cảm với thay đổi nhỏ trong dữ liệu - Cây lớn khó hiểu Phân loại, dự đoán rủi ro, y tế Naïve Bayes Classification Mô hình xác suất, dựa trên định lý Bayes (giả định độc lập) - Nhanh, hiệu quả với dữ liệu lớn - Tốt cho dữ liệu văn bản (spam, sentiment) - Không cần nhiều dữ liệu - Giả định độc lập hiếm khi đúng - Hiệu suất kém nếu thuộc tính phụ thuộc mạnh Lọc spam, phân loại văn bản Support Vector Machines (SVM) Mô hình tìm siêu phẳng tối ưu phân tách dữ liệu - Hiệu quả cao với dữ liệu phức tạp , phi tuyến (kernel trick) - Tốt trong không gian nhiều chiều - Kháng overfitting ( nếu chọn tham số hợp lý ) - Tốn tài nguyên khi dữ liệu lớn - Khó giải thích trực quan - Cần chọn kernel phù hợp Nhận diện hình ảnh , phân loại văn bản , sinh học

Kết luận Dễ hiểu, dễ triển khai: Cây quyết định là một trong những mô hình trực quan nhất, phù hợp với cả người mới và chuyên gia. Hiệu quả trong nhiều bài toán : Từ phân loại đến hồi quy , cây quyết định có thể xử lý dữ liệu số lẫn phân loại , và không yêu cầu chuẩn hóa . Dễ bị quá khớp (overfitting): Nếu không kiểm soát độ sâu hoặc không cắt tỉa (pruning), cây có thể học quá kỹ dữ liệu huấn luyện và giảm khả năng tổng quát . Là nền tảng cho các mô hình mạnh hơn: Các kỹ thuật như Random Forest, Gradient Boosting đều xây dựng từ cây quyết định, giúp cải thiện độ chính xác và độ ổn định.

Tài liệu tham khảo https://cloud.google.com/discover/what-is-supervised-learning https://www.grammarly.com/blog/ai/what-is-decision-tree/ https://www.quora.com/How-do-I-calculate-the-time-complexity-of-a-decision-tree-machine-learning-algorithm https://insidelearningmachines.com/advantages_and_disadvantages_of_decision_trees/#8_Advantages_of_Decision_Trees https://vietnambiz.vn/cay-quyet-dinh-decision-tree-la-gi-vi-du-ve-cay-quyet-dinh-20191002094829094.htm https://slickplan.com/blog/what-is-a-decision-tree https://scikit-learn.org/stable/modules/tree.html
Tags