Giới thiệu về công cụ khai phá dữ liệu

Một phần của tài liệu 28035_1712202001915713LUNVN_Minh_IN (Trang 42)

2.9 .Kết luận Chươn g2

3.2. Giới thiệu về công cụ khai phá dữ liệu

Cơng cụ sử dụng trong chương trình là phần mềm mã nguồn mở Weka. Weka (Waikato Environment for Knowledge Analysis) là phần mềm khai thác dữ liệu, thuộc dự án nghiên cứu của đại học Waikato, New Zealand. Mục tiêu của dự án là xây dựng một công cụ hiện đại nhằm phát triển các kỹ thuật máy học và áp dụng chúng vào bài toán khai thác dữ liệu trong thực tế.

-Bao gồm nhiều công cụ đa dạng để thay đổi tập dữ liệu, xử lý dữ liệu, giải thuật học và phương pháp đánh giá.

-Giao diện đồ họa người dùng (trực quan hóa dữ liệu). -Mơi trường để so sánh các giải thuật học.

-Có thể xử lý trước tập dữ liệu, cho vào trong một sơ đồ và phân chia các lớp kết quả và thực hiện nó mà khơng cần viết bất cứ một chương trình nào.

-Weka lấy dữ liệu từ các file có định dạng .arff; .scv, nó được sinh ra từ một file hoặc một bảng cơ sở dữ liệu.

Weka có bốn mơi trường chính:

-Simple CLI: Giao diện đơn giản kiểu dòng lệnh (như MSDOS)

-Explorer: Môi trường cho phép sử dụng tất cả các khả năng của Weka để khai phá dữ liệu.

-Experimenter: Mơi trường cho phép tiến hành các thí nghiệm và thực hiện các kiểm tra thống kê (statistical tests) giữa các mơ hình học máy.

- KnowledgeFlow: Mơi trường cho phép tương tác đồ hoạ kiểu kéo/thả để thiết kế các bước (các thành phần) của một thí nghiệm.

3.3. Mơ hình và bài toán xây dựng hệ hỗ trợ tư vấn tuyển sinh.

3.3.1. Mơ hình

Sau khi thu thập dữ liệu ta cần xử lý cơ sở dữ liệu, lưu trữ các thông tin cần thiết cho quá trình xây dựng chương theo mơ hình sau.

Hình 3.3: Mơ hình giải pháp xây dựng hệ hỗ trợ tư vấn tuyển sinh.

3.3.2. Giới thiệu bài toán

Trường Đại học Phạm Văn Đồng là trường đào tạo các bậc đại học, cao đẳng và trung cấp chuyên nghiệp hệ chính quy, liên thơng và vừa làm vừa học theo hệ thống tín chỉ. Dữ liệu về kết quả tuyển sinh được trích xuất từ phần mềm tuyển sinh của Bộ Giáo dục và Đào tạo ra file Excel và được quản lý và lưu trữ tại Phịng Khảo thí - Đảm bảo chất lượng giáo dục. File có dạng như sau:

Kho chứa dữ liệu điểm (Excel; SQL; …) Phân tích dữ liệu điểm Descition tree(ID3, C45,…); Apriori;… Các tập luật tư vấn Chương trình hỗ trợ tư vấn Giao diện kết quả tư vấn

Hình 3.4. Cơ sở dữ liệu tuyển sinh của Trường Đại học Phạm Văn Đồng

Ngoài ra, tác giả còn bổ sung thêm cột điểm học lực THPT của các thí sinh trên, như sau:

Hình 3.5: Cơ sở dữ liệu tuyển sinh và điểm học lực THPT

Về cơ sở dữ liệu tốt nghiệp của học sinh, sinh viên được quản lý và lưu trữ tại phòng Đào trên phần mềm quản lý đào tạo BSC của nhà trường trên file Excel. Đó là kết quả riêng biệt với kết quả tuyển sinh.

