DANH MỤC CÁC 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.2 Các thuật toán phổ biến được dùng trong khai phá dữ liệu 10 1.8 Chức năng entropy liên quan đến sự phâ
Trang 13 Đối tượng và phạm vi nghiên cứu 6
3.1 Đối tượng nghiên cứu 6
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
Trang 21.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
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
Trang 3DANH MỤC CÁC BẢNG
1.1 Một số công cụ khai phá dữ liệu (Data Mining Tools) 18
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
Trang 4DANH MỤC CÁC 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.2 Các thuật toán phổ biến được dùng trong khai phá dữ liệu 10
1.8 Chức năng entropy liên quan đến sự phân loại 27
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
Trang 5MỞ ĐẦ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
Trang 6thố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
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 …)
Trang 73.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
Trang 8đượ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ý
Trang 9CHƯƠ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
Trang 101.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
Trang 111.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
Trang 12Cá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ể:
Trang 13a 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
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
Trang 14Phâ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:
Trang 15Lậ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
Trang 16- 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
Trang 17ngữ 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ụ Giấy phép
ANGOSS KnowledgeSTUDIO Thương mại Classification Discovery, Cluster Discovery,
Data Visualisation, Discovery Visualisation ARMiner Mã nguồn mở Association Discovery
Bayes Server Thương mại
Classification Discovery, Cluster Discovery, Regression Discovery, Outlier Discovery, Discovery Visualisation, Sequence Analysis
CART® (Classification
and Regression Trees) Thương mại Classification Discovery
Trang 18Data Applied Thương mại
Classification Discovery, Cluster Discovery, Association Discovery, Outlier Discovery, Data Visualisation, Discovery Visualisation, Web Analytics GhostMiner Thương mại Classification Discovery, Cluster Discovery,
Outlier Discovery, Data Visualisation Ants Model Builder Thương mại Classification Discovery, Regression Discovery, Outlier Discovery
Molegro Data Modeller Thương mại Cluster Discovery, Regression Discovery, Outlier
Discovery, Data Visualisation, Discovery Visualisation OmniAnalyser
Thương mại Cluster Discovery, Association Discovery, Text
Mining, Data Visualisation, Discovery Visualisation, Web Analytics, Social Network Analysis
R
Mã nguồn mở Classification Discovery, Cluster Discovery,
Regression Discovery, Association Discovery, Text Mining, Outlier Discovery, Data Visualisation, Discovery Visualisation, Sequence Analysis, Web Analytics, Social Network Analysis
RapidMiner
Mã nguồn mở Classification Discovery, Cluster Discovery,
Regression Discovery, Association Discovery, Text Mining, Outlier Discovery, Data Visualisation
SAS Enterprise Miner Thương mại
Classification Discovery, Cluster Discovery, Regression Discovery, Association Discovery, Outlier Discovery, Data Visualisation, Web Analytics
SPAD Data Mining
Thương mại Classification Discovery, Cluster Discovery,
Regression Discovery, Association Discovery, Text Mining, Data Visualisation, Discovery Visualisation SPM (Salford Systems
Predictive Mining Suite)
Thương mại Classification Discovery, Cluster Discovery, Regression
Discovery, Association Discovery, Outlier Discovery, Data Visualisation, Discovery Visualisation, Sequence Analysis, Web Analytics
Clementine
Thương mại Classification Discovery, Cluster Discovery,
Regression Discovery, Association Discovery, Text Mining, Outlier Discovery, Data Visualisation, Discovery Visualisation, Sequence Analysis, Web Analytics, Social Network Analysis
SQL Server Data Mining
Thương mại Classification Discovery, Cluster Discovery,
Regression Discovery, Association Discovery, Text Mining, Outlier Discovery, Data Visualisation, Discovery Visualisation, Sequence Analysis
STATISTICA Data Miner
Thương mại Classification Discovery, Cluster Discovery,
Regression Discovery, Association Discovery, Text Mining, Outlier Discovery, Data Visualisation, Discovery Visualisation, Sequence Analysis, Web Analytics, Social Network Analysis
Viscovery SOMine Thương mại Classification Discovery, Cluster Discovery,
Data Visualisation, Discovery Visualisation VisuMap
Thương mại Classification Discovery, Cluster Discovery,
Association Discovery, Text Mining, Outlier Discovery, Data Visualisation, Discovery Visualisation, Sequence Analysis Weka Mã nguồn mở Classification Discovery, Cluster Discovery,
Association Discovery, Outlier Discovery, Data
Trang 19Visualisation, 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
Trang 20nhiên (random forest) sử dụng một số cây quyết định để có thể cải thiện t ỷ lệ
- 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ụ:
Trang 21Đâ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:
Dữ liệu chơi golf Các biến độc lập
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:
Trang 22Hì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
Trang 23Hì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
Trang 24- 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á
đề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
Trang 25ID3 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
Trang 26return nút lá được gán nhãn bởi tuyển của tất cả các lớp trong tập ví dụ
else begin
chọn một thuộc tính P, lấy nó làm gốc cho cây hiện tại;
xóa P ra khỏi tập thuộc tính;
với mỗi giá trị V của P
begin
tạo một nhánh của cây gán nhãn V;
Đặt vào phân vùngV các ví dụ trong tập ví dụ có giá trị V tại thuộc tính P;
Gọi induce_tree(phân vùngV, tập thuộc tính), gắn kết quả vào nhánh V
end end
end
Bảng 1.3 Thuật toán ID3 xây dựng Cây quyết định
b Thuộc tính nào là thuộc tính dùng để phân loại tốt nhất?
Quinlan (1983) là người đầu tiên đưa việc sử dụng lý thuyết thông tin vào để tạo ra các cây quyết định và lý thuyết này của ông là cơ sở khoa học của luận văn
này Lý thuyết thông tin của Shannon (1948) lại mang đến khái niệm về entropy để
đo độ pha trộn hay ngược lại là tính thuần nhất của một tập hợp Một tập hợp là
thuần nhất khi tất cả các phần tử của nó đều thuộc cùng một phân lớp, cũng có
nghĩa là tập hợp này có độ pha trộn là thấp nhất Trong trường hợp của tập ví dụ,
thì tập ví dụ là thuần nhất khi tất cả các ví dụ của nó đều có cùng giá trị phân loại
Khi tập ví dụ là thuần nhất thì có thể nói: ta dễ dàng xác định giá trị phân loại của một ví dụ thuộc tập này, hay ta biết lượng thông tin về tập đó là cao nhất Ngược lại, khi
tập ví dụ có độ pha trộn cao nhất, nghĩa là số lượng các ví dụ có cùng giá trị phân loại cho
mỗi loại là gần bằng nhau, thì khi đó ta không thể đoán chính xác được một ví dụ có thể
Trang 27có giá trị phân loại nào, hay nói cách khác là: lượng thông tin ta biết được về tập này là ít
nhất Vậy, vấn đề là làm sao chọn thuộc tính để có thể chia tập ví dụ ban đầu thành các
tập ví dụ thuần nhất càng nhanh, càng chính xác thì càng tốt Vậy đầu tiên, ta cần có một
đại lượng để đo độ thuần nhất của một tập hợp, từ đó mới có thể xác định tập ví dụ nào
thì tốt hơn Tiếp theo sẽ trình bày công thức tính entropy của một tập hợp
c Entropy đo tính thuần nhất của tập ví dụ
Định nghĩa entropy của một tập S được đề cập đến trong lý thuyết thông tin là số lượng mong đợi các bít cần thiết để mã hóa thông tin về lớp của một thành viên rút ra một
cách ngẫu nhiên từ tập S Trong trường hợp tối ưu, mã có độ dài ngắn nhất Theo lý thuyết
thông tin, mã có độ dài tối ưu là mã gán –log2p bits cho thông điệp có xác suất là p
Trong trường hợp S là tập ví dụ, thì thành viên của S là một ví dụ, mỗi ví dụ thuộc một lớp hay có một giá trị phân loại
Entropy có giá trị nằm trong khoảng [0 1],
Entropy(S) = 0 tập ví dụ S chỉ toàn ví dụ thuộc cùng một loại, hay S là thuần nhất
Entropy(S) = 1 tập ví dụ S có các ví dụ thuộc các loại khác nhau với độ pha trộn là cao nhất
0 < Entropy(S) < 1 tập ví dụ S có số lượng ví dụ thuộc các loại khác nhau là không bằng nhau
Để đơn giản ta xét trường hợp các ví dụ của S chỉ thuộc loại âm (-) hoặc dương (+)
Hình 1.8 Chức năng entropy liên quan đến sự phân loại
Trang 28Khi đó, entropy đo độ pha trộn của tập S theo công thức sau:
Entropy(S) = -p + log 2 p + - p - log 2 p
-Một cách tổng quát hơn, nếu các ví dụ của tập S thuộc nhiều hơn hai loại, giả
sử là có c giá trị phân loại thì công thức entropy tổng quát là:
d Lƣợng thông tin thu đƣợc đo mức độ giảm entropy mong đợi
Entropy là một số đo đo độ pha trộn của một tập ví dụ, bây giờ chúng ta sẽ định nghĩa một phép đo hiệu suất phân loại các ví dụ của một thuộc tính Phép đo
này gọi là lượng thông tin thu được, nó đơn giản là lượng giảm entropy mong đợi
gây ra bởi việc phân chia các ví dụ theo thuộc tính này
Một cách chính xác hơn, Gain(S,A) của thuộc tính A, trên tập S, được định nghĩa như sau:
) (
|
|
|
| )
( )
, (
) (
v A
Values v
v
S Entropy S
S S
Entropy A
e Tìm kiếm không gian giả thuyết trong ID3
Giống như các phương pháp học quy nạp khác, thuật toán ID3 cũng tìm kiếm trong một không gian các giả thuyết một giả thuyết phù hợp với tập dữ liệu huấn
luyện Không gian giả thuyết mà thuật toán ID3 tìm kiếm là một tập hợp các cây
Trang 29quyết định có thể có Thuật toán ID3 thực hiện một phép tìm kiếm bắt đầu từ đơn
giản đến phức tạp, theo giải thuật leo núi (hill climbing), đi từ cây rỗng, sau đó dần
dần xem xét các giả thuyết phức tạp hơn mà có thể phân loại đúng các ví dụ huấn
luyện Đại lượng đánh giá được dùng để hướng dẫn tìm kiếm theo giải thuật leo
núi ở đây là phép đo lượng thông tin thu được
Từ cách hình dung thuật toán ID3 như là một giải thuật tìm kiếm trong không gian các giả thuyết, ta có một số nhận xét như sau:
- Không gian giả thuyết các cây quyết định của ID3 là một không gian đầy đủ các cây quyết định trên các thuộc tính đã cho trong tập rèn luyện Điều này có
nghĩa là không gian mà ID3 tìm kiếm chắc chắn có chứa cây quyết định cần tìm
- Trong khi tìm kiếm, ID3 chỉ duy trì một giả thuyết hiện tại Vì vậy, giải thuật này không có khả năng biểu diễn được tất cả các cây quyết định khác nhau có
khả năng phân loại đúng dữ liệu hiện có
- Giải thuật thuần ID3 không có khả năng quay lui trong khi tìm kiếm Vì vậy, nó có thể có những hạn chế giống như giải thuật leo núi, đó là hội tụ về cực
tiểu địa phương
- Vì ID3 sử dụng tất cả các ví dụ ở mỗi bước để đưa ra các quyết định dựa trên thống kê, nên kết quả tìm kiếm của ID3 rất ít bị ảnh hưởng bởi một vài dữ liệu
sai (hay dữ liệu nhiễu)