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

Nghiên cứu khai phá dữ liệu, ứng dụng vào hệ thống phần mềm quản lý đảng viên tại đảng ủy khối doanh nghiệp thành phố hải phòng

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 (919.77 KB, 59 trang )

MỤC LỤC
MỤC LỤC________________________________________________________1
DANH MỤC CÁC BẢNG ___________________________________________3
DANH MỤC CÁC HÌNH ____________________________________________4
MỞ ĐẦU ________________________________________________________5
1. Lý do chọn đề tài _________________________________________________5
2. Mục tiêu và nhiệm vụ của đề tài _____________________________________6
2.1. Mục tiêu ______________________________________________________6
2.2. Nhiệm vụ _____________________________________________________6
3. Đối tượng và phạm vi nghiên cứu ____________________________________6
3.1. Đối tượng nghiên cứu ____________________________________________6
3.2. Phạm vị nghiên cứu _____________________________________________7
4. Phương pháp nghiên cứu ___________________________________________7
5. Ý nghĩa ________________________________________________________7
CHƢƠNG 1. TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU __________________9
1.1. Khai phá dữ liệu ________________________________________________9
1.1.1 Khái niệm ____________________________________________________9
1.1.2. Nhiệm vụ của khai phá dữ liệu __________________________________10
1.1.2.1. Dự đoán __________________________________________________10
1.1.2.2. Mô tả: ____________________________________________________10
1.1.3. Mô hình dự đoán _____________________________________________11
1.1.4. Ứng dụng, hướng nghiên cứu và công cụ __________________________12
1.1.4.1. Ứng dụng của khai phá dữ liệu (Data Mining Applications) __________12
1.1.4.2. Lựa chọn công cụ khai phá dữ liệu ______________________________15
1.1.4.3. Các hướng nghiên cứu tiếp theo của công cụ khai phá dữ liệu: ________17
1.1.4.4. Một số công cụ khai phá dữ liệu (Data Mining Tools) _______________17
1.2. Cây quyết định với bài toán phân lớp _______________________________19
1.2.1. Khái niệm về Cây quyết định ___________________________________19
1.2.2. Các kiểu cây quyết định _______________________________________20
1.2.3. Ưu điểm của cây quyết định ____________________________________23
1.2.4. Thuật toán ID3 – Xây dựng Cây quyết định ________________________24



-1-


1.2.4.1. Giới thiệu về thuật toán ID3 ___________________________________24
1.2.4.2. Giải thuật ID3 xây dựng cây quyết định __________________________25
1.2.4.4. Đánh giá hiệu suất của cây quyết định ___________________________30
1.2.5. Cây quyết định trong phân lớp __________________________________42
CHƢƠNG 2: THIẾT KẾ HỆ THỐNG _______________________________46
2.1. Tổng quan về quản lý và cơ sở dữ liệu đảng viên, công tác quy hoạch cán bộ
lãnh đạo quản lý tại Đảng bộ Khối Doanh nghiệp Hải Phòng ________________46
2.1.1. Cơ sở dữ liệu đảng viên và cán bộ________________________________46
2.1.2. Công tác quy hoạch cán bộ lãnh đạo, quản lý _______________________46
2.2. Thực trạng hệ thống quản lý cơ sở dữ liệu đảng viên và công tác quy hoạch
cán bộ lãnh đạo, quản lý tại Đảng bộ Khối Doanh nghiệp Thành phố Hải Phòng 47
2.3. Khảo sát hệ thống thực tế ________________________________________48
2.4. Phân tích thiết kế hệ thống _______________________________________50
2.4.1. Mô hình User case ____________________________________________51
2.4.2. Mô hình thực thể _____________________________________________52
2.5. Cơ sở dữ liệu _________________________________________________53
Kết luận Chương 2 ________________________________________________53
CHƢƠNG 3. XÂY DỰNG HỆ THỐNG THỬ NGHIỆM ________________54
3.1. Giải pháp xây dựng hệ thống _____________________________________54
3.2. Yêu cầu khi cài đặt thuật toán ____________________________________55
3.3. Giao diện chính của chương trình _________________________________56
3.4. Kết luận và hướng phát triển _____________________________________56
3.4.1. Các kết quả đạt được trong luận văn ______________________________56
3.4.2. Kiến nghị và hướng phát triển ___________________________________58
DANH MỤC TÀI LIỆU THAM KHẢO _______________________________59


-2-


DANH MỤC CÁC BẢNG
Số bảng

Tên bảng

Trang

1.1

Một số công cụ khai phá dữ liệu (Data Mining Tools)

18

1.2

Dữ liệu chơi golf

21

1.3

Thuật toán ID3 xây dựng Cây quyết định

26

1.4


Dữ liệu chơi tennis

30

1.5

Xác định thuộc tính tt1

36

1.6

Xác định thuộc tính tt2

39

1.7

Dữ liệu về lựa chọn phương tiện vận chuyển

42

1.8

Kết quả lựa chọn phương tiện vận chuyển

45

2.1


Các thuộc tính của thực thể đảng viên

52

-3-


DANH MỤC CÁC HÌNH
Số hình

Tên hình

Trang

1.1

Khai phá dữ liệu và các lĩnh vực có liên quan mật thiết

9

1.2

Các thuật toán phổ biến được dùng trong khai phá dữ liệu

10

1.3

Mô hình phân lớp


11

1.4

Đánh giá mô hình dự đoán

11

1.5

Tham số dùng đánh giá mô hình dự đoán

12

1.6

Mô hình cây quyết định chơi golf

22

1.7

Cây quyết định chơi golf

23

1.8

Chức năng entropy liên quan đến sự phân loại


27

1.9

Cây quyết định thuật toán ID3 quy nạp

31

1.10

