Tải bản đầy đủ (.pdf) (52 trang)

Ứng dụng khai phái dữ liệu trợ giúp tư vấn học tập tại trường đại học sư phạm hà nội 2

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.29 MB, 52 trang )




TRƢỜNG ĐẠI HỌC SƢ PHẠM HÀ NỘI 2
KHOA CÔNG NGHỆ THÔNG TIN
************





CAO HOÀNG LONG




ỨNG DỤNG KHAI PHÁ DỮ LIỆU
TRỢ GIÚP TƢ VẤN HỌC TẬP
TẠI TRƢỜNG ĐH SP HN 2



KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC
Chuyên ngành: Khoa học máy tính











HÀ NỘI – 2015



TRƢỜNG ĐẠI HỌC SƢ PHẠM HÀ NỘI 2
KHOA CÔNG NGHỆ THÔNG TIN
************





CAO HOÀNG LONG




ỨNG DỤNG KHAI PHÁ DỮ LIỆU
TRỢ GIÚP TƢ VẤN HỌC TẬP
TẠI TRƢỜNG ĐH SP HN 2



KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC
Chuyên ngành: Khoa học máy tính

Ngƣời hƣớng dẫn khoa học

PGS.TS. TRỊNH ĐÌNH THẮNG







HÀ NỘI – 2015


LỜI CAM ĐOAN
Tên em là: Cao Hoàng Long
Sinh viên lớp: K37A – Tin học, khoa Công nghệ Thông tin, trƣờng Đại
học Sƣ phạm Hà Nội 2.
Em xin cam đoan:
1. Nội dung đề tài: “Ứng dụng khai phá dữ liệu trợ giúp tƣ vấn học tập tại
trƣờng Đại học Sƣ phạm Hà Nội 2” là nghiên cứu của riêng em.
2. Kết quả nghiên cứu của em không trùng với bất cứ một kết quả nào
của những tác giả khác.
Nếu sai em xin hoàn toàn chịu trách nhiệm.
Sinh viên


Cao Hoàng Long

2

LỜI CẢM ƠN
Để hoàn thành khóa luận này, trƣớc tiên em xin gửi lời cảm ơn chân thành

đến toàn thể các thầy cô trong Khoa CNTT của trƣờng Đại học Sƣ Phạm Hà Nội
2, những ngƣời đã giảng dạy cho em rất nhiều kiến thức trong thời gian học tập
tại trƣờng.
Trên hết, trong quá trình tìm hiểu và nghiên cứu về đề tài này, em đã nhận
đƣợc sự giúp đỡ nhiệt tình từ giảng viên hƣớng dẫn là PGS.TS Trịnh Đình
Thắng để em có thể hoàn thành bài khóa luận một cách hoàn chỉnh nhất.
Với lòng biết ơn sâu sắc, em xin gửi lời cảm ơn tới quý thầy cô và chúc
quý thầy cô dồi dào sức khỏe để tiếp tục đào tạo những thế hệ sinh viên trong
tƣơng lai.
Và em cũng xin gửi lời cảm ơn chân thành tới ngƣời thân và bạn bè đã
luôn bên cạnh giúp đỡ và động viên em trong thời gian này.
Với điều kiện thời gian nghiên cứu và vốn kiến thức của bản thân em còn
hạn chế nên chƣơng trình không tránh khỏi những thiếu sót. Em rất mong nhận
đƣợc sự chỉ bảo quý báu của quý thầy, cô giáo và bạn bè để chƣơng trình của em
đƣợc hoàn thiện hơn.
Em xin chân thành cảm ơn!

Vĩnh Phúc, ngày 08 tháng 05 năm 2015
Sinh viên


Cao Hoàng Long
3

MỤC LỤC
MỞ ĐẦU 6
CHƢƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 9
1.1. Khai phá dữ liệu là gì 9
1.1.1. Định nghĩa 9
1.1.2. Các ứng dụng của khai phá dữ liệu 10

1.2. Kiến trúc hệ thống 11
1.2.1. Database, data warehouse, World Wide Web, và information
repositories 12
1.2.2. Database hay data warehouse server 12
1.2.3. Knowledge base 12
1.2.4. Data mining engine 12
1.2.5. Pattern evaluation module 12
1.2.6. User interface 12
1.3. Các bƣớc trong quá trình khai phá dữ liệu 13
1.4. Tiền xử lý dữ liệu 15
1.4.1. Dữ liệu 15
1.4.2. Làm sạch dữ liệu 16
1.4.3. Tích hợp dữ liệu 18
1.4.4. Biến đổi dữ liệu 18
1.4.5. Thu giảm dữ liệu 19
CHƢƠNG 2: MỘT SỐ PHƢƠNG PHÁP KHAI PHÁ DỮ LIỆU 21
2.1. Phƣơng pháp dự báo 21
2.1.1. Giới thiệu dự báo 21
4