Bài toán đặt ra là dựa vào kết quả đầu vào tuyển sinh của cao đẳng khoá 15 và đại học khoá 14 với kết quả tốt nghiệp của hai khố này vào năm2018 để tìm ra quy luật nhằm hỗ trợ học sinh khoá mới chọn ngành học phù hợp với năng lực của mình khi xét tuyển vào Trường sao có hiệu quả học tập tốt nhất và kết quả tốt nghiệp là cao nhất.

3.4. Mô tả việc tổng hợp dữ liệu cho bài tốn

- Thơng tin Học sinh trong danh sách trúng tuyển đầu vào của từng ngành học của khối cao đẳng khóa 2015 và đại học khố 2014 bao gồm: Số thứ tự, Số hồ sơ, Số báo danh, Họ,Tên, Ngày sinh; Giới tính, Chứng minh nhân dân, Khu vực ưu tiên, Đối tượng ưu tiên, Điểm môn 1, Điểm mơn 2, Điểm mơn 3, Tổng điểm chưa có ưu tiên, Tổng điểm xét tuyển và Học lực THPT.

- Danh sách tốt nghiệp của tất cả Sinh viên khối cao đẳng khóa 2015 và đại học khoá 2014 bao gồm: Số thứ tự, Mã Sinh viên,Họ, Tên; Tên lớp, Ngành học, Điểm tốt nghiệp, Loại tốt nghiệp;…

- Chọn lại những Sinh viên được tốt nghiệp theo danh sách tốt nghiệp.

- Ghép danh sách Học sinh đầu vào và kết quả tốt nghiệp của Sinh viên theo từng ngành trong danh sách tốt nghiệp.

- Dữ liệu điểm Sinh viên sau khi thực hiện các bước bao gồm: Số thứ tự; Mã ngành; Điểm môn 1, Điểm môn 2, Điểm môn 3, Khu vực thi; Học lực THPT; Ngành học; Xếp loại tốt nghiệp…

Dữ liệu sau khi thu thập tổng hợp và lưu trữ dưới dạng file Excel:

Hình 3.6. Cơ sở dữ liệu tổng hợp chưa chuẩn hoá

- Để đưa dữ liệu vào thuật toán trong Weka, thực hiện việc huấn luyện dữ liệu

và sinh ra tập luật thì chúng ta cần phải chuẩn hóa liệu ở trên cho phù hợp với thuật tốn.

3.5.Chuẩn hoá dữ liệu đầu vào cho thuật toán

- Dữ liệu điểm được thu thập tại Phòng Đào tạo của trường bao gồm 17 thuộc tính và khoảng 280 Sinh viên. Cấu trúc file CSDL.xlsx Weka không thể đọc được

vàchỉ cho phép đọc file dữ liệu dưới dạng file.csv. Cấu trúc file gốc được chuyển thành file CSDL.csv có các định dạng kiểu dữ liệu như sau:

Bảng 3.1: Cấu trúc file dữ liệu của luận văn

STT

Thuộc tính Kiểu dữ liệu Dạng Ghi chú

1 STT Numeric 1,2,3,… Số thứ tự

2 MaSV Nominal PDQ10018,... Mã sinh viên

3 HoDem Nominal Trần Thị,... Họ đệm

4 Ten Nominal Lan,.. Tên

5 MaPhai Nominal 1,0 Mã phái

6 Phái Nominal 0,1 Phái, giới tính

7 NgaySinh Date 22/2/1995 Ngày sinh

8 MaKV Nominal 1, 2, Mã Khu vực

9 KhuVuc Nominal 1,2, Tên klhu vực

10 DiemTHPT Numeric 6.3,7.2,.. Học lực THPT 11 DiemToan Numeric 4.5; 5.5;... Điểm mơn Tốn 12 DiemVan Numeric 4.5; 5.5;... Điểm môn Văn 13 DiemNN Numeric 4.5; 5.5;... Điểm môn Ngoại ngữ 14 DiemLy Numeric 4.5; 5.5;... Điểm môn Vật lý 15 MaNganh Nominal CNTT, KeToan,.. Mã ngành học 16 NganhHoc Nominal Kế toán,.. Tên ngành học 17 XepLoaiTN Nominal XuatSac,Gioi,… Xếp loại tốt nghiệp

