Mục đích nghiên cứu: Tìm hiểu sâu hơn các kiến thức về khai phá dữ liệu, các bài toán đang được giải quyết trong khai phá dữ liệu, phương pháp xây dựng cây quyết định, xây dựng thành cô
TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU VÀ BÀI TOÁN PHÂN LỚP
Phân cụm
Phân cụm (Clustering) là quá trình nhóm các đối tượng dữ liệu thành các lớp tương tự dựa trên thuộc tính của chúng, với mỗi lớp được gọi là một cụm (cluster) Các đối tượng trong cùng một cụm có sự liên kết chặt chẽ và khác biệt so với các cụm khác Đây là một ví dụ của phương pháp học không có giám sát (unsupervised learning), không yêu cầu định nghĩa trước các mẫu dữ liệu huấn luyện Phân cụm dữ liệu có thể được xem là học bằng quan sát, trong khi phân lớp là học qua ví dụ Kết quả của các cụm không thể được dự đoán trước khi bắt đầu quá trình, và các cụm có thể tách riêng, phân cấp hoặc chồng chéo lên nhau Do đó, việc đánh giá các cụm thường cần sự can thiệp của chuyên gia trong lĩnh vực liên quan.
Phân cụm dữ liệu là một kỹ thuật quan trọng trong các ứng dụng như phân loại thị trường, phân loại khách hàng, nhận dạng mẫu và phân loại trang web Bên cạnh đó, phân cụm còn đóng vai trò là bước tiền xử lý cho các thuật toán khai phá dữ liệu khác.
Luật kết hợp
Phương pháp phát hiện các luật kết hợp (Association Rules) giúp xác định mối liên hệ giữa các thành phần dữ liệu trong cơ sở dữ liệu Các giải thuật tìm luật liên kết tìm kiếm các mối liên kết giữa các phần tử dữ liệu, chẳng hạn như những mặt hàng thường được mua kèm nhau trong siêu thị Đầu ra của thuật toán là tập hợp các luật kết hợp được tìm thấy từ một tập các giao tác, trong đó mỗi giao tác là một tập hợp các mục Luật kết hợp thường có dạng X^Y, trong đó X là tiền đề và Y là hệ quả.
Y là hai tập của mục) Ý nghĩa trực quan của luật là các giao tác của cơ sở dữ liệu mà trong đ nội dung X c khuynh hướng đến nội dung Y
Hai thông số quan trọng của luật kết hợp là độ hỗ trợ (support) và độ tin cậy (confidence) Độ hỗ trợ phản ánh mức độ phổ biến của luật, trong khi độ tin cậy thể hiện mức độ chắc chắn của luật đó Việc khai phá các luật kết hợp từ cơ sở dữ liệu nhằm tìm ra những luật có độ hỗ trợ và độ tin cậy vượt qua ngưỡng mà người dùng đã xác định trước.
Phân tích giỏ hàng trong siêu thị cho thấy rằng 68% khách hàng mua sữa cũng mua bánh mì, trong khi 21% khách hàng mua cả hai sản phẩm 68% đại diện cho độ tin cậy của luật, tức là tỷ lệ giao dịch mà khi thỏa mãn vế trái thì cũng thỏa mãn vế phải Độ hỗ trợ là 21%, phản ánh tỷ lệ giao dịch thỏa mãn cả hai vế.
Hình 1.3 Mô tả luật kết hợp
Luật kết hợp cung cấp thông tin quan trọng, hỗ trợ đáng kể trong quá trình ra quyết định Phương pháp này được áp dụng rộng rãi trong các lĩnh vực như marketing, phân tích thị trường và quản lý kinh doanh Quá trình khai phá luật kết hợp được thực hiện qua hai bước.
Bước đầu tiên là xác định tất cả các tập mục phổ biến, điều này được thực hiện bằng cách tính toán độ hỗ trợ và đảm bảo rằng nó đáp ứng yêu cầu về độ hỗ trợ tối thiểu.
Bước 2: Tạo ra các luật kết hợp mạnh từ tập mục phổ biến, đảm bảo rằng các luật này đáp ứng yêu cầu về độ hỗ trợ tối thiểu và độ tin cậy tối thiểu.
Phương pháp này rất hiệu quả trong các lĩnh vực như marketing có chủ đích, phân tích quyết định, quản lý kinh doanh và phân tích thị trường.
1.3 Các dạng dữ liệu có thể khai phá
Khai phá dữ liệu được ứng dụng rộng rãi và có khả năng làm việc với nhiều kiểu dữ liệu khác nhau Dưới đây là một số dạng dữ liệu điển hình.
Relational databases are operational databases organized according to the relational model Most modern database management systems, such as SQL Server, Oracle, DB2, MySQL, and MS Access, support this type of database.
CSDL giao dịch (transaction databases): các giao dịch trong lĩnh vực thương mại và tài chính ngân hàng
CSD đa chiều (Multidimentional structures, data warehouses, data smart): là các kho dữ liệu đƣợc tập hợp, chọn lọc từ nhiều ngu n khác nhau
Dữ liệu không gian và thời gian (spatial, temporal, and time-series data): dữ liệu bản đ , thị trường chứng khoán
CSD đa phương tiện (multimedia databases): dữ liệu được tích hợp g m nhiều dạng khác nhau: âm thanh, hình ảnh, văn bản,…
1.4 Một số ứng dụng của khai phá dữ liệu
Khai phá dữ liệu được áp dụng rộng rãi trong nhiều lĩnh vực để tận dụng nguồn dữ liệu phong phú trong các hệ thống thông tin Tùy thuộc vào đặc thù của từng lĩnh vực, các phương pháp khai phá dữ liệu sẽ có những cách tiếp cận khác nhau.
Phân tích dữ liệu và hỗ trợ quyết định (data analysis & decision support)
Ngân hàng: Xây dựng mô hình dự báo rủi ro tín dụng Tìm kiếm tri thức, quy luật của thị trường chứng khoán và đầu tư bất động sản
Thương mại điện tử đang ngày càng phát triển, với việc tìm hiểu và định hướng thúc đẩy giao tiếp hiệu quả với khách hàng Phân tích hành vi mua sắm trực tuyến giúp xác định thông tin tiếp thị phù hợp cho từng loại khách hàng Trong lĩnh vực y học, mối liên hệ giữa triệu chứng, chuẩn đoán và phương pháp điều trị là rất quan trọng để nâng cao chất lượng chăm sóc sức khỏe.
Text ming & Web mining: phân lớp, tóm tắt văn bản và phân lớp các trang WEB
Tin - Sinh (tin sinh học) là lĩnh vực nghiên cứu tập trung vào việc tìm kiếm và đối sánh các hệ gene cùng với thông tin di truyền Nó khám phá mối liên hệ giữa một số hệ gene và các bệnh di truyền, từ đó giúp hiểu rõ hơn về cơ chế di truyền và phát triển các phương pháp chẩn đoán và điều trị bệnh.
Tài chính và thị trường chứng khoán (finance & stock market): phân tích tình hình tài chính và dự báo giá của các cổ phiếu trong thị trường chứng khoán
Khai phá dữ liệu được áp dụng hiệu quả trong việc giải quyết các bài toán phức tạp trong các ngành kỹ thuật cao, như tìm kiếm mỏ dầu từ ảnh viễn thám và cảnh báo hỏng hóc trong hệ thống sản xuất Các kỹ thuật này đã thành công trong việc dự đoán tải sử dụng điện năng cho các công ty cung cấp điện, lưu lượng viễn thông cho các công ty điện thoại, mức tiêu thụ sản phẩm cho các nhà sản xuất, và giá trị sản phẩm trên thị trường cho các công ty tài chính.
Khai phá dữ liệu được ứng dụng trong nhiều vấn đề xã hội, bao gồm phân tích hiệu quả phòng chống và điều trị bệnh, tác hại của ma túy, phát hiện tội phạm và tăng cường an ninh xã hội Sự thành công trong việc áp dụng này đã mang lại những lợi ích thiết thực cho các hoạt động hàng ngày trong cuộc sống.
Bài toán
Cho CSDL D={X1, X2, , Xn} và tập các lớp C={C1, C2, , Cm}, phân lớp là bài toán xác định ánh xạ f : D→C hay c=f(X) (với X D và c C) sao cho mỗi X i đƣợc gán vào một lớp
Hình 1.4 Bài toán phân lớp
Mỗi ánh xạ đƣợc gọi là một mô hình phân lớp (Classification Model)
1.5.2 Phương pháp giải bài toán phân lớp
Quá trình phân lớp dữ liệu g m hai bước:
Bước thứ nhất (học - learning)
Quá trình học nhằm xây dựng mô hình mô tả các lớp dữ liệu hoặc khái niệm định trước, với đầu vào là tập dữ liệu có cấu trúc được mô tả bằng các thuộc tính Mỗi bộ giá trị trong tập dữ liệu được gọi là phần tử dữ liệu, có thể là mẫu, ví dụ, đối tượng, bản ghi hay trường hợp Mỗi phần tử dữ liệu được giả sử thuộc về một lớp định trước, với lớp là giá trị của thuộc tính gán nhãn lớp Đầu ra của quá trình này thường là các quy tắc phân lớp dưới dạng luật if-then, cây quyết định, công thức logic, hoặc mạng nơron.
Hình 1.5 Xây dựng mô hình phân lớp
Bước thứ hai (phân lớp - classification)
Sử dụng mô hình đã xây dựng để phân lớp dữ liệu mới, trước tiên cần ước lượng độ chính xác dự đoán của mô hình Kỹ thuật Holdout là một phương pháp đơn giản để ước lượng độ chính xác, sử dụng tập dữ liệu kiểm tra với các mẫu đã được gán nhãn lớp, được chọn ngẫu nhiên và độc lập với tập dữ liệu đào tạo Độ chính xác của mô hình trên tập dữ liệu kiểm tra được tính bằng tỷ lệ phần trăm các mẫu được phân lớp đúng Nếu độ chính xác ước lượng từ tập dữ liệu đào tạo cho kết quả khả quan, mô hình có thể gặp hiện tượng "quá vừa" dữ liệu, tức là kết quả phân lớp trùng khít với dữ liệu thực tế do mô hình đã kết hợp những đặc điểm riêng của tập dữ liệu đào tạo Do đó, cần sử dụng tập dữ liệu kiểm tra độc lập Nếu độ chính xác của mô hình đạt yêu cầu, nó có thể được áp dụng để phân lớp dữ liệu tương lai hoặc dữ liệu có giá trị thuộc tính phân lớp chưa biết.
Hình 1.6 Ước lượng độ chính xác của mô hình
Hình 1.7 Phân lớp dữ liệu mới
Trong mô hình phân lớp, thuật toán phân lớp đóng vai trò quan trọng, quyết định sự thành công của mô hình Chìa khóa để phân lớp dữ liệu là tìm ra một thuật toán nhanh, hiệu quả, chính xác và có khả năng mở rộng Một số kỹ thuật phân lớp đã được áp dụng bao gồm:
- Phân lớp cây quyết định (Decision tree classification)
- Phân lớp Bayesian (Bayesian classifier)
- Mô hình phân lớp K-hàng xóm gần nhất (K-nearest neighbor classifier)
- Các thuật toán di truyền
Trong chương này, luận văn trình bày tóm tắt kiến thức cơ bản về lý thuyết khai phá dữ liệu, các phương pháp và kỹ thuật chính, cũng như các loại dữ liệu có thể khai thác Bên cạnh đó, chương cũng đề cập đến một số ứng dụng của khai phá dữ liệu và bài toán phân lớp Những kiến thức này sẽ là nền tảng cho các nghiên cứu tiếp theo trong luận văn.
CHƯƠNG 2 CÂY QUYẾT ỊNH VÀ CÁC THUẬT TOÁN XÂY
2.1 Tổng quan về cây quyết định
Trong học máy, cây quyết định là một mô hình dự báo, ánh xạ từ các quan sát đến giá trị mục tiêu của sự vật Mỗi nút trong cây tương ứng với một biến, và các đường nối thể hiện giá trị cụ thể của biến đó Các nút lá đại diện cho giá trị dự đoán của biến mục tiêu, dựa trên các giá trị của các biến từ nút gốc đến nút lá Kỹ thuật học máy này được gọi là học bằng cây quyết định.
Học bằng cây quyết định là một phương pháp phổ biến trong khai thác dữ liệu, trong đó cây quyết định mô tả cấu trúc cây với các lá đại diện cho các phân loại và các cành thể hiện sự kết hợp của các thuộc tính dẫn đến phân loại Cây quyết định được xây dựng bằng cách chia tập hợp nguồn thành các tập con dựa trên kiểm tra giá trị thuộc tính Quá trình này lặp lại đệ quy cho mỗi tập con cho đến khi không thể tiếp tục chia tách hoặc khi một phân loại đơn có thể áp dụng cho từng phần tử của tập con.
Một bộ phân loại rừng ngẫu nhiê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
Câ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 là sự kết hợp giữa các kỹ thuật học máy và tính toán, giúp mô tả, phân loại và tổng quát hóa một tập dữ liệu cụ thể.
2.2 Thiết kế cây quyết định
Dữ liệu thô là tập hợp các mẫu dữ liệu ban đầu chưa qua biến đổi từ tổng thể Hầu hết dữ liệu thô hữu ích khi nó biểu diễn một cách chính xác và thường là sự kết hợp giữa các mẫu thống kê và sự điều chỉnh của chuyên gia.
Trong thế giới thực, dữ liệu thô thường chứa mức độ nhiễu do nhiều nguyên nhân như dữ liệu lỗi và dữ liệu không chính xác Do đó, việc tiền xử lý, hay còn gọi là "làm sạch" dữ liệu, là cần thiết để giảm thiểu hoặc loại bỏ nhiễu Các giai đoạn tiền xử lý không chỉ giúp loại bỏ dữ liệu không mong muốn mà còn biến đổi dữ liệu thô thành dạng hữu ích hơn, như trong hệ thống thông tin Khi áp dụng hiệu quả nhiều bước tiền xử lý, điều này sẽ cải thiện đáng kể hiệu quả phân lớp.
Cây quyết định được hình thành thông qua quá trình chia nhỏ (đệ quy) một tập dữ liệu thành các tập con, trong đó mỗi tập con chủ yếu bao gồm các phần tử thuộc cùng một lớp.
Các nút không phải là nút lá trong cây là những điểm phân nhánh quan trọng Việc phân nhánh tại các nút này dựa trên việc kiểm tra một hoặc nhiều thuộc tính để xác định cách thức phân chia dữ liệu.
Việc lựa chọn thuộc tính trong các thuật toán phân lớp dựa vào cây quyết định là rất quan trọng, vì nó ảnh hưởng đến hiệu quả phân lớp của tập mẫu Để đạt được kết quả tốt nhất, chúng ta cần có tiêu chuẩn đánh giá phù hợp Hiện nay, có nhiều tiêu chuẩn đánh giá khác nhau được sử dụng trong quá trình này.
Lƣợng thông tin thu thêm IG (Information Gain, thuật toán ID3 của John Ross Quilan)
Đánh giá thay đổi các giá trị của thuộc tính RatioGain (RatioGain, thuật toán C4.5)
Các tiêu chuẩn trên sẽ đƣợc trình bày trong các thuật toán xây dựng cây quyết định
2.2.4 Tiêu chuẩn dừng Đây là phần quan trọng trong cấu trúc phân lớp của cây quyết định nhằm chia một nút thành các nút con
Chúng ta sẽ xem xét một số tiêu chuẩn dừng phổ biến trong cây quyết định Tiêu chuẩn dừng truyền thống dựa vào các tập kiểm tra, trong đó cây quyết định được kiểm tra trong quá trình xây dựng và thuật toán sẽ dừng lại khi phát hiện lỗi Một phương pháp khác là sử dụng giá trị ngưỡng để dừng việc chia nút, với các ngưỡng có thể thay đổi như giảm nhiễu, số lượng mẫu trong một nút, tỷ lệ mẫu trong nút, hoặc chiều sâu của cây.
Trong quá trình tạo cây, chúng ta có thể kiểm soát sự phát triển của cây bằng cách giới hạn số lượng bản tin tối thiểu tại mỗi nút, độ sâu tối đa của cây, và giá trị tối thiểu của lượng thông tin thu thập thêm.
Sau khi hoàn thành giai đoạn tạo cây, chúng ta có thể áp dụng phương pháp "Độ dài mô tả ngắn nhất" (Minimum Description Length) hoặc giá trị tối thiểu của IG để tiến hành tỉa cây Trong quá trình này, có thể chọn giá trị tối thiểu của IG trong giai đoạn tạo cây đủ nhỏ để cho phép cây phát triển sâu hơn, sau đó nâng giá trị này lên để thực hiện việc tỉa cây hiệu quả.
2.3 Phương pháp tổng quát xây dựng cây quyết định
Quá trình xây dựng một cây quyết định cụ thể bắt đầu bằng một nút rỗng bao g m toàn bộ các đối tƣợng huấn luyện và làm nhƣ sau
Một số vấn đề với thuộc tính
Thuật toán ID3 bị giới hạn bởi việc liên quan đến tập những giá trị rời rạc
Trong thuật toán C4.5 sẽ mở rộng phạm vi hoạt động cho những thuộc tính có giá trị liên tục để phù hợp với yêu cầu thực tế
Bảng 2.3 Tập dữ liệu có giá trị liên tục
STT Quang cảnh Nhiệt độ ộ ẩm Gió Chơi tennis
4 Mƣa Ấm áp 96 Nhẹ Có
8 Nắng Ấm áp 95 Nhẹ Không
10 Mƣa Ấm áp 80 Nhẹ Có
11 Nắng Ấm áp 70 Mạnh Có
12 Âm u Ấm áp 90 Mạnh Có
14 Mƣa Ấm áp 80 Mạnh Không
Thuật toán C4 5 đƣa ra định nghĩa những giá trị rời rạc mới để phân những giá trị liên tục thành những thuộc tính tƣợng trƣng theo quy tắc sau:
Dựa trên một giá trị nếu muốn phân chia nhị phân
Dựa trên vài giá trị nếu muốn có nhiều nhánh
Với mỗi giá trị các mẫu thuộc một lớp theo dạng C ≤ v và C > v
Cách chọn giá trị v hiệu quả:
Chọn giá trị trung bình từng cặp giá trị của thuộc tính để phân chia và tính chỉ số gia lƣợng thông tin
Chọn giá trị phân chia có chỉ số IG cao nhất
Để phân chia và tính chỉ số gia lượng thông tin, ta chọn giá trị trung bình từng cặp giá trị của thuộc tính Từ Bảng 2.3, độ đo lượng thông tin thu thêm IG(DTđộ ẩm, độ ẩm = 67 5) được tính như sau:
IG(DTđộ ẩm, độ ẩm = 67.5)=0.940 - 0.893 = 0.047
Tính tương tự cho các giá trị còn lại
IG(DT độ ẩm , độ ẩm = 72.5)=0.646
IG(DT độ ẩm , độ ẩm = 76.5)=0.045
IG(DTđộ ẩm, độ ẩm = 79.5)=0.090
IG(DTđộ ẩm, độ ẩm = 82.5)=0.102
IG(DT độ ẩm , độ ẩm = 87.5)=0.025
IG(DT độ ẩm , độ ẩm = 92.5)=0.010
IG(DTđộ ẩm, độ ẩm = 95.5)=0.047
Nhƣ vậy giá trị chọn để phân chia là 72.5 Độ ẩm
Hình 2.4 Minh họa phân chia thuộc tính liên tục
Dữ liệu vào: Tập E, tập danh sách thuộc tính, tập nhãn lớp
Dữ liệu ra: Mô hình cây quyết định
Tại hàm chính, gọi đệ quy CreateTree() với ba tham số vào là tập dữ liệu
Thuật toán DT sử dụng danh sách thuộc tính của C và nhãn lớp {d} để hoạt động Nó thực hiện việc chọn giá trị thuộc tính tốt nhất để chia thông qua đệ quy (bước 7) và tiếp tục mở rộng các nút con bằng cách gọi đệ quy cho đến khi đạt được điều kiện dừng (bước 1).
7 Nútgốc ĐiềuKiệnKiểmTra = T mĐiểmChiaTốtNhất(DT,C) bestAttribute = getBestAttribute(DT,C);
8 Đặt C = C \ {Nút chọn phân chia}
9 Đặt V ={v| v thỏa điều kiện là phần phân chia xuất phát từ Nútgốc }
10 Lặp qua từng tập phân chia vV
11 Đặt DT v = {e| Nútgốc ĐiềuKiệnKiể DT }
Dòng đầu tiên kiểm tra điều kiện dừng; nếu điều kiện này được thỏa mãn, quá trình đệ quy sẽ tạo ra đến nút lá Điều kiện dừng chỉ xảy ra khi
Tất cả các dòng trong tập dữ liệu DT thuộc về cùng một lớp duy nhất (1)
Không có bất cứ dòng nào trong tập DT, điều này có thể xảy ra khi tập con được tạo ở bước phân chia các tập con là rỗng (2)
Trong trường hợp (1), ta chỉ cần sử dụng hàm CreateNode() để tạo nút lá và gán nhãn duy nhất cho thuộc tính nhãn của nút vừa được tạo.
Trường hợp (2) sẽ trả về nút lá bằng rỗng và tiến hành gán nhãn cho nútcha là nhãn lớp xuất hiện nhiều nhất nhƣ sau:
Nhãn lớp = max(tổng của từng giá trị nhãn lớp riêng biệt trong
Hàm PhânLớp(DT) có chức năng xác định nhãn cho tập dữ liệu DT, tự động xác định và trả về giá trị nhãn chính xác cho cả hai trường hợp.
Xét Dòng 3 và 4 xảy ra khi nút cha chỉ còn một thuộc tính sau khi đã phân chia tạo ra tập dữ liệu D Nếu sau khi phân chia, tập D không còn thuộc tính nào để tiếp tục phân chia, thì nút lá sẽ trả về giá trị nhãn xuất hiện nhiều nhất trong D.
Nếu thuật toán chưa thỏa mãn điều kiện dừng ở dòng 5, cần tiếp tục tìm kiếm điểm chia tốt nhất Để xác định điểm chia tối ưu, một hàm đánh giá sẽ được sử dụng, và kết quả của hàm này sẽ trả về thuộc tính được chọn tương ứng Các tiêu chuẩn đánh giá và cách chọn điểm chia sẽ được giải thích chi tiết hơn trong các phần tiếp theo.
X t dòng 7 và 8, sau khi đã chọn đƣợc điểm chia tốt nhất, tiến hành phân tập D thành các tập con Di, cập nhật lại danh sách các thuộc tính
Xét dòng 9 và 10, lặp qua danh sách các tập con Di và tiến hành gọi đệ quy hàm CreateTree() với tham số mới tương ứng
Trong chương này, luận văn tóm tắt kiến thức về cây quyết định và các thuật toán sinh cây quyết định cho bài toán phân lớp Dựa trên các cây quyết định đã trình bày, chương 3 sẽ cài đặt thuật toán ID3 và kiểm nghiệm thuật toán trên cơ sở dữ liệu điểm sinh viên của Khoa Công nghệ Thông tin, Trường Đại học Giao thông vận tải.
PHƯƠNG PHÁP XẾP LOẠI NGHIỆP TỐT NGHIỆP SINH VIÊN DỰA TRÊN CÂY QUYẾT ĐỊNH
Xây dựng cây quyết định và xếp loại tốt nghiệp sinh viên
3.3.1 Tiền xử lý dữ liệu
Bài toán xếp loại tốt nghiệp sinh viên nhằm phân lớp sinh viên vào ba nhóm: {Trung bình, Khá, Giỏi} hay {C, B, A} Cây quyết định là một mô hình hiệu quả cho việc phân lớp dữ liệu rời rạc Trong phần này, chúng tôi đề xuất phương pháp xếp loại tốt nghiệp sinh viên dựa trên cây quyết định, được xây dựng từ cơ sở dữ liệu đã được các chuyên gia phân loại hoặc dựa trên điểm số theo quy chế 43 của Bộ Giáo dục và Đào tạo.
Để xây dựng cây quyết định xếp loại sinh viên từ bảng dữ liệu 3.1, chúng tôi cần chuyển đổi nó thành bảng dữ liệu tổng hợp với cấu trúc tương tự như bảng 3.2 dưới đây.
Bảng 3.2 Bảng tổng hợp kết quả học tập của sinh viên
Trong đ mỗi dòng tương ứng với kết quả học tập của mỗi sinh viên, giá trị của các ô trong mỗi dòng bao g m:
- D2: Tổng số học phần 2 tín chỉ sinh viên đạt điểm D
- C2: Tổng số học phần 2 tín chỉ sinh viên đạt điểm C
- B2: Tổng số học phần 2 tín chỉ sinh viên đạt điểm B
- A2: Tổng số học phần 2 tín chỉ sinh viên đạt điểm A
- D3: Tổng số học phần 3 tín chỉ sinh viên đạt điểm D
- C3: Tổng số học phần 3 tín chỉ sinh viên đạt điểm C
- B3: Tổng số học phần 3 tín chỉ sinh viên đạt điểm B
- A3: Tổng số học phần 3 tín chỉ sinh viên đạt điểm A
- D4: Tổng số học phần 4 tín chỉ sinh viên đạt điểm D
- C4: Tổng số học phần 4 tín chỉ sinh viên đạt điểm C
- B4: Tổng số học phần 4 tín chỉ sinh viên đạt điểm B
- A4: Tổng số học phần 4 tín chỉ sinh viên đạt điểm A
- DA: Xếp loại học phần đ án của sinh viên
- XLTN: Kết quả xếp loại tốt nghiệp (C: Trung bình, B: Khá, A: Giỏi)
Ví bảng dữ liệu tổng hợp từ kết quả học tập của 315 khóa 55 của khoa Công nghệ thông tin trường Đại học giao thông vận tải
Bảng 3.3 Bảng tổng hợp kết quả học tập của sinh viên K55 khoa Công nghệ thông tin
Hình 3.2 Biểu đồ thống kê số sinh viên được xếp loại A (Giỏi), B (Khá),
Hình 3.3 Biểu đồ thống kê tổng số điểm của từng loại điểm của dữ liệu
Kết quả học tập của sinh viên chủ yếu tập trung vào các điểm D, C và B đối với các môn 3 tín chỉ Trong khi đó, đối với các môn 2 tín chỉ, kết quả học tập phân bố đều cho cả 4 loại điểm A, B, C và D.
3.3.2 Cài đặt thuật toán xây dựng mô hình cây quyết định
Chúng tôi đã cài đặt thuật toán xây dựng cây quyết định ID3 bằng ngôn ngữ lập trình C# trong môi trường Visual Studio 2013 Phần mềm được cấu trúc thành ba gói chính: Gói Data để đọc dữ liệu, gói DecisionTree để xây dựng cây quyết định, và gói StudentClassification để phân loại sinh viên bằng cách sử dụng hai gói Data và DecisionTree.
Hình 3.4 Sơ đồ kiến trúc cài đặt ứng dụng xếp loại sinh viên
Hệ thống phần mềm đƣợc tổ chức thành 3 gói:
Gói Data có chức năng đọc và xử lý dữ liệu để phù hợp với đầu vào của thuật toán xây dựng cây quyết định, bao gồm hai lớp chính là FRSDatatable và FRSRow.
Hình 3.5 Các lớp của gói Data
Gói DecisionTree nhận dữ liệu từ gói Data để xây dựng cây quyết định tương ứng Gói này bao gồm 10 lớp, như được trình bày trong hình dưới đây.
Hình 3.6 Các lớp của gói DecisionTree
Gói StudentClassification thực hiện việc phân loại sinh viên dựa trên kết quả học tập, được biểu diễn dưới dạng một vector gồm các loại điểm như D2, C2, B2, A2, D3, C3, B3, A3, D4, C4, B4, A4, và DA Gói này thống kê số điểm đạt được ở các loại D, C, B, và A.
3.4 Thử nghiệm và đánh giá
Chúng tôi đã tiến hành thử nghiệm và đánh giá trên tập dữ liệu được trình bày trong bảng 3.3 bằng cách chia ngẫu nhiên thành hai tập: tập học và tập kiểm tra Trong thử nghiệm đầu tiên, 90% mẫu dữ liệu được sử dụng để xây dựng cây quyết định, trong khi 10% còn lại được dùng để kiểm tra Ở thử nghiệm thứ hai, 80% mẫu dữ liệu được dùng để học xây dựng cây quyết định và 20% còn lại để kiểm tra.
Việc phân chia tập dữ liệu học và kiểm tra cần đảm bảo rằng trong tập huấn luyện có đầy đủ các sinh viên được xếp loại tốt nghiệp A, B, C Điều này nhằm đảm bảo rằng cây phân loại sẽ có đủ các nhánh để phân lớp cho tất cả các loại kết quả tốt nghiệp.
- Thử nghiệm thứ nhất chia tập dữ liệu theo tỉ lệ 90% học 10% kiểm tra
Bảng 3.4 Thống kê số sinh viên được xếp loại A, B, C của tập dữ liệu học ần thử nghiệm
Số mẫu dữ liệu học
Số mẫu dữ kiểm tra
Số sinh viên đƣợc xếp loại
Bảng 3.5 Tổng hợp kết quả xếp loại tốt nghiệp của sinh viên bằng cây quyết định với thử nghiệm 90% học và 10% kiểm tra
Trên tập huấn luyện Trên tập kiểm tra
Số SV Xếp loại đúng
Số SV xếp loại sai
Số SV Xếp loại đúng
Số SV xếp loại sai
- Thử nghiệm thứ hai chia tập dữ liệu theo tỉ lệ 80% học 20% kiểm tra
Bảng 3.6 Thống kê số sinh viên được xếp loại A, B, C của tập dữ liệu học ần thử nghiệm
Số mẫu dữ liệu học
Số mẫu dữ kiểm tra
Số sinh viên đƣợc xếp loại
Bảng 3.7 Tổng hợp kết quả xếp loại tốt nghiệp của sinh viên bằng cây quyết định với thử nghiệm 90% học và 10% kiểm tra
Trên tập huấn luyện Trên tập kiểm tra
Số SV Xếp loại đúng
Số SV xếp loại sai
Số SV Xếp loại đúng
Số SV xếp loại sai
Dựa trên kết quả thí nghiệm tổng hợp từ bảng 3.5 và 3.7, cây quyết định đã phân loại chính xác kết quả học tập của sinh viên trên cả tập huấn luyện và tập kiểm tra Điều này cho thấy phương pháp xếp loại kết quả tốt nghiệp của sinh viên mà chúng tôi đề xuất trong luận văn là đáng tin cậy và có thể áp dụng trong thực tế.
Trong chương này, luận văn đề xuất một phương pháp xếp loại tốt nghiệp cho sinh viên dựa trên kết quả học tập bằng điểm chữ Phương pháp này sử dụng cây quyết định được xây dựng từ cơ sở dữ liệu đã được phân loại bởi các chuyên gia hoặc theo công thức tính điểm số Đề xuất đã được thử nghiệm trên tập dữ liệu gồm 315 sinh viên tốt nghiệp của khoa Công nghệ thông tin, trường Đại học Giao thông Vận tải Kết quả cho thấy phương pháp xếp loại tốt nghiệp đạt độ chính xác 100%, chứng tỏ tính tin cậy và khả năng áp dụng của nó trong việc xếp loại tốt nghiệp sinh viên dựa trên điểm chữ thay vì điểm số.