Cây quyết định trong phân lớp

43

2.1

Mô hình mạng Lan của hệ thống quản lý cơ sở dữ liệu đảng viên

49

2.2

Dữ liệu của một đảng viên được lưu trữ trong cơ sở dữ liệu

49

2.3

Mô hình usercase hệ thống hỗ trợ ra quyết định trong công tác
quy hoạch cán bộ


51

2.4

Mô hình thực thể hệ thống hỗ trợ ra quyết định trong công tác
quy hoạch cán bộ

52

3.1

Giao diện chương trình hỗ trợ ra quyết định trong công tác quy
hoạch cán bộ

55

-4-


MỞ ĐẦU
1. Lý do chọn đề tài
Trong công tác quản lý nhân sự, các nhà quản lý thường xuyên phải ra các
quyết định liên quan đến việc hoạch định hay quy hoạch nguồn cán bộ của đơn
vị, tổ chức mình. Mặc dù họ luôn mong muốn những quyết định của mình là
chính xác, hiệu quả nhưng thực tế thì không phải lúc nào cũng được như vậy.
Rủi ro là một điều rất dễ có thể xảy ra đi kèm với những quyết định không chính
xác, thiếu căn cứ. Như vậy, vấn đề không chỉ ở chỗ là ra quyết định đúng mà
còn là kiểm soát, xác định được các rủi ro liên quan sao cho có thể tối thiểu hoá
những thiệt hại có thể gặp phải.

Trong những năm gần đây, khai phá dữ liệu đã trở thành từ ngữ được dùng trong
lĩnh vực công nghệ thông tin. Nó giải thích được tại sao khi ta dùng Facebook, nó biết
được nên quảng cáo những gì với bạn, iPhones biết nên gợi ý từ nào khi bạn soạn thảo
một tin nhắn hay là NSA (Cơ quan an ninh của Chính phủ Mỹ) biết được bạn có phải
một kẻ khủng bố hay không. Vậy thì, những từ ấy có ý nghĩa thật sự như thế nào?
Máy tính hoạt động như thế nào khi “học” và “khai thác dữ liệu”?
Cũng trong những năm gần đây, tại các cơ quan Đảng của Thành phố Hải Phòng,
ứng dụng công nghệ thông tin với mục tiêu “Tin học hóa các hoạt động của cơ quan
Đảng” ngày càng trở nên cấp thiết. Các ứng dụng cơ sở dữ liệu ngày càng được quan tâm
như: cơ sở dữ liệu đảng viên, cơ sở dữ liệu cán bộ, công chức, quản lý công văn, tài chính
… Tuy nhiên, mức độ ứng dụng công nghệ thông tin chỉ dừng lại ở việc lưu trữ, khả
năng khai thác các nguồn dữ liệu này còn nhiều hạn chế, đặc biệt là phục vụ cho công tác
cán bộ. Công tác cán bộ, quy hoạch, đào tạo còn mang nặng yếu tố chủ quan, định tính
của các nhà quản lý, lãnh đạo, vì vậy dẫn đến tình trạng quy hoạch cán bộ lãnh đạo, quản
lý còn thiếu, chất lượng chưa đảm bảo … vì thiếu căn cứ khoa học
Với 3 lý do trên, đề tài nghiên cứu với nội dung “Nghiên cứu khai phá dữ liệu,
ứng dụng vào hệ thống phần mềm quản lý đảng viên tại Đảng ủy Khối Doanh
nghiệp Thành phố Hải Phòng”. Đề tài sử dụng phương pháp và kỹ thuật suy luận

-5-


thống kê để giải quyết nhiều vấn đề mà thông tin bị thiếu, bất định, hoặc một số trường
hợp hầu như thiếu hoàn chỉnh. Kỹ thuật chủ yếu của Đề tài sẽ là phân lớp dữ liệu, nó là
một trong những hướng nghiên cứu chính của khai phá dữ liệu. Công nghệ này đã, đang
và sẽ có nhiều ứng dụng trong các lĩnh vực thương mại, ngân hàng, y tế, giáo dục ...
Trong các mô hình phân lớp đã được đề xuất, cây quyết định được coi là công cụ mạnh,
phổ biến và đặc biệt thích hợp với các ứng dụng khai phá dữ liệu. Thuật toán phân lớp
là nhân tố trung tâm trong một mô hình phân lớp.
2. Mục tiêu và nhiệm vụ của đề tài

2.1. Mục tiêu
Trên cơ sở phân tích những đặc điểm, tồn tại, hạn chế của công tác quy hoạch
cán bộ, mục tiêu của đề tài là xây dựng hệ thống tự động dự báo, hỗ trợ ra quyết
định trong công tác quy hoạch cán bộ lãnh đạo quản lý tại Đảng bộ Khối Doanh
nghiệp Thành phố Hải Phòng trên cơ sở khai phá dữ liệu có sẵn.
2.2. Nhiệm vụ
- Nghiên cứu lý thuyết về khai phá dữ liệu, tất cả các mô hình, thuật toán liên quan đến
lĩnh vực khai phá dữ liệu.
- Đưa ra giải pháp, lựa chọn công cụ và thiết kế hệ thống khai phá dữ liệu đảng
viên, ứng dụng vào việc tự động dự báo, hỗ trợ ra quyết định trong công tác quy hoạch
cán bộ lãnh đạo quản lý tại Đảng bộ Khối Doanh nghiệp Thành phố Hải Phòng.
- Xây dựng chương trình, chạy thử nghiệm và đánh giá kết quả.
3. Đối tƣợng và phạm vi nghiên cứu
3.1. Đối tƣợng nghiên cứu
- Các thông tin có liên quan đến đảng viên, cán bộ trong diện quy hoạch của
Đảng ủy Khối Doanh nghiệp Thành phố Hải Phòng, các quy trình xây dựng quy
hoạch cán bộ của Đảng ủy Khối.
- Các vấn đề liên quan đến khai phá dữ liệu (mô hình, kỹ thuật, phương pháp,
thuật toán …).