2.1.2. Tổng quan hồi quy 21
2.1.3. Hồi quy tuyến tính 22
2.1.4. Hồi quy phi tuyến 22
2.2. Phƣơng pháp phân lớp 22
2.2.1. Giới thiệu phân lớp 22
2.2.2. Cây quyết định 23
2.3. Phƣơng pháp gom cụm 24
2.3.1. Định nghĩa gom cụm 24
2.3.2.Mục tiêu của gom cụm 24
2.3.3. Các ứng dụng của gom cụm 25

2.4. Phƣơng pháp khai phá luật kết hợp 26
2.4.1. Giới thiệu luật kết hợp 26
2.4.2. Bài toán 26
2.4.3. Thuật toán Apriori 28
CHƢƠNG 3: KHAI PHÁ DỮ LIỆU TRONG CSDL ĐIỂM ĐỂ TRỢ GIÚP TƢ
VẤN HỌC TẬP 41
3.1. Giới thiệu bài toán 41
3.1.1. Mục tiêu 41
3.1.2. Lựa chọn giải pháp 41
3.2. Đặc tả dữ liệu 42
3.3 Giao diện chính của chƣơng trình 45
KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 48


5


DANH MỤC HÌNH ẢNH VÀ BẢNG
Tên hình (bảng)
Trang
Hình 1.1. Kiến trúc hệ thống khai phá dữ liệu
11
Hình 1.2. Các bƣớc trong quá trình khai phá dữ liệu
14
Hình 2.1. Lƣợc đồ biểu diễn các tập mục cần xét
đƣợc loại bỏ theo độ hỗ trợ
29
Hình 3.1. Sơ đồ quan hệ cơ sở dữ liệu điểm sinh viên
43
Hình 3.2. Nhập thông tin sinh viên

45
Hình 3.3. Danh mục môn học
45
Hình 3.4. Chi tiết môn học
45
Hình 3.5. Cập nhật điểm sinh viên
46
Hình 3.6. Kết quả sau khi khai phá dữ liệu
47
Bảng 2.1. Ví dụ về thuật toán Apriori
37
Bảng 2.2. Ví dụ về thuật toán Apriori trợ giúp tƣ vấn
học tập
40
Bảng 3.1. Ví dụ về CSDL điểm sinh viên
44
Bảng 3.2. Thuộc tính điểm đƣợc chia thành khoảng
và ký hiệu
44
Bảng 3.3. CSDL điểm đã đƣợc mã hóa
44

6

MỞ ĐẦU
1. Lý do chọn đề tài
Trong thời đại ngày nay với sự phát triển vƣợt bậc của công nghệ thông
tin, các hệ thống thông tin có thể lƣu trữ một khối lƣợng dữ liệu lớn về hoạt
động hàng ngày của chúng. Từ khối dữ liệu này, các kĩ thuật khai phá dữ liệu có
thể dùng để trích xuất những thông tin hữu ích mà chúng ta chƣa biết. Các tri

thức vừa tìm đƣợc có thể vận dụng để cải thiện hoạt động của hệ thống thông tin
ban đầu. Việc chọn lọc dữ liệu có ích từ lƣợng dữ liệu khổng lồ nhƣ hiện nay sẽ
giúp cải thiện hoạt động trong hiện tại hay dự đoán giúp đƣa ra quyết định trong
tƣơng lai chính xác hơn. Từ đó đã phát triển ra kĩ thuật mới cho phép khai thác
tri thức hữu dụng từ cơ sở dữ liệu lớn đƣợc gọi là các kĩ thuật khai phá dữ liệu,
nó đƣợc ứng dụng trong nhiều lĩnh vực nhƣ: kinh tế, tài chính, giáo dục, y tế
Trong đó, lĩnh vực giáo dục đƣợc quan tâm hàng đầu và để định hƣớng,
xây dựng chính sách trong giáo dục đào tạo cần phải đƣợc hỗ trợ bởi các công
cụ khoa học để tránh những sai lầm đáng tiếc. Khai phá dữ liệu là một công cụ
hữu ích và có tính khoa học cao giúp các nhà quản lý có những tri thức quý giá
phục vụ công tác quản lý và học sinh, sinh viên cũng có thể sử dụng những kết
quả hữu ích từ quá trình chắt lọc trong khai phá dữ liệu.
Việc khai phá luật kết hợp trong đào tạo còn chƣa đƣợc nghiên cứu và
ứng dụng một cách triệt để. Trong thời gian học môn "Các vấn đề hiện đại của
khoa học máy tính", em đã đƣợc giảng viên giới thiệu qua về khai phá dữ liệu,
nhƣng khi đó em mới chỉ trả lời đƣợc câu hỏi "khai phá dữ liệu là gì?" mà chƣa
trả lời đƣợc "khai phá dữ liệu nhƣ thế nào?". Qua lần đƣợc nhận đề tài khóa luận
này em quyết định chọn đề tài "ứng dụng khai phá dữ liệu trợ giúp tƣ vấn học
tập tại trƣờng ĐHSPHN2" để tìm hiểu về khai phá dữ liệu và áp dụng trên chính
ngôi trƣờng mà em đã và đang theo học.

