Để giúp quản lý và hỗ trợ sinh viên đạt được mục tiêu học tập của mình, việc phân loại dữ liệu và dự đoán khả năng tốt nghiệp có thể được thực hiện thông qua việc sử dụng cây quyết định
Trang 1TRƯỜNG ĐẠI HỌC PHƯƠNG ĐÔNG
***
-BÀI TẬP LỚN
MÔN: Khai phá dữ liệu Nhóm : 3
Họ và tên : Vũ Trần Anh Kiệt-521100096
Lê Hồng Minh-521100103 Phan Trịnh Trung Đức-521100073 Lớp : 521100B
Giáo viên : Dương Thị Bình
Giới Thiệu
1 Lý do chọn đề tài
Trang 2Trong hệ thống giáo dục, việc dự đoán khả năng tốt nghiệp của sinh viên là một thách thức quan trọng Để giúp quản lý và hỗ trợ sinh viên đạt được mục tiêu học tập của mình, việc phân loại dữ liệu và dự đoán khả năng tốt nghiệp có thể được thực hiện thông qua việc sử dụng cây quyết định và thuật toán ID3
Cây quyết định là một công cụ mạnh mẽ trong lĩnh vực học máy, cho phép tự động phân loại dữ liệu dựa trên các thuộc tính quan trọng Thuật toán ID3, một trong những thuật toán phổ biến nhất cho cây quyết định, hoạt động dựa trên nguyên tắc tối
ưu hóa thông tin entropy để chọn ra thuộc tính tốt nhất để phân chia dữ liệu
Trong bối cảnh dự đoán khả năng tốt nghiệp của sinh viên, việc sử dụng cây quyết định và thuật toán ID3 có thể giúp nhận biết các yếu tố quan trọng ảnh hưởng đến hiệu suất học tập của sinh viên, từ đó cung cấp thông tin hữu ích cho các cơ quan quản lý giáo dục và trường học để áp dụng các biện pháp hỗ trợ phù hợp
Báo cáo này sẽ trình bày một cái nhìn tổng quan về việc sử dụng cây quyết định
và thuật toán ID3 để phân loại dữ liệu với mục tiêu dự đoán khả năng tốt nghiệp của sinh viên Từ lý thuyết cơ bản đến các bước thực hiện và ứng dụng thực tế, báo cáo sẽ cung cấp các thông tin quan trọng và hữu ích cho các nhà quản lý giáo dục và các nhà nghiên cứu quan tâm đến lĩnh vực này
2 Mục Tiêu và Phạm Vi của Báo Cáo
Mục tiêu của báo cáo này là cung cấp một cái nhìn tổng quan về việc sử dụng cây quyết định trong việc phân loại dữ liệu Chúng tôi sẽ trình bày từ lý thuyết cơ bản đến các bước thực hiện và ứng dụng thực tế của thuật toán ID3 trong xây dựng cây quyết định
2.1 Phạm vi của báo cáo sẽ bao gồm:
- Tổng quan về phân loại dữ liệu và vai trò của cây quyết định
- Giải thích cụ thể về thuật toán ID3 và cách nó hoạt động
- Hướng dẫn cách thực hiện các bước từ thu thập dữ liệu, tiền xử lý đến xây dựng và đánh giá mô hình cây quyết định
- Các ứng dụng và ví dụ minh họa của việc sử dụng cây quyết định trong thực
tế, cụ thể là dự đoán khả năng tốt nghiệp của sinh viên
2.2 Đối tượng nghiên cứu
Lý thuyết: Kỹ thuật khai phá dữ liệu
Cơ sở dữ liệu: Điểm, sinh viên
Công nghệ: Công cụ Orange
Trang 3CHƯƠNG 1: CƠ SỞ LÝ LUẬN VỀ KHAI PHÁ DỮ LIỆU 1.1 TẠI SAO PHẢI KHAI PHÁ DỮ LIỆU?
Nguồn dữ liệu ngày càng lớn và phức tạp: Trong thời đại công nghệ số,
dữ liệu được tạo ra với tốc độ chóng mặt từ nhiều nguồn khác nhau, bao gồm:
dữ liệu khách hàng, dữ liệu bán hàng, dữ liệu sản xuất, dữ liệu hoạt động, dữ liệu mạng xã hội, Tuy nhiên, 80% dữ liệu ở dạng phi cấu trúc khó truy xuất thông tin
Dữ liệu được coi như tài sản quý của doanh nghiệp: Dữ liệu chứa đựng nhiều thông tin hữu ích giúp doanh nghiệp hiểu rõ hơn về khách hàng, thị trường, sản phẩm, Từ đó, doanh nghiệp có thể đưa ra các quyết định kinh doanh sáng suốt, hiệu quả hơn
⇒ Khi dữ liệu ngày càng trở nên quan trọng, việc khai phá dữ liệu càng trở nên quan trọng Khai phá dữ liệu có thể giúp các doanh nghiệp khai thác tối
đa giá trị của dữ liệu của họ
1.2 KHAI PHÁ DỮ LIỆU LÀ GÌ?
1.2.1 Khái niệm
Khai phá dữ liệu là tiến trình khám phá tri thức tiềm ẩn trong các CSDL,
cụ thể hơn, nó là tiến trình lọc, sản sinh những tri thức hoặc các mẫu tiềm ẩn, chưa biết, những thông tin hữu ích từ các CSDL lớn
Các khái niệm liên quan:
Tri thức: Là tập hợp những thông tin có liên hệ với nhau để ra những suy
luận, tri thức hỗ trợ ngược lại cho người dùng
Thông tin: Là tập hợp dữ liệu đã được xử lý, dùng mô tả giải thích đặc
tính cho một đối tượng
Dữ liệu: Là chuỗi các bit, là số, ký tự, hình ảnh, video…mà chúng ta tạo
ra và tập hợp hàng ngày trong công việc
Trong đó dữ liệu ở mức độ trừu tượng thấp nhất và cụ thể nhất, thông tin ở
Trang 4mức trên dữ liệu và tri thức ở mức cao nhất
Trang 51.2.2 Lợi ích của khai phá dữ liệu
Trực quan hóa dữ liệu: Khai phá dữ liệu có thể được sử dụng để tạo ra
các biểu đồ và đồ thị trực quan hóa dữ liệu Điều này giúp người dùng dễ dàng hiểu và phân tích dữ liệu hơn
Dự đoán: Khai phá dữ liệu có thể được sử dụng để tạo ra các mô hình dự
đoán Các mô hình này có thể được sử dụng để dự đoán kết quả trong tương lai, chẳng hạn như doanh số bán hàng, hành vi của khách hàng hoặc sự cố kỹ thuật
Cung cấp tri thức: Khai phá dữ liệu có thể được sử dụng để phát hiện
các mẫu và mối quan hệ trong dữ liệu mà con người không thể nhìn thấy Điều này có thể giúp người dùng hiểu rõ hơn về thế giới xung quanh và đưa ra quyết định sáng suốt hơn
1.2.3 Quá trình khám phá tri thức
Hình 1.1 Quá trình khám phá tri thức
Quá trình khám phá tri thức từ CSDL là một quá trình có sử dụng nhiều phương pháp và công cụ tin học nhưng vẫn là một quá trình mà trong đó con người là trung tâm Do đó, nó không phải là một hệ thống phân tích tự động mà
Trang 6là một hệ thống bao gồm nhiều hoạt động tương tác thường xuyên giữa con người và CSDL, tất nhiên là với sự hỗ trợ của các công cụ tin học Người sử dụng hệ thống ở đây phải là người có kiến thức cơ bản về lĩnh vực cần phát hiện tri thức để có thể chọn được đúng các tập con dữ liệu, các lớp mẫu phù hợp và đạt tiêu chuẩn quan tâm so với mục đích Tri thức mà ta nói ở đây là các tri thức rút ra từ các CSDL, thường để phục vụ cho việc giải quyết một loạt nhiệm vụ nhất định trong một lĩnh vực nhất định Do đó, quá trình phát hiện tri thức cũng mang tính chất hướng nhiệm vụ, không phải là phát hiện mọi tri thức bất kỳ mà
là phát hiện tri thức nhằm giải quyết tốt nhiệm vụ đề ra
Tiền xử lý dữ liệu:
● Mục tiêu: Làm sạch và chuẩn hóa dữ liệu để loại bỏ nhiễu và đảm bảo tính đồng nhất của dữ liệu
● Các hoạt động chính: Loại bỏ dữ liệu nhiễu, điền giá trị còn thiếu, chuyển đổi định dạng, đồng nhất các đơn vị đo lường
Biến đổi, chuyển đổi dữ liệu:
● Mục tiêu: Chuyển đổi dữ liệu về định dạng phù hợp để thuận tiện cho quá trình xử lý tiếp theo
● Các hoạt động chính:
Làm sạch dữ liệu: loại bỏ các dữ liệu bị sai lệch, thiếu sót, không chính xác
Tích hợp dữ liệu: kết hợp các tập dữ liệu rời rạc thành một tập dữ liệu thống nhất
Trích chọn dữ liệu: lựa chọn các dữ liệu phù hợp với mục đích khai phá tri thức
Khai phá dữ liệu:
Trang 7● Mục tiêu: Phân tích dữ liệu để khám phá các mối quan hệ, xu hướng
và thông tin quan trọng
● Các hoạt động chính:
Phân tích mô tả: mô tả các đặc điểm của dữ liệu, như phân phối, xu hướng, mối quan hệ giữa các biến
Phân tích dự đoán: dự đoán giá trị của một biến dựa trên các biến khác
Ước lượng mẫu:
● Mục tiêu: Tạo ra một mô hình thống kê hoặc dự đoán dựa trên mẫu
dữ liệu được thu thập
● Các hoạt động chính: Xây dựng mô hình thống kê, sử dụng thuật toán máy học để dự đoán và ước lượng giá trị trong tương lai dựa trên mẫu đã có
Biểu diễn tri thức, áp dụng vào thực tế:
● Mục tiêu: Chuyển đổi tri thức được khám phá thành một hình ảnh hoặc mô hình có thể áp dụng trong thực tế
● Các hoạt động chính: Xây dựng mô hình dự đoán, biểu diễn tri thức theo hình thức đồ thị, bảng, hoặc các định dạng khác để hiểu và sử dụng thông tin được khám phá
1.2.4 Các nhiệm vụ chính của khai phá dữ liệu
Kỹ thuật KPDL Dự đoán
● Sử dụng một vài biến đã biết để dự báo giá trị chưa biết hoặc giá trị tương lai của các biến khác
● Các kỹ thuật gồm có: Phân lớp, Hồi quy
Kỹ thuật KPDL Mô tả
● Mô tả về các tính chất hoặc các đặc tính chung của dữ liệu trong CSDL hiện có
Trang 8● Các kỹ thuật này gồm có: Gom cụm, Luật kết hợp
1.3 CÁC KỸ THUẬT KPDL
Phân lớp: Tìm các đặc trưng của lớp các đối tượng và sử dụng để phân lớp
dữ liệu mới
Gom cụm: Xác định các cụm tiềm ẩn trong các tập đối tượng chưa được xếp
lớp
Hồi quy: Dự đoán dữ liệu tương lai dựa trên dữ liệu quá khứ.
Luật kết hợp: Tìm các mẫu phổ biến từ dữ liệu và mối quan hệ của các đối
tượng dữ liệu
Trang 9Chương II: Tổng quan phân lớp
1 Khái niệm phân lớp
Phân lớp dữ liệu là quá trình phân loại các mẫu dữ liệu vào các nhóm hoặc lớp khác nhau dựa trên các đặc điểm chung của chúng Mục tiêu là tạo ra các quy tắc hoặc mô hình để phân loại dữ liệu mới
2 Các kỹ thuật phân lớp
Bao gồm cây quyết định, học máy, mạng nơ-ron, SVM (Support Vector Machines), k-nearest neighbors và nhiều phương pháp khác Mỗi phương pháp
có ưu nhược điểm riêng
3 Ưu nhược điểm:
- Ưu điểm:
- Khả năng tự động hóa: Các phương pháp phân lớp dữ liệu có thể tự động hóa quá trình phân loại dựa trên dữ liệu đầu vào
- Hiểu rõ dữ liệu: Việc áp dụng phân lớp dữ liệu giúp hiểu rõ hơn về cấu trúc và đặc điểm của dữ liệu
- Hỗ trợ quyết định: Các mô hình phân lớp dữ liệu có thể hỗ trợ quyết định trong việc phân loại và dự đoán
- Nhược điểm:
- Yêu cầu dữ liệu huấn luyện lớn: Đối với một số phương pháp, cần có một lượng lớn dữ liệu huấn luyện để xây dựng mô hình chính xác
- Dễ bị overfitting: Một số phương pháp phân lớp dữ liệu có thể dễ bị overfitting, nghĩa là mô hình quá phù hợp với dữ liệu huấn luyện mà không thể tổng quát hóa tốt cho dữ liệu mới
Trang 10- Không hiệu quả đối với dữ liệu không cân bằng: Khi có sự mất cân bằng giữa các lớp dữ liệu, mô hình phân lớp có thể không hiệu quả trong việc phân loại các lớp thiểu số
- *Ứng dụng*: Phân lớp dữ liệu được sử dụng rộng rãi trong nhiều lĩnh vực, bao gồm:
- Y tế: Phân loại bệnh nhân dựa trên các biểu hiện lâm sàng để đưa ra chuẩn đoán
- Tài chính: Dự đoán rủi ro tín dụng hoặc biến động thị trường tài chính
- Marketing: Phân loại khách hàng để tối ưu hóa chiến lược tiếp thị
- Công nghệ: Phân loại ảnh, nhận dạng văn bản, hoặc dự đoán hành vi người dùng trên Internet
Trang 11CHƯƠNG III: TỔNG QUAN VỀ CÂY QUYẾT ĐỊNH
1.1 Giới thiệu về cây quyết định
Trong lý thuyết quyết định (chẳng hạn quản lí rủi ro), một cây quyết định (Decision Tree) là một đồ thị của các quyết định và các hậu quả có thể của nó (bao gồm rủi ro và hao phí tài nguyên) Cây quyết định được sử dụng để xây dựng một
kế hoạch nhằm đạt được mục tiêu mong muốn Các cây quyết định được dùng để
hỗ trợ quá trình ra quyết định Cây quyết định là một dạng đặc biệt của cấu trúc cây
Trong lĩnh vực máy học (Learning Machine), cây quyết định là một kiểu mô hình dự báo (Predictive Model), nghĩa là một ánh xạ từ các quan sát về một sự vật/hiện tượng tới các kết luận về giá trị mục tiêu của sự vật/hiện tượng Mỗi một nút trong (Internal Node) tương ứng với một biến; đường nối giữa nó với nút con của nó thể hiện một giá trị cụ thể cho biến đó Mỗi nút lá đại diện cho giá trị dự đoán của biến mục tiêu, cho trước các giá trị của các biến được biểu diễn bởi đường đi từ nút gốc tới nút lá đó Kỹ thuật máy học dùng trong cây quyết định được gọi là học bằng cây quyết định, hay chỉ gọi với cái tên ngắn gọn là cây quyết định
Học bằng cây quyết định cũng là một phương pháp thông dụng trong khai phá
dữ liệu Khi đó, cây quyết định mô tả một cấu trúc cây, trong đó, các lá đại diện cho các phân loại còn cành đại diện cho các kết hợp của các thuộc tính dẫn tới phân loại đó Một cây quyết định có thể được học bằng cách chia tập hợp nguồn thành các tập con dựa theo một kiểm tra giá trị thuộc tính Quá trình này được lặp lại một cách đệ qui cho mỗi tập con dẫn xuất Quá trình đệ qui hoàn thành khi không thể tiếp tục thực hiện việc chia tách được nữa, hay khi một phân loại đơn có thể áp dụng cho từng phần tử của tập con dẫn xuất Một bộ phân loại rừng ngẫu
Trang 12nhiên (Random Forest) sử dụng một số cây quyết định để có thể cải thiện tỉ lệ phân loại
Trang 13Cây quyết định cũng là một phương tiện có tính mô tả dành cho việc tính toán các xác suất có điều kiện
Cây quyết định có thể được mô tả như là sự kết hợp của các kỹ thuật toán học
và tính toán nhằm hỗ trợ việc mô tả, phân loại và tổng quát hóa một tập dữ liệu cho trước
Dữ liệu được cho dưới dạng các bản ghi có dạng:
(x, y) = (x1, x2, x3…, xk, y)
Biến phụ thuộc (Dependant Variable) y là biến mà chúng ta cần tìm hiểu, phân loại hay tổng quát hóa x1, x2, x3 … là các biến sẽ giúp ta thực hiện công việc đó
1.2.Khái niệm cây quyết định
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
Tóm lại, cho dữ liệu về các đối tượng gồm các thuộc tính cùng với lớp (classes) của nó, cây quyết định sẽ sinh ra các luật để dự đoán lớp của các dữ liệu chưa biết
Ta hãy xét một ví dụ 1 kinh điển khác về cây quyết định Giả sử dựa theo thời tiết mà các bạn nam sẽ quyết định đi đá bóng hay không?
Những đặc điểm ban đầu là:
Trang 14●Thời tiết
●Gió
Dựa vào những thông tin trên, bạn có thể xây dựng được mô hình như sau:
Dựa theo mô hình trên, ta thấy:
Nếu trời nắng, độ ẩm bình thường thì khả năng các bạn nam đi chơi bóng sẽ cao Còn nếu trời nắng, độ ẩm cao thì khả năng các bạn nam sẽ không đi chơi bóng
Trang 15CHƯƠNG IV : THUẬT TOÁN ID3
2.1 Ý tưởng
Trong ID3, chúng ta cần xác định thứ tự của thuộc tính cần được xem xét tại mỗi bước Với các bài toán có nhiều thuộc tính và mỗi thuộc tính có nhiều giá trị khác nhau, việc tìm được nghiệm tối ưu thường là không khả thi Thay vào đó, một phương pháp đơn giản thường được sử dụng là tại mỗi bước, một thuộc tính tốt nhất sẽ được chọn ra dựa trên một tiêu chuẩn nào đó (chúng ta sẽ bàn sớm) Với
mỗi thuộc tính được chọn, ta chia dữ liệu vào các child node tương ứng với các giá trị của thuộc tính đó rồi tiếp tục áp dụng phương pháp này cho mỗi child node Việc chọn ra thuộc tính tốt nhất ở mỗi bước như thế này được gọi là cách chọn greedy tham lam ( ) Cách chọn này có thể không phải là tối ưu, nhưng trực giác cho chúng ta thấy rằng cách làm này sẽ gần với cách làm tối ưu Ngoài ra, cách làm này khiến cho bài toán cần giải quyết trở nên đơn giản hơn
Sau mỗi câu hỏi, dữ liệu được phân chia vào từng child node tương ứng với các câu trả lời cho câu hỏi đó Câu hỏi ở đây chính là một thuộc tính, câu trả lời chính là giá trị của thuộc tính đó Để đánh giá chất lượng của một cách phân chia, chúng ta cần đi tìm một phép đo
Trước hết, thế nào là một phép phân chia tốt? Bằng trực giác, một phép phân chia là tốt nhất nếu dữ liệu trong mỗi child node hoàn toàn thuộc vào một class–khi
đó child node này có thể được coi là một leaf node, tức ta không cần phân chia thêm nữa Nếu dữ liệu trong các child node vẫn lẫn vào nhau theo tỉ lệ lớn, ta coi rằng phép phân chia đó chưa thực sự tốt Từ nhận xét này, ta cần có một hàm số
đo độ tinh khiết purity ( ), hoặc độ vẩn đục impurity ( ) của một phép phân chia Hàm
số này sẽ cho giá trị thấp nhất nếu dữ liệu trong mỗi child node nằm trong cùng
Trang 16một class (tinh khiết nhất), và cho giá trị cao nếu mỗi child node có chứa dữ liệu thuộc nhiều class khác nhau
Một hàm số có các đặc điểm này và được dùng nhiều trong lý thuyết thông tin là hàm entropy
2.2 Hàm số Entropy
Cho một phân phối xác suất của một biến rời rạc xx có thể nhận nn giá trị khác nhau x1,x2,…,xnx1,x2,…,xn Giả sử rằng xác suất để xx nhận các giá trị này
là pi=p(x=xi)pi=p(x=xi) với 0≤pi≤1,∑ni=1pi=10≤pi≤1,∑i=1npi=1 Ký hiệu phân phối này là p=(p1,p2,…,pn)p=(p1,p2,…,pn) Entropy của phân phối này được định nghĩa là
trong đó loglog là logarit tự nhiên (Một số tài liệu dùng logarit cơ số 2, nhưng giá
trị của H(p)H(p) chỉ khác đi bằng cách nhân với một hằng số. ) và quy
ước 0log(0)=00log(0)=0
Xét một ví dụ với n=2n=2 được cho trên Hình 3 Trong trường hợp pp là
tinh khiết nhất, tức một trong hai giá trị pipi bằng 1, giá trị kia bằng 0, entropy của phân phối này là H(p)=0H(p)=0 Khi pp là vẩn đục nhất, tức cả hai giá trị pi=0.5pi=0.5, hàm entropy đạt giá trị cao nhất