-6-


3.2. Phạm vị nghiên cứu
Dựa trên mục đích và đối tượng nghiên cứu đã nêu trên, phạm vi nghiên cứu
của đề tài là toàn bộ các vấn đề liên quan đến đảng viên, cán bộ trong diện quy
hoạch của Đảng bộ Khối Doanh nghiệp), các biểu mẫu trong công tác quy hoạch
cán bộ của Đảng ủy Khối Doanh nghiệp Thành phố Hải Phòng, các kỹ thuật, mô
hình khai phá dữ liệu.
4. Phƣơng pháp nghiên cứu

Luận văn được thực hiện với sự kết hợp của 2 phương pháp nghiên cứu khoa
học là:
- Phƣơng pháp nghiên cứu lý thuyết: nghiên cứu tài liệu, ngôn ngữ, các
công cụ có liên quan về khai phá dữ liệu. Tổng hợp, nghiên cứu, trích chọn các tài
liệu về công tác quy hoạch cán bộ lãnh đạo quản lý, công tác quản lý cơ sở dữ liệu
đảng viên.
- Phƣơng pháp thực nghiệm khoa học. Trên cơ sở nghiên cứu lý thuyết
về khai phá dữ liệu, phân cụm dữ liệu, các thuật toán xây dựng cây quyết định
và tìm hiểu các chức năng của Business intelligence development studio 2012
của Microsoft để tạo môi trường thực nghiệm, bài toán cụ thể được đưa vào mô
hình, đánh giá kết quả đạt được và tìm ra mô hình tối ưu nhất.
5. Ý nghĩa
Về mặt khoa học:
Hệ thống được đưa ra sẽ sử dụng, kế thừa các thành quả phát triển của lĩnh
vực khai phá dữ liệu. Đề tài khi hoàn thành sẽ trở thành một giải pháp về khai phá
dữ liệu có thể sử dụng trong nghiên cứu, giảng dạy và cơ sở lý thuyết cho các đề
tài khác cùng lĩnh vực.
Về mặt thực tiễn:
Dữ liệu đảng viên là nguồn chứa hầu hết mọi thông tin của Đảng bộ Khối
Doanh nghiệp, nhưng những thông tin này chỉ có thể tìm ra khi phân tích (xử lý)

-7-


được dữ liệu, nhưng việc xử lý dữ liệu lớn là một vấn đề khó. Hệ thống được xây
dựng với mong muốn giải quyết được một phần khó khăn trên.
Hệ thống thiết kế đơn giản hơn các hệ thống khai phá dữ liệu đang được sử
dụng hiện nay (Business intelligence development studio, Weka …), sẽ phục vụ
đắc lực cho các nhà quản lý, lãnh đạo trong việc tự động dự báo, hỗ trợ ra quyết
định trong công tác quy hoạch cán bộ lãnh đạo quản lý.


-8-


CHƢƠNG 1. TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
1.1. Khai phá dữ liệu
1.1.1 Khái niệm
Khai phá dữ liệu (Data Mining) hay có thể hiểu là phát hiện tri thức
(Knowledge Discovery) có rất nhiều khái niệm khác nhau nhưng về cơ bản đó là
quá trình tự động trích xuất thông tin có giá trị (thông tin dự đoán - Predictive
Information) ẩn chứa trong lượng dữ liệu lớn trong thực tế.
Khai phá dữ liệu nhấn mạnh 2 vấn đề chính đó là việc tự động trích xuất
thông tin có ích (Automated) và thông tin mang tính dự đoán (Predictive).
Khai phá dữ liệu liên quan chặt chẽ đến một số lĩnh vực sau:
- Thống kê (Statistics): Kiểm định mô hình và đánh giá tri thức phát hiện được.
- Máy học (Machine Learning): Nghiên cứu, xây dựng các thuật toán trên nền
tảng của trí tuệ nhân tạo giúp cho máy tính có thể suy luận, suy diễn (dự đoán) kết
quả có thể sảy ra trong tương lai thông qua quá trình huấn luyện, tập huấn (học) từ
dữ liệu lịch sử, dữ liệu đang có.
- Cơ sở dữ liệu (Databases): Công nghệ quản trị dữ liệu, nhất là kho dữ liệu
- Trực quan hóa (Visualization): Giúp dữ liệu dễ hình dung, dễ hiểu, dễ sử dụng như
biểu đồ, bản đồ ...

Hình 1.1. Khai phá dữ liệu và các lĩnh vực có liên quan mật thiết

-9-


1.1.2. Nhiệm vụ của khai phá dữ liệu
Khai phá dữ liệu được ứng dụng vào nhiều mục đích, tuy nhiên nhiệm vụ của

khai phá dữ liệu có thể được phân thành 2 loại chính đó là dự đoán, dự báo
(Predictive) và mô tả (Descriptive).
1.1.2.1. Dự đoán
- Phân lớp: Classification
- Hồi quy: Regression
- Phát hiện độ lệch: Deviation Detection
1.1.2.2. Mô tả:
- Phân cụm: Clustering
- Phát hiện luật kết hợp: Association Rule Discovery
Dưới đây là một số thuật toán phổ biến được dùng trong Khai phá dữ liệu
- Cây quyết định: Decision tree
- Láng giềng gần nhất: Nearest Neighbor
- Mạng Neural: Neural Network
- Luật quy nạp: Rule Induction
- Thuật toán K-Means: K-Means

Hình 1.2. Các thuật toán phổ biến đƣợc dùng trong khai phá dữ liệu