7

2. Mục đích nghiên cứu
Tìm hiểu về khai phá dữ liệu, khai phá dữ liệu luật kết hợp, thuật toán
Apriori và ứng dụng vào tƣ vấn học tập cho sinh viên.
3. Nhiệm vụ nghiên cứu
Nghiên cứu về định nghĩa cơ bản của khai phá dữ liệu, đi sâu tập trung
tìm hiểu các phƣơng pháp khai phá và viết chƣơng trình demo.
4. Đối tƣợng và phạm vi nghiên cứu

Khóa luận đi sâu vào nghiên cứu khai phá luật kết hợp bằng thuật toán
Apriori trên Cơ sở dữ liệu điểm của sinh viên khoa Công nghệ Thông tin trƣờng
đại học Sƣ phạm Hà Nội 2 để tìm ra mối tƣơng quan giữa các môn học.
5. Giả thuyết khoa học
Tìm hiểu về các phƣơng pháp khai phá dữ liệu giúp ngƣời lập trình hiểu
rõ hơn về việc phát hiện những thông tin hữu ích trong một cơ sở dữ liệu lớn. Từ
đó việc định hƣớng cho những hoạt động trong tƣơng lai trở nên dễ dàng hơn.
Chƣơng trình đƣợc xây dựng nếu đƣa vào thực tế sẽ trợ giúp để phát hiện
ra mỗi liên hệ giữa các môn học để trợ giúp tƣ vấn cho sinh viên, hiệu quả hơn
so với những phƣơng pháp truyền thống.
6. Phƣơng pháp nghiên cứu
 Phương pháp nghiên cứu lý luận
Nghiên cứu qua việc đọc sách, báo và các tài liệu liên quan nhằm xây
dựng cơ sở lý thuyết của đề tài và các biện pháp cần thiết để giải quyết các vấn
đề của đề tài.
 Phương pháp chuyên gia
Tham khảo ý kiến của các chuyên gia để có thể thiết kế chƣơng trình phù
hợp với yêu cầu thực tiễn. Nội dung xử lý nhanh đáp ứng nhu cầu ngày càng
cao của ngƣời dùng.
8

 Phương pháp thực nghiệm
Thông qua quá trình học tập, trích rút đƣợc mối liên hệ giữa một số môn
học những lý luận đƣợc nghiên cứu và kết quả đạt đƣợc qua những phƣơng
pháp trên.
7. Cấu trúc khóa luận
 Chƣơng 1: Tổng quan về khai phá dữ liệu
Nội dung chính của chƣơng là giới thiệu về khai phá dữ liệu, kiến
trúc hệ thống khai phá dữ liệu, các bƣớc trong quá trình khai phá và ứng
dụng của khai phá dữ liệu.

 Chƣơng 2: Một số phƣơng pháp khai phá dữ liệu
Chƣơng này trình bày một bƣớc trong quá trình khai phá là tìm ra giải
pháp và thuật toán phù hợp để tiến hành khai phá.
Một số phƣơng pháp đƣợc trình bày trong chƣơng này là:
- Phƣơng pháp phân lớp.
- Phƣơng pháp gom cụm.
- Phƣơng pháp dự báo.
- Phƣơng pháp khai phá luật kết hợp.
 Chƣơng 3: Khai phá dữ liệu trên CSDL điểm sinh viên để trợ giúp tƣ vấn
học tập
Chƣơng này xây dựng chƣơng trình demo để thử nghiệm trên
CSDL điểm khoa CNTT trƣờng Đại học Sƣ Phạm HN 2 để tìm mối liên hệ
các môn học qua thuật toán Apriori.



9


CHƢƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
1.1. Khai phá dữ liệu là gì
1.1.1. Định nghĩa
Khai phá dữ liệu (data mining) hay khám phá tri thức từ dữ liệu là việc
trích rút ra đƣợc các mẫu hoặc tri thức quan trọng từ một lƣợng dữ liệu lớn để
phục vụ mục đích nào đó.
Khai phá dữ liệu đƣợc dùng để mô tả quá trình phát hiện ra tri thức trong
CSDL. Quá trình này kết xuất ra các tri thức tiềm ẩn từ dữ liệu giúp cho việc dự
báo trong kinh doanh, các hoạt động sản xuất, Khai phá dữ liệu làm giảm chi
phí về thời gian so với phƣơng pháp truyền thống trƣớc kia (ví dụ nhƣ phƣơng
pháp thống kê).