Chuẩn hóa dữ liệu bao gồm những cơng việc như sau:

- Filtering Attributes: Lọc thuộc tính, chọn các thuộc tính phù hợp với mơ hình. - Filtering samples: Lọc các mẫu (instances, patterns) dữ liệu cho mơ hình - Clean data: Làm sạch dữ liệu như xóa bỏ các dữ liệu bất thường (Outlier),

Transformation: Chuyển đổi dữ liệu cho phù hợp với các mơ hình như chuyển đổi dữ

liệu từ numeric qua nomial hay ordinal

- Discretization (rời rạc hóa dữ liệu): Nếu bạn có dữ liệu liên tục nhưng một

vài mơ hình chỉ áp dụng cho các dữ liệu rời rạc (như luật kết hợp chẳn hạn) thì bạn phải thực hiện việc rời rạc hóa dữ liệu.

3.5.1. Lọc thuộc tính (Filtering Attributes)

- Sau khi nạp dữ liệu vào Weka Trong file dữ liệu DatadiemSV.csv, tác giả nhận thấy một số thuộc tính bi dư thừa khơng cần thiết cho mục đích của chương trình như là: Stt; MaNganh; HoTen; Phai; NgaySinh; NamTN. Chúng ta cần loại bỏ những thuộc tính này trước khi thực hiện các bước tiếp theo trong Association Rule Mining. Công việc này được thực hiện trong Weka như sau:

- Trong panel Filter > Choose> filters >unsupervised > attribute > Remove

Bước tiếp theo là bấm vào textbox ngay bên phải nút “Choose” và gỏ vào 1 (đây là index của thuộc tính STT trong file dữ liệu). Chú ý rằng tùy chọn "invertSelection"phải được thiết lập là false như hình bên dưới:

Hình 3.7: Giao diện lọc thuộc tính của Weka

Bấm nút “Apply” sẽ tạo ra một dữ liệu mới (working relation) với các thuộc tính sau khi đã loại bỏ thuộc tính STT, thuộc tính HoTen,...Các thuộc tính cịn lại cần loại bỏ cũng làm tương tự như trên. Sau khi loại bỏ các thuộc tính khơng cần thiết thì chỉ cịn lại 9 thuộc tính như sau:

Hình 3.8: Giao diện sau khi loại bỏ các thuộc tính dư thừa

3.5.2. Rời rạc hóa dữ liệu(Discretization)

-Rời rạc hóa giá trị của các trường liên tục mơ hình khai phá luật kết hợp khơng làm việc với các kiểu dữ liệu liên tục. Quá trình này goi là rời rạc hóa dữ liệu (Discretization)

- Trong Data Mining, một số kỹ thuật như khai phá luật kết hợp (association rule mining) chỉ có thể thực hiện trên các dữ liệu phân loại (categorical/ nominal data). Điều này yêu cầu phải thực hiện việc rời rạc hóa trên các thuộc tính có kiểu dữ liên tục (như kiểu numeric chẳn hạn) khi muốn áp dụng các kỹ thuật này. Trong file dữ liệu “CSDL.CSV” có 7 thuộc tính kiểu số, đó là "MaPhai", "MaKV", "DiemTHPT", "DiemToan", "DiemVan", "DiemNN", "DiemLy".

Hình 3.9: Giao diện của chức năng rời rạc hoá dữ liệu

Tiếp theo, bấm chuột vào text box ngay bên phải nút “Choose” và thiết lập các tham số để thực hiện việc rời rạc hóa.