- 10 -


1.1.3. Mô hình dự đoán
Là hộp đen (black box) thực hiện việc dự đoán những thông tin có thể sảy ra
trong tương lai dựa vào thông tin có sẵn trong quá khứ và hiện tại.
Để có một mô hình dự đoán ta phải trải qua 2 giai đoạn. Thứ nhất là xây dựng
mô hình và thứ hai là kiểm định mô hình:
Ví dụ sau đây mô tả quy trình xây dựng mô hình phân lớp.

Hình 1.3. Mô hình phân lớp


Đánh giá mô hình dự đoán
Để đánh giá được mô hình dự đoán hoạt động tốt như thế nào người ta sử
dụng các tham số sau: Recall, Accuracy, Precision, F-Measure, ... với các công
thức tính như sau:

Hình 1.4. Đánh giá mô hình dự đoán

- 11 -


Các tham số này trong các công cụ hay phần mềm khai phá dữ liệu phổ biến
hiện nay đã tính sẵn, ví dụ dưới đây là kết quả đánh giá sau khi tính toán của mô
hình phân lớp từ dữ liệu "hoa Iris" trong Weka:

Hình 1.5. Tham số dùng đánh giá mô hình dự đoán

1.1.4. Ứng dụng, hƣớng nghiên cứu và công cụ
1.1.4.1. Ứng dụng của khai phá dữ liệu (Data Mining Applications)
Một số lĩnh vực mà Khai phá dữ liệu đang được ứng dụng rộng rãi như:
- Phân tích dữ liệu lĩnh vực tài chính.
- Phân tích dữ liệu trong công nghiệp bán lẻ.
- Phân tích dữ liệu trong công nghiệp viễn thông.
- Phân tích dữ liệu trong lĩnh vực sinh học, địa chất, khí tượng, vũ trụ ... khoa
học tự nhiên.
- Phân tích dữ liệu để phát hiện xâm nhập.
- Một số ứng dụng trong các lĩnh vực khoa học khác như ta6m lý, điều tra dân
số, khoa học xã hội ...
Dưới đây là ứng dụng trong một số lĩnh vực cụ thể:

- 12 -



a. Phân tích dữ liệu tài chính
Dữ liệu về tiền tệ, tài chính nền kinh tế, trong các ngân hàng và trong ngành
tài chính nói chung thường chính xác, đáng tin cậy và có chất lượng cao, tạo điều
kiện cho khai phá dữ liệu đạt kết quả mong đợi. Dưới đây là một số ứng dụng điển
hình trong khai phá dữ liệu ngân hàng, tài chính:
Dự đoán khả năng huy động vốn, khả năng vay và thanh toán của khách
hàng, phân tích các chính sách tín dụng đối với các đối tượng khách hàng khác
nhau.
Phân tích thói quen, hành vi khách hàng (vay, gửi tiền ở mức độ, thời điểm và
mục đích nào ...)
Phân loại và phân nhóm nhằm xác định khách hàng mục tiêu cho tiếp thị,
phát triển khách hàng.
Phát hiện các hoạt động tài chính không lành mạnh, rửa tiền và tội phạm tài
chính khác.
b. Công nghiệp bán lẻ
Khai phá dữ liệu đóng vai trò quan trọng trong thương mại, trong đó có ngành công
nghiệp bán lẻ, do dữ liệu được lưu trữ, thu thập trong lĩnh vực này rất lớn từ doanh số
bán hàng, lịch sử mua hàng, sở thích mua hàng của khách hàng, vận chuyển hàng hóa,
tiêu thụ và dịch vụ, thanh toán. Điều chác chắn là khối lượng dữ liệu từ ngành công
nghiệp này sẽ tiếp tăng lên nhanh chóng và dễ dàng thu thập bởi tính sẵn có trên môi
trường Web. Khai phá dữ liệu khi được ứng dụng trong thương mại, công nghiệp bán lẻ
sẽ xây dựng mô hình giúp xác định xu hướng mua hàng của khách hàng, giúp doanh
nghiệp đầu tư có trọng điểm, cải thiện chất lượng dịch vụ, hàng hóa, sản phẩm nhằm đáp
ứng tốt nhu cầu của khách hàng và tạo niềm tin, lôi kéo thị trường …. Dưới đây là một số
ứng dụng của khai phá dữ liệu trong thương mại, công nghiệp bán lẻ:
Khai phá dữ liệu trên cơ sở dữ liệu hay kho dữ liệu về khách hàng

- 13 -



Phân tích nhiều chiều trên kho dữ liệu khách hàng về thói quen, doanh số bán
hàng, phân khúc khách hàng, sản phẩm, thời gian và khu vực.
Phân tích hiệu quả của các sản phẩm, các chiến dịch bán hàng, tiếp thị.
Quản trị, thống kê mối quan hệ khách hàng.
Giới thiệu, tiếp thị hay tư vấn sản phẩm, dịch vụ phù hợp cho từng phân khúc
khách hàng.
c. Công nghiệp viễn thông
Công nghiệp viễn thông là ngành công nghiệp phát triển nhanh, mạnh trong
những năm gần đây, nó cung cấp nhiều dịch vụ như internet, điện thoại di động,
truyền hình, giải trí .... Do sự phát triển mạnh của cơ sở hạ tầng là mạng máy tính và
các công nghệ truyền dữ liệu, viễn thông đang phát triển với tốc độ rất nhanh. Đây là
lý do khiến khai phá dữ liệu trở nên cấp thiết trong lĩnh vực này. Khai phá dữ liệu
trong ngành công nghiệp viễn thông giải quyết việc xác định các mô hình viễn thông,
phát hiện các hoạt động gian lận trong viễn thông, sử dụng tối ưu nguồn tài nguyên và
cải thiện chất lượng dịch vụ viễn thông. Một số ứng dụng của khai phá dữ liệu trong
ngành công nghiệp có thể kể ra là:
Phân tích dữ liệu theo nhiều chiều của dịch vụ viễn thông.
Xây dựng hay đưa ra giải pháp về các mô hình phát hiện gian lận.
Phát hiện các giao dịch, dịch vụ bất thường.
Phân tích thói quen, hành vi sử dụng dịch vụ viễn thông của khách hàng để
đưa ra các dịch vụ phù hợp.
Xây dựng, sử dụng các công cụ trực quan để quản lý, phân tích dữ liệu viễn thông.
d. Phân tích dữ liệu sinh học, sinh trắc học
Khai phá dữ liệu sinh trắc học là một yếu tố rất quan trọng, là cầu nối của 2 lĩnh vực
Tin học và Sinh học. Dưới đây là một số ứng dụng của khai phá dữ liệu trong lĩnh vực
sinh trắc học:

- 14 -



Lập bản đồ, chỉ mục, tìm kiếm trùng lặp, tương tự, bất thường trong cơ sở dữ
liệu về Gen.
Là Công cụ khai phá các mạng di truyền và cấu trúc của Gen, protein.
Là một giải pháp trực quan hóa các phân tích dữ liệu di truyền.
e. Phát hiện xâm nhập bất hợp pháp
Xâm nhập bất hợp pháp là những hành động tấn công hay đe dọa tính toàn vẹn, bảo
mật và chính xác của dữ liệu, tài nguyên mạng. Trong thời đại bùng nổ thông tin và kết
nối, bảo mật đã trở thành vấn đề cực kỳ quan trọng đối với tồn tại của tất cả các hệ thống.
Với sự phát triển của mạng máy tính, của internet và sự sẵn có của các công cụ, thủ thuật
trợ giúp cho việc xâm nhập và tấn công mạng, yêu cầu kiểm soát, phát hiện truy cập bất
hợp pháp là yếu tố tối quan trọng đảm bảo cho sự tồn tại, ổn định của hệ thống.
Dưới đây là một số ứng dụng của khai phá dữ liệu có thể được áp dụng để
phát hiện xâm nhập bất hợp pháp:
Xây dựng, phát triển các thuật toán khai phá dữ liệu để phát hiện xâm nhập
bất hợp pháp. Phân tích kết hợp, tương quan, đối sánh và khác biệt để phát hiện
xâm nhập.
Phân tích dòng dữ liệu theo thời gian, tính chất ... (Analysis of Stream
data) để phát hiện bất thường.
1.1.4.2. Lựa chọn công cụ khai phá dữ liệu
Hiện nay có rất nhiều công cụ, phần mềm khai phá dữ liệu (Data Mining
Tool) đã được phát triển, vấn đề là phải chọn được công cụ khai phá dữ liệu phù
hợp với yêu cầu, mục đích, quy mô cụ thể của mỗi dự án khai phá dữ liệu. Việc lựa
chọn này dựa trên một số đặc trưng sau của công cụ, phần mềm khai phá dữ liệu:
- Kiểu dữ liệu (Data Types): Mỗi công cụ khai phá dữ liệu thường xử lý tốt
trên một số kiểu dữ liệu nhất định (data warehouse, formatted text, ASCII text,
relational database) chính vì vậy, cần xác định được bạn đang cần hệ thống xử lý
trên định dạng dữ liệu nào để chọn công cụ khai phá dữ liệu cho phù hợp.


- 15 -