Sau đây là một số định nghĩa mang tính mô tả của nhiều tác giả về khai
phá dữ liệu:
Định nghĩa của Ferruzza: “Khai phá dữ liệu là tập hợp các phƣơng pháp
đƣợc dùng trong tiến trình khám phá tri thức để chỉ ra sự khác biệt các mối quan
hệ và các mẫu chƣa biết bên trong dữ liệu”
Định nghĩa của Parsaye: “Khai phá dữ liệu là quá trình trợ giúp quyết
định, trong đó chúng ta tìm kiếm các mẫu thông tin chƣa biết và bất ngờ trong
CSDL lớn”
Định nghĩa của Fayyad: “Khai phá tri thức là một quá trình không tầm
thƣờng nhận ra những mẫu dữ liệu có giá trị, mới, hữu ích, tiềm năng và có thể
hiểu đƣợc”.
Các vấn đề tƣơng tự:
- Khám phá tri thức trong các cơ sở dữ liệu
- Trích rút tri thức
- Phân tích mẫu/dữ liệu
10

1.1.2. Các ứng dụng của khai phá dữ liệu
Phát hiện tri thức và khai phá dữ liệu liên quan đến nhiều ngành, nhiều
lĩnh vực: thống kê, trí tuệ nhân tạo, cơ sở dữ liệu, thuật toán, tính toán song song
và tốc độ cao, thu thập tri thức cho các hệ chuyên gia, quan sát dữ liệu Đặc
biệt phát hiện tri thức và khai phá dữ liệu rất gần gũi với lĩnh vực thống kê, sử
dụng các phƣơng pháp thống kê để mô hình dữ liệu và phát hiện các mẫu, luật
Ngân hàng dữ liệu (Data Warehousing) và các công cụ phân tích trực tuyến
(OLAP- On Line Analytical Processing) cũng liên quan rất chặt chẽ với phát
hiện tri thức và khai phá dữ liệu.
Khai phá dữ liệu có nhiều ứng dụng trong thực tế, ví dụ nhƣ: Bảo hiểm,
tài chính và thị trƣờng chứng khoán: phân tích tình hình tài chính và dự báo giá
của các loại cổ phiếu trong thị trƣờng chứng khoán. Danh mục vốn và giá, lãi
suất, dữ liệu thẻ tín dụng, phát hiện gian lận,

Điều trị y học và chăm sóc y tế: một số thông tin về chuẩn đoán bệnh lƣu
trong các hệ thống quản lý bệnh viện. Phân tích mối liên hệ giữa các triệu chứng
bệnh, chuẩn đoán và phƣơng pháp điều trị (chế độ dinh dƣỡng, thuốc, )
Sản xuất và chế biến: Quy trình, phƣơng pháp chế biến và xử lý sự cố.
Text mining và Web mining: Phân lớp văn bản và các trang Web, tóm tắt
văn bản,
Lĩnh vực khoa học: Quan sát thiên văn, dữ liệu gene, dữ liệu sinh vật học,
tìm kiếm, so sánh các hệ gene và thông tin di truyền, mối liên hệ gene và một số
bệnh di truyền, Mạng viễn thông: Phân tích các cuộc gọi điện thoại và hệ
thống giám sát lỗi, sự cố, chất lƣợng dịch vụ,
11

1.2. Kiến trúc hệ thống
Hệ thống khai phá dữ liệu đƣợc phát triển dựa trên khái niệm rộng của
khai phá dữ liệu. Khai phá dữ liệu là một quá trình khám phá tri thức đƣợc quan
tâm từ lƣợng lớn dữ liệu trong các cơ sở dữ liệu, kho dữ liệu, hay các kho thông
tin khác.
Các thành phần chính có thể có:

Hình 1.1. Kiến trúc hệ thống khai phá dữ liệu

12

1.2.1. Database, data warehouse, World Wide Web, và information
repositories
Thành phần này là các nguồn dữ liệu/thông tin sẽ đƣợc khai phá.
Trong những tình huống cụ thể, thành phần này là nguồn nhập (input) của
các kỹ thuật tích hợp và làm sạch dữ liệu.
1.2.2. Database hay data warehouse server
Thành phần chịu trách nhiệm chuẩn bị dữ liệu thích hợp cho các yêu cầu

khai phá dữ liệu.
1.2.3. Knowledge base
Thành phần chứa tri thức miền, đƣợc dùng để hƣớng dẫn quá trình tìm
kiếm, đánh giá các mẫu kết quả đƣợc tìm thấy.
Tri thức miền có thể là các phân cấp khái niệm, niềm tin của ngƣời sử
dụng, các ràng buộc hay các ngƣỡng giá trị, siêu dữ liệu, …
1.2.4. Data mining engine
Thành phần chứa các khối chức năng thực hiện các tác vụ khai phá dữ
liệu.
1.2.5. Pattern evaluation module
Thành phần này làm việc với các độ đo (và các ngƣỡng giá trị) hỗ trợ tìm
kiếm và đánh giá các mẫu sao cho các mẫu đƣợc tìm thấy là những mẫu đƣợc
quan tâm bởi ngƣời sử dụng.
Thành phần này có thể đƣợc tích hợp vào thành phần Data mining engine.
1.2.6. User interface
Thành phần hỗ trợ sự tƣơng tác giữa ngƣời sử dụng và hệ thống khai phá
dữ liệu.
Ngƣời sử dụng có thể chỉ định câu truy vấn hay tác vụ khai phá dữ liệu.
13