Trong textbox attributeIndices nhập số thứ tự tương ứng với index của thuộc tính “DiemTHPT” là 3 và trong mục Binsnhập 3 (tổng điểm THPT được chia làm 3

Hình 3.10: Giao diện thiết lập rời rạc hố dữ liệu

Sau đó, bấm Ok --> Apply sẽ cho ta một kết quả mới của DiemTHPT đã được rời rạc chia thành ba khoảng và kiểu dữ liệu từ kiểu numeric chuyển sang kiểu nominal.

Tương tự đối với thuộc tính "DiemToan", "DiemVan", "DiemNN", "DiemLy"ta cũng làm như trên nhưng trong mục Binstác giả chỉ nhập số 2 để chia thành 2 khoảng. Sau đó chọn nút Save để lưu sang file CSDL.ARFF.

Còn hai thuộc tính "MaKV" và "MaPhai" là kiểu numeric ta sẽ chuyển sang kiểu nominal trong file CSDL.ARFF bằng cách thay chuỗi "numeric" bằng {1,2,3,4} và {0,1} lần lượt đối với hai thuộc tính là "MaKV" và "MaPhai". Còn tên nhãn các khoảng dữ liệu ta sẽ dùng chức năng Ctrl+H trong WordPad để thay thế. Kết quả cho ta file CSDL.ARFF như sau:

Hình 3.12: Chuyển kiểu dữ liệu cho thuộc tính

Sau đó ta đưa file .arff đã chỉnh sửa hồn chỉnh vào lại Weka và bật chức năng Visualize All để xem tất cả các thuộc tính đã được rời rạc dữ liệu.

Hình 3.13: Chuyển kiểu dữ liệu cho thuộc tính thành cơng

Cuối cùng cho ta tệp kết quả như sau:

3.6. Phân tích cơ sở dữ liệu dữ liệu

3.6.1. Tìm hiểu và chuẩn bị dữ liệu

Sau khi thu thập dữ liệu, tiền xử lý bằng cách loại bỏ các giá trị dư thừa và thiếu (missing), số lượng mẫu tin (mỗi mẫu tin tương ứng với một sinh viên) còn lại là 280 instances (bản ghi)

Trong tập dữ liệu thu thập được có rất nhiều thuộc tính, vậy thuộc tính nào ảnh hưởng lớn nhất đến kết quả dự đoán và làm sao để chọn các thuộc tính đó? Để giải quyết vấn đề này, tác giả đã dùng phương pháp chọn thuộc tính (feature selection).

Trong cơng cụ Weka đã có hỗ trợ rất nhiều phương pháp giúp lựa chọn thuộc tính. Ở đây tác giả đã sử dụng phương pháp lựa chọn thuộc tính thơng qua đánh giá độ lợi thơng tin của từng thuộc tính “Information Gain Attribute Evaluation”, sau đó xếp hạng của chúng (ranked attribute) theo thứ tự giảm dần và có thể loại bỏ các thuộc tính mà độ lợi thơng tin của nó q thấp.

Kết quả cho độ lợi thơng tin theo thứ tự như sau:

Bảng 3.2: Mức độ quan trọng của thuộc tính

STT Thuộc tính Xếp hạng 1 DiemTHPT 0.5694 2 DiemNN 0.1955 3 MaPhai 0.1286 4 DiemLy 0.0839 5 DiemToan 0.071 6 MaKV 0.0191 7 DiemVan 0.0113 8 MaPhai 0.0111

Như vậy dựa vào bảng kết quả ta thấy thuộc tính DiemTHPT có độ lợi thơng tin cao nhất nên được chọn làm thuộc tính phân lớp cho bài tốn.

3.6.2. Mơ hình hóa dữ liệu

Sau bước tiền xử lý dữ liệu sẽ đến giai đoạn mơ hình hố cho việc dự đoán. Trong phần này sẽ trình bày việc xây dựng mơ hình bao gồm các kỹ thuật sử dụng, các biến đầu vào và biến dự đoán (target attribute)

Bảng 3.3 trình bày chi tiết dữ liệu cũng như các kỹ thuật dùng trong dự đoán kết quả chọn ngành. Tác giả đã sử dụng dạng phân lớp cho dự đoán Xuất sắc, Giỏi, Khá, Trung bình.

Vấn đề: Dựa vào thơng tin đầu vào và kết quả đầu ra để dự đoán kết quả học tập của sinh viên

Bảng 3.3: Giải thuật của hệ thống

Giải thuật Biến đầu vào Kết quả đầu ra

Dựa vào cây quyết định để dự đoán dữ liệu chưa biết của sinh viên là kết quả tốt nghiệp đại học, cao đẳng: Xuất sắc, Giỏi, Khá và Trung bình. - KhuVuc - MaDiemTHPT - DiemToan - DiemVan - DiemNN - DiemLy - GioiTinh Dự đoán kết quả tốt nghiệp là: Xuất sắc, Giỏi, Khá, Trung bình. 3.6.3. Đánh giá mơ hình

Sau khi mơ hình hóa, việc đánh giá độ tin cậy của các mơ hình sẽ được thực hiện, gồm cả thao tác điều chỉnh giá trị của các thuộc tính, thay đổi các tham số, kiểm

tra mơ hình sao cho đạt kết quả chính xác nhất.Đánh giá hiệu quả phân lớp bằng độ đo

InfoGain trong chức năng InfoGainAttributeEval của Weka. Kết quả cho thấy như

sau:

Hình 3.16: Kết quả đánh giá mơ hình

Với dữ liệu huấn luyện là 158 thuộc tính và sử dụng thuật tốn C4.5 thì Weka phân lớp được 112 bản ghi đúng và 46 bản ghi không phân lớp được chiếm tỷ lệ phân lớp đúng là 71% và sai là 29%.

Sau đó dựa vào mơ hình này ta sử dụng để dự đốn cho tập dữ liệu kiểm thử với 122 thuộc tính ta có kết quả sau:

Hình 3.17: Ứng dụng mơ hình cho tập dữ liệu kiểm tra

Ta thấy rằng với mơ hình trên nhưng với ở tập dữ liệu kiểm thử ít hơn nên cho ta mức độ dự đốn tốt hơn đó là dự đốn đúng 81% và sai 19%.

Do đó, mơ hình này tốt để dự đốn những tập dữ liệu mới chưa biết.

3.7. Khai phá dữ liệu rút ra tri thức

Tập luật được rút ra dưới dạng If-Then dựa vào cây quyết định được sinh ra với tập dữ liệu huấn luyện bằng thuật toán J48.

Dạng cây quyết định được xây dựng từ J48 với phần mềm Weka có tập luật như sau:

Luật 1: IF (DiemTHPT = Gioi) and (DiemToan= Cao) and (DiemLy= Cao) and (DiemVan = Cao) and (KhuVuc = 3) then XLTN = XuatSac

Luật 2: IF (DiemTHPT = Gioi) and (DiemToan= Cao) and (DiemLy= Cao) and (DiemVan = Cao) and (KhuVuc = 2) then XLTN = Gioi

Luật 3: IF (DiemTHPT = Gioi) and (DiemToan= Cao) and (DiemLy= Cao) and (DiemVan = Cao) and (KhuVuc =1)then XLTN = Kha

Luật 4: IF (DiemTHPT = Gioi) and (DiemToan= Cao) and (DiemLy= Cao) and (DiemNN = Cao) and (Nganh =CNTT) and (GioiTinh = Nam) then XLTN = XuatSac

Luật 5: IF (DiemTHPT = Gioi) and (DiemToan= Cao) and (DiemLy= Cao) and (DiemNN = Cao) and (Nganh =CNTT) and (GioiTinh = Nu) then XLTN = Gioi

Luật 6: IF (DiemTHPT = Gioi) and (DiemToan= Cao) and (DiemLy= Cao) and (DiemNN = Cao) and (Nganh =SPNguVan)then XLTN = Kha

Luật 7: IF (DiemTHPT = Gioi) and (DiemToan= Cao) and and (DiemLy= Cao) and (DiemNN = Thap) and (Nganh =CNTT) then XLTN = Kha

Luật 8: IF (DiemTHPT = Kha) and (DiemToan= Thap)and (DiemLy= Thap) and (DiemNN = Thap) and (Nganh =CNTT) then XLTN = TrungBinh

Luật 9: IF (DiemTHPT = Kha) and (DiemToan= cao)and (DiemLy= cao) and (DiemNN = cao) and (Nganh =CNTT) then XLTN = Kha

Luật 10: IF (DiemTHPT = Kha) and (DiemToan= cao)and (DiemLy= cao) and (DiemNN = cao) and (Nganh =CNTT) then XLTN = Kha

Luật 11: IF (DiemTHPT = TB) and (DiemToan= cao)and (DiemVan= cao) and (DiemNN = cao) and (KhuVuc =3) then XLTN = Kha

Luật 12: IF (DiemTHPT = TB) and (DiemToan= cao)and (DiemVan= cao) and (DiemNN = cao) and (KhuVuc =1) then XLTN = TrungBinh.

Trên đây giới thiệu mơ hình và bài tốn, mơ tả việc tổng hợp dữ liệu, chuẩn hóa dữ liệu đầu vào cho bài tốn trong luận văn, phân tích dữ liệu, mơ hình hóa dữ liệu, đánh giá mơ hình và cuối cùng rút ra tri thức tạo cơ sở dữ liệu để phát triển hệ thống.

3.8. Triển khai chương trình

3.8.1. Cài đặt chương trình

Việc chọnpháttriểnhệthốngtheohướngứngdụngweb là thật sự thuận lợi. Xây dựng một websitehỗtrợ tư vấn chọn ngành phù hợp cho mọi người có nhu cầu học tại trường Đại học Phạm Văn Đồng.

Các bước tiến hành cài đặt chương trình:

- Microsoft Visual Studio.

- Microsoft SQL Server.

- Cài đặt Weka.

- Cài đặt trang web thực hiện chức năng tư vấn.

- Càiđặtservertomcatchohost.

- Deloytrangwebđểtạora file.war.

- Upload file.war lên host để thực hiện cài đặt trang web trên server tomcat.

Website có thể chạy được trên các trình duyệt hiện nay như internet explorer, firefox, chrome,…

3.8.2. Hướng dẫn sử dụng

Để có thể sử dụng được ứng dụng, người dùng truy cập vào hệ thống bằng địa chỉ của trang web từ bất kỳ trình duyệt web nào. Sau đó có thể sử dụng chức năng của ứng dụng như:

- Chọn khu vực theo hộ khẩu của người dùng. - Chọn khối thi phù hợp với ngành muốn xét tuyển.

- Nhập tổng số điểm đạt được trong kỳ thi THPT quốc gia. - Chọn ngành cần xét tuyển.

- Bấm chọn nút tư vấn.

- Bấm chọn lại để thực hiện dữ liệu đầu vào khác. Kết quả đạt được gồm:

+ Kết quả mà ngành đã chọn nằm trong “kết quả tốt nghiệp dự báo”. + Kết quả gợi ý thêm một số ngành trong bảng gợi ý.

3.9. Hình ảnh trích ra từ chương trình demo

3.9.1. Giao diện thiết lập cơ sở dữ liệu

3.9.2. Giao diện chương trình tư vấn chọn ngành cho học sinh:

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 1. Kết luận

Trải qua thời gian dài nghiên cứu và thực hiện luận văn, tác giả đã hoàn thành luận văn với các mục tiêu mà bài toán đặt ra ban đầu, luận văn đã kết hợp

Một phần của tài liệu 28035_1712202001915713LUNVN_Minh_IN (Trang 42)

Tải bản đầy đủ (PDF)

(74 trang)