- Sự tƣơng thích (Compatibility): Phải xác định được công cụ khai phá dữ
liệu chạy trên môi trường, hệ điều hành nào, tương tác webform hay winform.
- Nguồn dữ liệu (Data Sources): Cần xác định nguồn dữ liệu mà công cụ
khai phá dữ liệu sẽ phải xử lý, bạn đang lưu trữ dữ liệu ở chuẩn nào, tương tự như
kiểu dữ liệu, công cụ khai phá dữ liệu có hỗ trợ xử lý dữ liệu ở chuẩn đó không.
Một số Data Source phổ biến hiện nay mà các công cụ khai phá dữ liệu hỗ trợ như
ODBC connections, OLE DB for ODBC connections, ASCII text files.
- Chức năng của hệ thống khai phá dữ liệu (Data Mining functions): Xác
định mục đích, chức năng và các nhiệm vụ mà công cụ khai phá dữ liệu triển khai
(description , classification, association mining, discovery-driven OLAP analysis ,
statistical analysis, linkage analysis, classification, clustering, prediction, outlier
analysis, similarity search…)
- Khả năng mở rộng (Scalability): Khi chọn một công cụ khai phá dữ liệu
thường quan tâm đến 2 khả năng mở rộng sau:
Khả năng xử lý kích thước, quy mô cơ sở dữ liệu lớn (mở rộng về số dòng dữ
liệu (Database size).
Hỗ trợ xử lý với số lượng thuộc tính, trường (Dimension) lớn.
- Công cụ trực quan hóa dữ liệu (Visualization Tools): Đây là chức năng
rất quan trọng của một công cụ khai phá dữ liệu, giúp biểu diễn tri thức phát hiện
được một cách trực quan, dễ hiểu, dễ kiểm tra. Vấn đề trực quan hóa của công cụ
khai phá dữ liệu đề cập đến các khía cạnh sau:
+ Trực quan hóa dữ liệu: Data Visualization.
+ Trực quan hóa tiến trình khai phá dữ liệu: Mining process visualization.
+ Trực quan hóa kết quả khai phá dữ liệu: Mining Results Visualization.
- Ngôn ngữ truy vấn và tƣơng tác đồ họa với ngƣời dùng (Data Mining
query language): Cần hiểu rõ công cụ khai phá dữ liệu cung cấp cho chúng ta ngôn


- 16 -


ngữ dùng để truy vấn và kết quả từ mô hình khai phá dữ liệu đã được xây dựng
trên môi trường tương tác nào? đồ họa hay dòng lệnh.
1.1.4.3. Các hƣớng nghiên cứu tiếp theo của công cụ khai phá dữ liệu:
Dưới đây là một số hướng nghiên cứu trong khai phá dữ liệu đang được quan tâm:
- Khai phá dữ liệu Sinh trắc học: Biological data mining:
- Khai phá dữ liệu và công nghệ phần mềm: Data mining and software
engineering;
- Khai phá dữ liệu web: Web mining;
- Khai phá dữ liệu phân tán: Distributed Data mining;
- Khai phá dữ liệu thời gian thực: Real time data mining;
- Sự kết hợp giữa khai phá dữ liệu, kho dữ liệu, cơ sở dữ liệu hay cơ sở dữ
liệu web;
- Chuẩn hóa ngôn ngữ truy vấn khai phá dữ liệu: Standardization of data
mining query language;
- Khai phá dữ liệu trực quan: Visual Data Mining;
- Xây dựng các phương pháp mới để khai phá các kiểu dữ liệu phức tạp: New
methods for mining complex types of data;
- Xây dựng các chính sách an toàn thông tin trong khai phá dữ liệu: privacy
protection and Information Security in data mining;
1.1.4.4. Một số công cụ khai phá dữ liệu (Data Mining Tools)
Tên công cụ
ANGOSS
KnowledgeSTUDIO
ARMiner
Bayes Server
CART® (Classification
and Regression Trees)


Giấy phép
sử dụng

Các chức năng khai phá dữ liệu

Classification Discovery, Cluster Discovery,
Data Visualisation, Discovery Visualisation
Mã nguồn mở
Association Discovery
Classification Discovery, Cluster Discovery,
Thương mại Regression Discovery, Outlier Discovery, Discovery
Visualisation, Sequence Analysis
Thương mại

Thương mại

Classification Discovery

- 17 -


Classification Discovery, Cluster Discovery,
Thương mại Association Discovery, Outlier Discovery, Data
Visualisation, Discovery Visualisation, Web Analytics
Thương mại
Classification Discovery, Cluster Discovery,
GhostMiner
Outlier Discovery, Data Visualisation
Ants Model Builder Thương mại

ClassificationDiscovery,RegressionDiscovery, OutlierDiscovery
Thương mại
Cluster Discovery, Regression Discovery, Outlier
Molegro Data Modeller
Discovery, Data Visualisation, Discovery Visualisation
Thương mại
Cluster Discovery, Association Discovery, Text
OmniAnalyser
Mining, Data Visualisation, Discovery Visualisation,
Web Analytics, Social Network Analysis
Mã nguồn mở
Classification Discovery, Cluster Discovery,
Regression Discovery, Association Discovery, Text Mining,
R
Outlier Discovery, Data Visualisation, Discovery
Visualisation, Sequence Analysis, Web Analytics, Social
Network Analysis
Mã nguồn mở
Classification Discovery, Cluster Discovery,
RapidMiner
Regression Discovery, Association Discovery, Text
Mining, Outlier Discovery, Data Visualisation
Classification Discovery, Cluster Discovery,
SAS Enterprise Miner Thương mại Regression Discovery, Association Discovery, Outlier
Discovery, Data Visualisation, Web Analytics
Thương mại
Classification Discovery, Cluster Discovery,
SPAD Data Mining
Regression Discovery, Association Discovery, Text
Mining, Data Visualisation, Discovery Visualisation

Thương mại
Classification Discovery, Cluster Discovery, Regression
SPM (Salford Systems
Discovery, Association Discovery, Outlier Discovery, Data Visualisation,
Predictive Mining Suite)
Discovery Visualisation, Sequence Analysis, Web Analytics
Thương mại
Classification Discovery, Cluster Discovery,
Regression Discovery, Association Discovery, Text Mining,
Clementine
Outlier Discovery, Data Visualisation, Discovery
Visualisation, Sequence Analysis, Web Analytics, Social
Network Analysis
Thương mại
Classification Discovery, Cluster Discovery,
Regression Discovery, Association Discovery, Text
SQL Server Data Mining
Mining, Outlier Discovery, Data Visualisation,
Discovery Visualisation, Sequence Analysis
Thương mại
Classification Discovery, Cluster Discovery,
Regression Discovery, Association Discovery, Text Mining,
STATISTICA Data Miner
Outlier Discovery, Data Visualisation, Discovery
Visualisation, Sequence Analysis, Web Analytics, Social
Network Analysis
Thương mại
Classification Discovery, Cluster Discovery,
Viscovery SOMine
Data Visualisation, Discovery Visualisation

Thương mại
Classification Discovery, Cluster Discovery,
VisuMap
Association Discovery, Text Mining, Outlier Discovery, Data
Visualisation, Discovery Visualisation, Sequence Analysis
Classification Discovery, Cluster Discovery,
Weka
Mã nguồn mở
Association Discovery, Outlier Discovery, Data
Data Applied

- 18 -


Visualisation, Discovery Visualisation
Bảng 1.1. Một số công cụ khai phá dữ liệu (Data Mining Tools)

1.2. Cây quyết định với bài toán phân lớp
1.2.1. Khái niệm về Cây quyết định
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 để mô hình hóa, 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 học máy, cây quyết định được ứng dụng vào 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 học máy 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 học thông dụng trong
khai phá dữ liệu. Trong đó, cây quyết định mô tả một cấu trúc cây mà các lá
đại diện cho các phân loại còn cành đại diện cho các liên kết của các thuộc tính
dẫn tới kết quả 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 ban đầu, tập nguồn thành các tập con nhỏ hơn dựa theo một kiểm
tra giá trị thuộc tính. Quá trình này được thực hiện lặp lại một cách đệ quy cho
mỗi tập con trước đó. Quá trình đệ quy này hoàn thành khi không thể tiếp tục
thực hiện việc chia tách nhỏ hơn đượ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 ban đầu. Một bộ phân loại rừng ngẫu

- 19 -


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 pháp có tính chất 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 hiểu như là sự kết hợp của các kỹ thuật toán học hay
tính toán nhằm hỗ trợ việc hình dung, 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à 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 đó.
Có thể hiểu cây quyết định là một cấu trúc phân tầng của các nút và các
nhánh, bao gồm :

- 3 loại nút trên cây: Nút gốc và Nút nội bộ: mang tên thuộc tính của cơ sở dữ
liệu; Nút lá: mang tên lớp Ci.
- Nhánh: mang giá trị có thể của thuộc tính.
Cây quyết định được sử dụng trong kỹ thuật phân lớp bằng cách duyệt từ nút
gốc cho đến khi đụng đến nút lá của cây, từ đó chia đối tượng cần xét thành các lớp.
1.2.2. Các kiểu cây quyết định
Cây quyết định còn có hai tên khác:
Cây hồi quy: Regression tree): ước lượng các hàm có giá trị là số thực thay vì
được sử dụng cho các nhiệm vụ phân loại. (ví dụ: ước tính giá trị một sản phẩm
hoặc khoảng thời gian khách hàng sử dụng một sản phẩm)
Cây phân loại (Classification tree): nếu y là một biến phân loại như: kết quả
của một trận đấu (thắng hay thua), nhiệt độ (nóng hay lạnh).
Ví dụ:

- 20 -


Đây là một ví dụ có thể mô tả về cây quyết định: An là quản lý của một sân
golf. Anh ta đang tính toán việc khách hàng đến hay không đến chơi golf. Có ngày,
ai cũng muốn chơi golf nhưng số nhân viên tại sân golf lại không đủ phục vụ lượng
khách hàng này. Vào ngày khác, không hiểu vì lý do gì mà không có khách hàng
đến chơi, và nhân viên An đã thuê không có việc gì để làm.
Mục tiêu của An là cân đối, tối ưu hóa số nhân viên phục vụ theo từng ngày
bằng cách dựa vào thông tin dự báo thời tiết để dự đoán xem khi nào khách hàng
sẽ đến chơi golf tại sân của anh ta. Để làm được điều đó, An cần hiểu được lý do
tại sao khách hàng quyết định chơi hay không chơi và liệu có cách giải thích nào
cho việc đó hay không.
An bắt đầu việc này bằng cách thu thập thông tin về thời tiết trong vòng 2
tuần: Trời (outlook) (nắng (sunny), nhiều mây (overcast) hoặc mưa (raining). Nhiệt
độ (temperature) bằng độ F. Độ ẩm (humidity). Có gió mạnh (windy) hay không.

Và là số lượng khách hàng đến chơi golf vào ngày hôm đó. An thu được một bảng
dữ liệu gồm 14 dòng và 5 cột dưới đây:

Quang cảnh
Nắng
Nắng
Âm u
Mưa
Mưa
Mưa
Âm u
Nắng
Nắng
Mưa
Nắng
Âm u
Âm u
Mưa

Dữ liệu chơi golf
Các biến độc lập
Nhiệt độ
Độ ẩm
85
85
80
90
83
78
70

96
68
80
65
70
64
65
72
95
69
70
75
80
75
70
72
90
81
75
71
80

Gió
không

không
không
không



không
không
không


không


Chơi
không
không



không

không





không

Bảng 1.2. Dữ liệu chơi golf

Để giải quyết vấn đề của An, ta đã thử đưa ra một mô hình cây quyết định
như sau:

- 21 -



Hình 1.6. Mô hình cây quyết định chơi golf

Có thể nói, cây quyết định là một mô hình dữ liệu mã hóa phân bố của nhãn
lớp (cũng là y) theo các thuộc tính dùng để dự đoán. Nó là một đồ thị có hướng phi
chu trình dưới dạng một cây. Nút gốc (nút nằm trên đỉnh) đại diện cho toàn bộ dữ
liệu. Thuật toán cây quyết định xác định được rằng cách tốt nhất để giải thích biến
phụ thuộc: play (chơi), là sử dụng biến Outlook. Phân loại theo các giá trị của biến
Outlook, ta có ba nhóm khác nhau: Nhóm khách hàng chơi golf khi trời nắng,
nhóm khách hàng chơi khi trời nhiều mây, và nhóm khách hàng chơi khi trời mưa.
Từ đó có thể đƣa ra các kết luận
Kết luận thứ nhất: nếu trời nhiều mây thì khách hàng luôn luôn đến sân để
chơi golf. Và có một số chơi golf ngay cả khi trời mưa.
Tiếp theo, ta tiếp tục chia nhóm trời nắng thành hai nhóm con là độ ẩm cao và
tiêu chuẩn. Ta thấy rằng khách hàng không muốn chơi golf nếu độ ẩm lên quá 70%
9độ ẩm cao).
Cuối cùng, ta chia nhóm trời mưa thành 2 (gió mạnh và gió bình thường), ta
thấy rằng khách hàng sẽ không chơi golf nếu gió mạnh (Strong).

- 22 -


Hình 1.7. Cây quyết định chơi golf