Ngƣời sử dụng có thể đƣợc cung cấp thông tin hỗ trợ việc tìm kiếm, thực
hiện khai phá dữ liệu sâu hơn thông qua các kết quả khai phá trung gian.
Ngƣời sử dụng cũng có thể xem các lƣợc đồ cơ sở dữ liệu/kho dữ liệu, các
cấu trúc dữ liệu; đánh giá các mẫu khai phá đƣợc; trực quan hóa các mẫu này ở
các dạng khác nhau.
1.3. Các bƣớc trong quá trình khai phá dữ liệu
Quá trình đƣợc thực hiện qua 9 bƣớc:
1. Tìm hiểu lĩnh vực của bài toán (ứng dụng): Các mục đích của bài toán, các tri
thức cụ thể của lĩnh vực.
2. Tạo nên (thu thập) một tập dữ liệu phù hợp.

3. Làm sạch và tiền xử lý dữ liệu.
4. Giảm kích thƣớc của dữ liệu, chuyển đổi dữ liệu: Xác định thuộc tính quan
trọng, giảm số chiều (số thuộc tính), biểu diễn bất biến.
5. Lựa chọn chức năng khai phá dữ liệu: Phân loại, gom cụm, dự báo, sinh ra
các luật kết hợp.
6. Lựa chọn/ Phát triển (các) giải thuật khai phá dữ liệu phù hợp
7. Tiến hành khai phá dữ liệu.
8. Đánh giá mẫu thu đƣợc và biểu diễn tri thức: Hiển thị hóa, chuyển đổi, bỏ đi
các mẫu dƣ thừa,…
9. Sử dụng tri thức đƣợc khai phá.
Quá trình khám phá tri thức theo cách nhìn của giới nghiên cứu về các hệ
thống dữ liệu và kho dữ liệu về quá trình khám phá tri thức.
14


Hình 1.2. Các bƣớc trong quá trình khai phá dữ liệu
Chuẩn bị dữ liệu bao gồm các quá trình làm sạch dữ liệu (data cleaning),
tích hợp dữ liệu (data integration), chọn dữ liệu (data selection), biến đổi dữ liệu
(data transformation).
Khai thác dữ liệu (data mining): xác định nhiệm vụ khai thác dữ liệu và
lựa chọn kỹ thuật khai thác dữ liệu. Kết quả cho ta một nguồn tri thức thô.
Đánh giá (evaluation): dựa trên một số tiêu chí tiến hành kiểm tra và lọc
nguồn tri thức thu đƣợc.
Quá trình phát hiện tri thức từ cơ sở dữ liệu là một quá trình tƣơng tác và
lặp đi lặp lại theo chu trình liên tục kiểu xoáy trôn ốc, trong đó lần lặp sau hoàn
chỉnh hơn lần lặp trƣớc. Giai đoạn sau sử dụng kết quả của giai đoạn trƣớc.





15

1.4. Tiền xử lý dữ liệu
Quá trình tiền xử lý dữ liệu, đầu tiên phải nắm đƣợc dạng dữ liệu, thuộc
tính, mô tả của dữ liệu thao tác. Sau đó tiếp hành 4 giai đoạn chính: làm sạch,
tích hợp, biến đổi, thu giảm dữ liệu.
1.4.1. Dữ liệu
a, Tập dữ liệu
Một tập dữ liệu (dataset) là một tập hợp các đối tƣợng (object) và các
thuộc tính của chúng.
Mỗi thuộc tính (attribute) mô tả một đặc điểm của một đối tƣợng.
b) Các kiểu tập dữ liệu
Bản ghi (record): Các bản ghi trong cơ sở dữ liệu quan hệ. Ma trận dữ
liệu. Biểu diễn vĕn bản. Hay dữ liệu giao dịch.„
Đồ thị (graph): World wide web. Mạng thông tin, hoặc mạng xã hội
Dữ liệu có trật tự: Dữ liệu không gian (ví dụ: bản đồ). Dữ liệu thời gian
(ví dụ: time-series data). Dữ liệu chuỗi (ví dụ: chuỗi giao dịch).
c) Các kiểu giá trị thuộc tính
Kiểu định danh/chuỗi (norminal): không có thứ tự. Ví dụ: Các thuộc tính
nhƣ : Name, Profession, …
Kiểu nhị phân (binary): là một trƣờng hợp đặc biệt của kiểu định danh.
Tập các giá trị chỉ gồm có 2 giá trị (Y/N, 0/1, T/F).
Kiểu có thứ tự (ordinal): Integer, Real,… lấy giá trị từ một tập có thứ tự
giá trị. Ví dụ: Các thuộc tính lấy giá trị số nhƣ : Age, Height ,… Hay lấy một
tập xác định, thuộc tính Income lấy giá trị từ tập {low, medium, high}.
Kiểu thuộc tính rời rạc (discrete-valued attributes): có thể là tập các giá trị
của một tập hữu hạn. Bao gồm thuộc tính có kiểu giá trị là các số nguyên, nhị
phân.
16


