Tải bản đầy đủ (.docx) (97 trang)

Khoá luận tốt nghiệp ứ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 (395.21 KB, 97 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 ừợ 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
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ô ừong 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
4
MỤC LỤC
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 loai 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. Chỉ tỉêt môn hoc

45
Hình 3.5. Cập nhật đỉêm sinh viền 46
Hình 3.6. Kêt quả sau khỉ khai phá dữ liệu 47
Bảng 2.1. Ví dụ vê thuật toán Aprỉorỉ 37
Bảng 2.2. Ví dụ vê thuật toán Aprỉorỉ 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 đỉêm được chia thành
khoảng và ký hiệu
44
Bảng 3.3. CSDL điểm đã được mã hóa 44
5
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, nhung
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.
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.
6
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 vỉ 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 ừở 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ẽ ừợ 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.
• 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
7. Cấu trúc khóa ỉuâ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 ừê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.
CHƯƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
1.1. Khai phá dữ liệu ỉà 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 ừọ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ự
8
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 ừong 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,
ừong đó 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
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.
9
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 ừong 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 tri 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 ừị (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ụ,
1
0
1.2. Kiến trúc hệ thống
Hệ thống khai phá dữ liệu được phát triển dựa ưê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ố:
1
1
Hình 1.1. Kiến trúc hệ thống khai phá dữ liệu
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.
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.
EiwalutiQ

îi çf
■"■■■
’•'t
Data Mining
Hình 1.2.
Các bước
trong quá
trình khaỉ
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
Knowledge
□[
Cleansing Pre-pro cessing F
Preparation :
■i
Selection
ft Cleansed
Preprocessed
Preparated
PaUcit
i
DiBcơvety

0
Transformed
Data
• Transformation
integration),
chọn dữ liệu
(data
selection),
biến đổi dữ
liệu (data
ttansformati
on).
Khai
thác dữ liệu
(data
milling):
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, ừong đó
lần lặp sau
hoàn chinh
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.
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ó ừậ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,
H e i g h t H a
y 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.
Kiểu
thuộc tính
liên tục
(continuous-
valued
attributes):C
ác giá tri 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á
ừị 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 sach dữ
liêu
• •
Đối
với dữ liệu

×