Và đây là lời giải ngắn gọn, dễ hiểu cho bài toán được biểu diễn bởi cây
quyết định. An có thể cho phần lớn nhân viên nghỉ vào những ngày trời nắng và độ
ẩm cao, hoặc những ngày mưa và gió mạnh. Vì sẽ có ít khách hàng chơi golf trong
những ngày đó. Vào những hôm khác, sẽ có nhiều khách hàng đến chơi golf, An có
thể cho nhiều nhân viên đi làm hơn.

Kết luận lớn nhất có thể rút ra được từ ví dụ trên là: cây quyết định có thể
biểu diễn dữ liệu phức tạp thành một cấu trúc đơn giản, dễ hiểu hơn rất nhiều.
1.2.3. Ƣu điểm của cây quyết định
So với các phương pháp, cách thức khai phá dữ liệu khác, cây quyết định là
phương pháp có nhiều ưu điểm:
- Cây quyết định dễ hiểu. Khi nhìn vào mô hình cây quyết định có thể hiểu
được ngay và có thể nắm được cách xây dựng cây quyết định sau khi được giải
thích ngắn gọn.
- Việc chuẩn bị dữ liệu cho một cây quyết định là tương đối đơn giản. Các kỹ
thuật khác thường đòi hỏi chuẩn hóa dữ liệu, cần tạo các biến phụ (dummy
variable) và loại bỏ các giá trị rỗng.

- 23 -


- Cây quyết định có thể xử lý dữ liệu thuộc nhiều kiểu dữ liệu khác nhau, có
giá trị bằng số và dữ liệu có giá trị là tên thể loại ... Các kỹ thuật khác thường
chuyên để phân tích các bộ dữ liệu chỉ gồm một loại biến. Chẳng hạn, các luật
quan hệ chỉ có thể dùng cho các biến tên, trong khi mạng nơ-ron chỉ có thể dùng
cho các biến có giá trị bằng số.
- Cây quyết định là mô hình hộp trắng. Nó quan sát một tình huống cho trước
và có thể dễ dàng giải thích các điều kiện của tình huống đó bằng logic Boolean.
Mạng nơ-ron là một ví dụ về mô hình hộp đen, do lời giải thích cho kết quả quá
phức tạp để có thể hiểu được.
- Có thể thẩm định, kiểm tra mô hình bằng các phương pháp thống kê. Nó
làm cho ta có thể tin tưởng vào mô hình, tin tưởng và kết quả dự đoán của mô
hình..
Cây quyết định có khả năng xử lý tốt lượng dữ liệu lớn trong thời gian ngắn,
không đòi hỏi phần cứng máy tính quá mạnh. Phần lớn máy tính cá nhân hiện nay
đều có thể phân tích các lượng dữ liệu lớn trong một thời gian đủ ngắn để giúp các

nhà quản lý đưa ra quyết định dựa trên phân tích từ cây quyết định.
1.2.4. Thuật toán ID3 – Xây dựng Cây quyết định
1.2.4.1. Giới thiệu về thuật toán ID3
Hiện nay có nhiều thuật toán xây dựng cây quyết định như: ID3, C4.5 và
C5.0, trong luận văn này sẽ tập trung trình bày về thuật toán ID3.
Giải thuật xây dựng cây quyết định ID3 (gọi tắt là ID3) là một giải thuật học
đơn giản nhưng đạt được thành công trong nhiều lĩnh vực. ID3 là một giải thuật
hay vì việc biểu diễn tri thức học được của nó, cách tiếp cận của ID3 trong việc
quản lý tính phức tạp, heuristic của ID3 dùng cho việc lựa chọn các phương án,
ứng viên, ID3 có thể xử lý được dữ liệu nhiễu.

- 24 -


ID3 biểu diễn dữ liệu ở dạng các cây quyết định (decision tree). Biểu diễn
này giúp chúng ta xác định phân loại của một đối tượng bằng cách tính toán các
giá trị của nó trên một số thuộc tính nào đó.
Như vậy, nhiệm vụ chính của giải thuật ID3 là học cây quyết định từ một tập
các ví dụ rènluyện hay còn gọi là dữ liệu huấn luyện (training data). Nói chính xác
hơn, giải thuật có:
- Đầu vào: Một tập hợp các dữ liệu huấn luyện. Mỗi tập dữ liệu bao gồm các
thuộc tính mô tả các tình huống, hay một đối tượng nào đó, và một giá trị dùng để
phân loại tình huống, đối tượng đó.
- Đầu ra: Cây quyết định có khả năng phân loại đúng đắn các ví dụ trong tập
dữ liệu huấn luyện, và có thể là phân loại đúng cho cả các ví dụ không có trong tập
huấn luyện hay chưa gặp trong tương lai.
1.2.4.2. Giải thuật ID3 xây dựng cây quyết định
Thuật toán ID3 xây dựng cây quyết định dựa vào tập huấn luyện, theo cách từ
trên xuống. Lưu ý rằng đối với bất kỳ thuộc tính nào, ID3 cũng có thể phân vùng
tập hợp các ví dụ huấn luyện thành những tập con tách rời, mà ở đó mọi ví dụ

trong một phân vùng có một giá trị chung cho thuộc tính đó. Thuật toán ID3 chọn
một thuộc tính để tính toán tại nút hiện tại của cây và dùng kiểm tra này để phân
vùng tập hợp các ví dụ; thuật toán khi đó xây dựng theo cách đệ quy một cây con
cho từng phân vùng. Quá trình này tiếp tục cho đến khi mọi thành phần của phân
vùng đều nằm trong cùng một lớp; lớp đó trở thành nút lá của cây.
a. Giải thuật ID3 xây dựng cây quyết định theo giải thuật sau:
Function induce_tree (tập ví dụ, tập thuộc tính)
begin
if mọi ví dụ trong tập ví dụ đều nằm trong cùng một lớp then
return một nút lá được gán nhãn bởi lớp đó
else if tập thuộc tính là rỗng then

- 25 -


×