Kiểu thuộc tính liên tục (continuous-valued attributes):Các giá trị là số
thực.
d) Các đặc tính mô tả của dữ liệu
Giúp hiểu rõ về dữ liệu có đƣợc: chiều hƣớng chính/trung tâm, sự biến
thiên, sự phân bố.
Sự phân bố của dữ liệu (data dispersion):
+ Giá trị cực tiểu/cực đại (min/max).
+ Giá trị xuất hiện nhiều nhất (mode).
+ Giá trị trung bình (mean).
+ Giá trị trung vị (median).
+ Sự biến thiên (variance) và độ lệch chuẩn (standard deviation) .
+ Các ngoại lai (outliers).
1.4.2. Làm sạch dữ liệu
Đối với dữ liệu thu thập đƣợc, cần xác định các vấn đề ảnh hƣỏng là cho
nó không sạch. Bởi vì, dữ liệu không sạch (có chứa lỗi, nhiễu, không đầy đủ, có
mâu thuẫn) thì các tri thức khám phá đƣợc sẽ bị ảnh hƣởng và không đáng tin
cậy, sẽ dẫn đến các quyết định không chính xác. Do đó, cần gán các giá trị thuộc
tính còn thiếu; sửa chữa các dữ liệu nhiễu/lỗi; xác định hoặc loại bỏ các ngoại lai
(outliers); giải quyết các mâu thuẫn dữ liệu.
a, Các vấn đề của dữ liệu
- Trên thực tế dữ liệu có thể chứa nhiều lỗi, không hoàn chỉnh, có mâu thuẫn.
- Không hoàn chỉnh (incomplete): Thiếu các giá trị thuộc tính hoặc thiếu một số
thuộc tính. Ví dụ: salary = <undefined>.
- Nhiễu/lỗi (noise/error): Chứa đựng những lỗi hoặc các mang các giá trị bất
thƣờng. Ví dụ: salary = “-525” , giá trị của thuộc tính không thể là một số âm.
17

- Mâu thuẫn (inconsistent): Chứa đựng các mâu thuẫn (không thống nhất). Ví
dụ: salary = “abc” , không phù hợp với kiểu dữ liệu số của thuộc tính salary.
b) Nguồn gốc, lý do của dữ liệu không sạch

- Không hoàn chỉnh (incomplete): Do giá trị thuộc tính không có (not available)
tại thời điểm đƣợc thu thập. Hoặc các vấn gây ra bởi phần cứng, phần mềm,
hoặc ngƣời thu thập dữ liệu.
- Nhiễu/lỗi (noise/error): Do việc thu thập dữ liệu, hoĕc việc nhập dữ liệu, hoặc
việc truyền dữ liệu.
- Mâu thuẫn (inconsistent): Do dữ liệu đƣợc thu thập có nguồn gốc khác nhau.
Hoặc vi phạm các ràng buộc (điều kiện) đối với các thuộc tính.
c) Giải pháp khi thiếu giá trị của thuộc tính
- Bỏ qua các bản ghi có các thuộc tính thiếu giá trị. Thƣờng áp dụng trong các
bài toán phân lớp. Hoặc khi tỷ lệ % các giá trị thiếu đối với các thuộc tính quá
lớn.
- Một số ngƣời sẽ đảm nhiệm việc kiểm tra và gán các giá trị thuộc tính còn
thiếu, nhƣng đòi hỏi chi phí cao và rất tẻ nhạt.
- Gán giá trị tự động bởi máy tính:
+ Gán giá trị mặc định
+ Gán giá trị trung bình của thuộc tính đó.
+ Gán giá trị có thể xảy ra nhất – dựa theo phƣơng pháp xác suất.
d) Giải pháp khi dữ liệu chứa nhiễu lỗi
- Phân khoảng (binning): Sắp xếp dữ liệu và phân chia thành các khoảng
(bins) có tần số xuất hiện giá trị nhƣ nhau. Sau đó, mỗi khoảng dữ liệu có thể
đƣợc biểu diễn bằng trung bình, trung vị, hoặc các giới hạn … của các giá trị
trong khoảng đó.
- Hồi quy (regression): Gắn dữ liệu với một hàm hồi quy.
18

- Phân cụm (clustering): Phát hiện và loại bỏ các ngoại lai (sau khi đƣ xác
định các cụm).
- Kết hợp giữa máy tính và kiểm tra của con ngƣời: Máy tính sẽ tự động phát
hiện ra các giá trị nghi ngờ. Các giá trị này sẽ đƣợc con ngƣời kiểm tra lại.
1.4.3. Tích hợp dữ liệu

Tích hợp dữ liệu là quá trình trộn dữ liệu từ các nguồn khác nhau vào một
kho dữ liệu có sẵn cho quá trình khai phá dữ liệu.
Khi tích hợp cần xác định thực thể từ nhiều nguồn dữ liệu để tránh dƣ
thừa dữ liệu. Ví dụ: Bill Clinton ≡ B.Clinton.
Việc dƣ thừa dữ liệu là thƣờng xuyên xảy ra, khi tích hợp nhiều nguồn.
Bởi cùng một thuộc tính (hay cùng một đối tƣợng) có thể mang các tên khác
nhau trong các nguồn (cơ sở dữ liệu) khác nhau. Hay các dữ liệu suy ra đƣợc
nhƣ một thuộc tính trong một bảng có thể đƣợc suy ra từ các thuộc tính trong
bảng khác. Hay sự trùng lắp các dữ liệu. Các thuộc tính dƣ thừa có thể bị phát
hiện bằng phân tích tƣơng quan giữa chúng.
Phát hiện và xử lý các mâu thuẫn đối với giá trị dữ liệu: Đối với cùng một
thực thể trên thực tế, nhƣng các giá trị thuộc tính từ nhiều nguồn khác nhau lại
khác nhau. Có thể cách biểu diễn khác nhau, hay mức đánh giá, độ do khác
nhau.
Yêu cầu chung đối với quá trình tích hợp là giảm thiểu (tránh đƣợc là tốt
nhất) các dƣ thừa và các mâu thuẫn. Giúp cải thiện tốc độ của quá trình khai phá
dữ liệu và nâng cao chất lƣợng của các kết quả tri thúc thu đƣợc.
1.4.4. Biến đổi dữ liệu
Biến đổi dữ liệu là việc chuyển toàn bộ tập giá trị của một thuộc tính sang
một tập các giá trị thay thế, sao cho mỗi giá trị cũ tƣơng ứng với một trong các
giá trị mới.
Các phƣơng pháp biến đổi dữ liệu:
19

- Làm trơn (smoothing): Loại bỏ nhiễu/lỗi khỏi dữ liệu.
- Kết hợp (aggregation): Sự tóm tắt dữ liệu, xây dựng các khối dữ liệu.
- Khái quát hóa (generalization): Xây dựng các phân cấp khái niệm.
- Chuẩn hóa (normalization): Đƣa các giá trị về một khoảng đƣợc chỉ định.
+ Chuẩn hóa min-max, giá trị mới nằm khoảng [new_mini , new_maxi]


+ Chuẩn hóa z-score, với μi , σi : giá trị trung bình và độ lệch chuẩn của thuộc
tính i

+ Chuẩn hóa bởi thang chia 10, với j là giá trị số nguyên nhỏ nhất sao cho:
max({vnew}) <1

- Xây dựng các thuộc tính mới dựa trên các thuộc tính ban đầu.
1.4.5. Thu giảm dữ liệu
Một kho dữ liệu lớn có thể chứa lƣợng dữ liệu lên đến terabytes sẽ làm
cho quá trình khai phá dữ liệu chạy rất mất thời gian, do đó nên thu giảm dữ
liệu.
Việc thu giảm dữ liệu sẽ thu đƣợc một biểu diễn thu gọn, mà nó vẫn sinh
ra cùng (hoặc xấp xỉ) các kết quả khai phá nhƣ tập dữ liệu ban đầu.
Các chiến lƣợc thu giảm:
- Giảm số chiều (dimensionality reduction), loại bỏ bớt các thuộc tính không
(ít) quan trọng.
20

- Giảm lƣợng dữ liệu (data/numberosity reduction)
+ Kết hợp khối dữ liệu.
+ Nén dữ liệu.
+ Hồi quy.
+ Rời rạc hóa.
21

CHƢƠNG 2: MỘT SỐ PHƢƠNG PHÁP KHAI PHÁ DỮ LIỆU
2.1. Phƣơng pháp dự báo
2.1.1. Giới thiệu dự báo
Bài toán dự báo dùng để dựa vào thông tin liên quan đến điểm các môn
học của sinh viên (hoàn cảnh, trình độ ) hay các môn mà sinh viên đã học qua

để tiến hành đƣa ra dự báo về những lựa chọn về môn học mà sinh viên sẽ lựa
chọn.
Kỹ thuật dự báo khi dùng với hồi qui đƣợc dùng để dự báo các giá trị (số)
liên tục. Còn 3 kỹ thuật còn lại là gom cụm, phân lớp và khai phá luật kết hợp
đƣợc dùng để dự báo các giá trị (số) rời rạc.
Cả 4 phƣơng pháp phân lớp, gom cụm, hồi quy, khai phá luật kết hợp đều
có thể dùng để dự báo đƣợc. Trong mục này giới thiệu về hồi quy dữ liệu, 3
phƣơng pháp còn lại sẽ đƣợc giới thiệu ở các mục sau.
2.1.2. Tổng quan hồi quy
a) Khái niệm
Hồi qui là kỹ thuật thống kê cho phép dự đoán các trị (số) liên tục. J.Han
et al(2001, 2006).
Hồi qui (Phân tích hồi quy – regression analysis) là kỹ thuật thống kê cho
phép ƣớc lƣợng các mối liên kết giữa các biến.
Hồi qui (Phân tích hồi quy) là kỹ thuật thống kê trong lĩnh vực phân tích
dữ liệu và xây dựng các mô hình từ thực nghiệm, cho phép mô hình hồi qui vừa
đƣợc khám phá đƣợc dùng cho mục đích dự báo (prediction), điều khiển
(control), hay học (learn) cơ chế đƣ tạo ra dữ liệu. R.D.Snee(1977)
b) Mô hình hồi quy
Mô hình mô tả mối liên kết (relationship) giữa một tập các biến dự báo
(predictor variables/independent variables) và một hay nhiều đáp ứng
(responses/dependent variables).
22

c) Phân loại
Hồi qui tuyến tính (linear) và phi tuyến (nonlinear).
Hồi qui đơn biến (single) và đa biến (multiple).
Hồi qui có thông số (parametric), phi thông số (nonparametric), và thông
số kết hợp (semiparametric).
Hồi qui đối xứng (symmetric) và bất đối xứng (asymmetric).

2.1.3. Hồi quy tuyến tính
gồm hồi quy tuyến tính đơn biến và đa biến
Giới thiệu về hồi qui tuyến tính đơn biến
Dạng tổng quát: y = w
0
+ w
1
x
Trong đó x là biến đoán trƣớc (predictor variable), y là giá trị đƣợc đoán
ra với giá trị x tƣơng ứng (response variable). Để xác định giá trị w0 và w1, ta
sử dụng công thức bình phƣơng tối thiểu để đƣợc một đƣờng thẳng thích hợp
nhất.
2.1.4. Hồi quy phi tuyến
Dạng tổng quát: Y
i
= b
0
+ b
1
X
i1
+ b
2
X
i2
+ … + b
k
X
ik


Trong đó: i = 1 n với n là số đối tƣợng đƣợc quan sát
k = số biến độc lập (số thuộc tính/tiêu chí/yếu tố…)
Y = biến phụ thuộc
X = biến độc lập
b
0 …k
= trị của các hệ số hồi qui
2.2. Phƣơng pháp phân lớp
2.2.1. Giới thiệu phân lớp
Phân lớp dữ liệu là kĩ thuật dựa trên tập huấn luyện và những giá trị hay là
nhãn của lớp trong một thuộc tính phân lớp và sử dụng nó trong việc phân lớp
23

dữ liệu mới. Phân lớp cũng là tiên đoán loại của lớp nhãn. Bên cạnh kĩ thuật
phân lớp có một hình thức tƣơng tự là kĩ thuật tiên đoán, kĩ thuật tiên đoán khác
với phân lớp ở chỗ phân lớp chỉ liên quan đến tiên đoán loại lớp của nhãn còn kĩ
thuật tiên đoán mô hình những hàm đánh giá liên tục.
Kĩ thuật phân lớp đƣợc tiến hành bao gồm 2 bƣớc: Xây dựng mô hình và
sử dụng mô hình.
Xây dựng mô hình: là mô tả một tập những lớp đƣợc định nghĩa trƣớc
trong đó: mỗi bộ hoặc mẫu đƣợc gán thuộc về một lớp đƣợc định nghĩa trƣớc
nhƣ là đƣợc xác định bởi thuộc tính nhãn lớp, tập hợp của những bộ đƣợc sử
dụng trong việc sử dụng mô hình đƣợc gọi là tập huấn luyện. Mô hình đƣợc biểu
diễn là những luật phân lớp, cây quyết định và những công thức toán học.
Sử dụng mô hình: Việc sử dụng mô hình phục vụ cho mục đích phân lớp
dữ liệu trong tƣơng lai hoặc phân lớp cho những đối tƣợng chƣa biết đến. Trƣớc
khi sử dụng mô hình ngƣời ta thƣờng phải đánh giá chính xác của mô hình trong
đó: nhãn đƣợc biết của mẫu kiểm tra đƣợc so sánh với kết quả phân lớp của mô
hình, tập kiểm tra là độc lập với tập huấn luyện.
Phân lớp là một hình thức học đƣợc giám sát tức là: tập dữ liệu huấn

luynệ (quan sát, thẩm định ) đi đôi với những nhãn chỉ định lớp quan sát,
những dữ liệu mới đƣợc phân lớp dựa trên tập huấn luyện.
Ngƣợc lại với hình thức học đƣợc giám sát là hình thức học không đƣợc
giám sát lúc đó nhãn lớp của tập dữ liệu huấn luyện là không đƣợc biết đến.
2.2.2. Cây quyết định
Cây quyết định là một cấu trúc giống nhƣ một lƣu đồ mà mỗi nút trong
của cây biểu diễn một trƣờng hợp thử hoặc một phép kiểm tra trên một thuộc
tính. Mỗi một phân nhánh của một nút biểu diễn một khả năng giá trị (miền giá
trị) của phép thử. Các giá trị này nằm về một phía so với ngƣỡng tƣơng ứng của
nút. Các nút lá biểu diễn các lớp hoặc phân bố lớp. Nút trên cùng trong cây gọi
là nút gốc.

×