Tài liệu Khóa luận Nghiên cứu ứng dụng bộ công cụ business intelligence trong việc xử lý số liệu của hệ quản trị cơ sở dữ liệu mysql: ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ
Trƣơng Vĩnh Long
NGHIÊN CỨU ỨNG DỤNG BỘ CÔNG CỤ
BUSINESS INTELLIGENCE TRONG VIỆC XỬ LÝ
SỐ LIỆU CỦA HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
MYSQL
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
HÀ NỘI - 2010
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ
Trƣơng Vĩnh Long
NGHIÊN CỨU ỨNG DỤNG BỘ CÔNG CỤ
BUSINESS INTELLIGENCE TRONG VIỆC XỬ LÝ
SỐ LIỆU CỦA HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
MYSQL
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
Cán bộ hƣớng dẫn: TS. Nguyễn Hà Nam
Cán bộ đồng hƣớng dẫn: ThS. Nguyễn Thu Trang
HÀ NỘI - 2010
LỜI CẢM ƠN
Trước tiên em xin gửi lời cảm ơn sâu sắc tới TS. Nguyễn Hà Nam và ThS. Nguyễn
Thu Trang đã tận tình chỉ bảo, giúp đỡ em hoàn thành luận văn này.
Em xin chân thành cảm ơn các thầy cô trong bộ môn Các hệ thống thông tin, trường
Đại học Công nghệ - Đại học Quốc gia Hà nội đã tạo điều kiện cho em thực hiện đề tài.
Đồng thời, em xi...
50 trang |
Chia sẻ: haohao | Lượt xem: 2146 | Lượt tải: 0
Bạn đang xem trước 20 trang mẫu tài liệu Khóa luận Nghiên cứu ứng dụng bộ công cụ business intelligence trong việc xử lý số liệu của hệ quản trị cơ sở dữ liệu mysql, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ
Trƣơng Vĩnh Long
NGHIÊN CỨU ỨNG DỤNG BỘ CÔNG CỤ
BUSINESS INTELLIGENCE TRONG VIỆC XỬ LÝ
SỐ LIỆU CỦA HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
MYSQL
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
HÀ NỘI - 2010
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ
Trƣơng Vĩnh Long
NGHIÊN CỨU ỨNG DỤNG BỘ CÔNG CỤ
BUSINESS INTELLIGENCE TRONG VIỆC XỬ LÝ
SỐ LIỆU CỦA HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
MYSQL
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
Cán bộ hƣớng dẫn: TS. Nguyễn Hà Nam
Cán bộ đồng hƣớng dẫn: ThS. Nguyễn Thu Trang
HÀ NỘI - 2010
LỜI CẢM ƠN
Trước tiên em xin gửi lời cảm ơn sâu sắc tới TS. Nguyễn Hà Nam và ThS. Nguyễn
Thu Trang đã tận tình chỉ bảo, giúp đỡ em hoàn thành luận văn này.
Em xin chân thành cảm ơn các thầy cô trong bộ môn Các hệ thống thông tin, trường
Đại học Công nghệ - Đại học Quốc gia Hà nội đã tạo điều kiện cho em thực hiện đề tài.
Đồng thời, em xin cảm ơn các thầy cô giáo trường Đại học Công nghệ đã dạy bảo, giúp
đỡ em trong 4 năm học vừa qua.
Cuối cùng em xin cảm ơn những người thân trong gia đình và bạn bè đã động viên,
giúp đỡ em trong quá trình học tập và thực hiện hoàn luận văn.
Xin chân thành cảm ơn!
Sinh viên
Trương Vĩnh Long.
TÓM TẮT
Ngày nay, việc lưu trữ, xử lý dữ liệu để tổng hợp thông tin, hỗ trợ ra quyết định đã
trở nên phổ biến đối với nhiều tổ chức sản xuất, kinh doanh. Có nhiều phương pháp để
đáp ứng yêu cầu này, trong đó Business Intelligence(BI- giải pháp quản trị doanh nghiệp
thông minh) là một giải pháp tiêu biểu, được nhiều tổ chức lựa chọn.
Khóa luận này giới thiệu một vài nét tổng quan về kho dữ liệu, hệ thống xử lý phân
tích trực tuyến và bộ công cụ Business Intelligence. Tiếp đó là việc triển khai cài đặt, ứng
dụng Business Intelligence, cụ thể là sử dụng bộ công cụ Pentaho trong việc xây dựng báo
cáo và khai phá dữ liệu dựa trên hệ quản trị cơ sở dữ liệu MySQL kết hợp phần mềm
Weka.
Danh sách các hình
Hình 1 – Cấu trúc hệ thống kho dữ liệu .. ................................. .............................. 3
Hình 2 – Dòng dữ liệu trong kho dữ liệu . ................................. .............................. 4
Hình 3 - Ứng dụng kho dữ liệu trong Business Intelligence ..... .............................. 5
Hình 4 – Ví dụ về cây quyết định . .......... ................................. .............................. 9
Hình 5 – Thành phần của hệ Business Intelligence ................... ............................ 12
Hình 6 – Cấu trúc của Pentaho Business Intelligence ............... ............................ 19
Hình 7 – Cơ sở dữ liệu về các thành phố ................................. ............................ 23
Hình 8 – Thiết lập Data Source .... .......... ................................. ............................ 24
Hình 9 – Thiết lập Constraint ....... .......... ................................. ............................ 25
Hình 10 – Mô tả báo cáo thu được sử dụng Pentaho ................ ............................ 26
Hình 11 – Mô tả bảng dữ liệu về khách hàng trong ngân hàng. ............................ 27
Hình 12 - Tải dữ liệu lên Weka từ MySQL ............................... ............................ 28
Hình 13 – Chọn bộ lọc MathExpression . ................................. ............................ 29
Hình 14 – Thay đổi thông số cho bộ lọc MathExpression ........ ............................ 30
Hình 15 – Sử dụng MathExpression để gán lại giá trị cho trường THU NHAP .... 30
Hình 16 – Chọn bộ lọc NumericToNominal ............................. ............................ 31
Hình 17 – Chọn bộ lọc AddValues .......... ................................. ............................ 32
Hình 18 – Thiết lập thông số cho bộ lọc AddValues ................ ............................ 32
Hình 19 – Sử dụng chức năng Replace Value trong phần Edit . ............................ 33
Hình 20 – Lựa chọn giá trị cần thay thế .. ................................. ............................ 34
Hình 21 – Lựa chọn giá trị thay thế ......... ................................. ............................ 34
Hình 22 – Lựa chọn xây dựng cây quyết định theo J48 ............ ............................ 35
Hình 23 - Cây quyết định thu được khi dùng Classifier J48 ..... ............................ 36
Hình 24 – Lựa chọn xây dựng luật kết hợp theo thuật toán Apriori ...................... 37
Hình 25 – Kết quả thu được khi tạo luật kết hợp sử dụng thuật toán Apriori ........ 38
Bảng từ khóa
OLAP Online Analysis Processing
MOLAP Multidimensional Online Analysis Processing
ROLAP Relational Online Analysis Processing
HOLAP Hybird Online Analysis Processing
BI Business Intelligence
Mục lục
Chƣơng 1 : KHO DỮ LIỆU VÀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL .... 1
1.1. Kho dữ liệu ................................................................................................... 1
1.1.1. Khái niệm kho dữ liệu ............................................................................. 1
1.1.2. Các đặc tính của kho dữ liệu ................................................................... 1
1.1.3. Cấu trúc hệ thống kho dữ liệu ................................................................. 2
1.1.4. Dòng dữ liệu trong kho dữ liệu ............................................................... 3
1.1.5. Ứng dụng của kho dữ liệu ....................................................................... 4
1.2. Hệ quản trị cơ sở dữ liệu MySQL................................................................. 6
1.2.1. Giới thiệu MySQL ................................................................................... 6
1.2.2. Ưu điểm và nhược điểm của MySQL ..................................................... 6
Chƣơng 2 : PHƢƠNG PHÁP KHAI PHÁ DỮ LIỆU ............................................ 7
2.1. Khái niệm khai phá dữ liệu ........................................................................... 7
2.2. Các thành phần của giải thuật khai phá dữ liệu ............................................ 7
2.3. Cây quyết định .............................................................................................. 8
2.4. Phát hiện các luật kết hợp ........................................................................... 10
Chƣơng 3 : BỘ CÔNG CỤ BUSINESS INTELLIGENCE ................................. 12
3.1. Business Intelligence .................................................................................. 12
3.1.1. Khái niệm Business Intelligence ........................................................... 12
3.1.2. Các thành phần chính của hệ Business Intelligence .............................. 12
3.1.3. Lợi ích của Business Intelligence đối với doanh nghiệp ....................... 13
3.1.4. Các công cụ Business Intelligence ........................................................ 15
3.1.5. Kết hợp Business Intelligence và MySQL ............................................ 15
3.2. Kỹ thuật OLAP ........................................................................................... 16
3.2.1. Khái niệm OLAP ................................................................................... 16
3.2.2. Các thành phần trong hệ thống OLAP .................................................. 17
3.3. Pentaho – Business Intelligence Server ...................................................... 18
3.3.1. Tổng quan về Pentaho ........................................................................... 18
3.3.2. Khả năng và lợi ích của Pentaho ........................................................... 19
3.4. Mondrian – OLAP Server ........................................................................... 20
3.4.1. Mondrian ............................................................................................... 20
3.4.2. Schema Workbench ............................................................................... 20
3.5. Weka – Khai phá dữ liệu ............................................................................ 21
Chƣơng 4 : ỨNG DỤNG BUSINESS INTELLIGENCE ..................................... 22
4.1. Tạo báo cáo sử dụng công cụ BI ................................................................. 22
4.1.1. Giới thiệu cơ sở dữ liệu ......................................................................... 22
4.1.2. Bài toán .................................................................................................. 23
4.1.3. Giải quyết bài toán ................................................................................ 23
4.2. Khai phá dữ liệu .......................................................................................... 26
4.2.1. Giới thiệu cơ sở dữ liệu ......................................................................... 26
4.2.2. Bài toán .................................................................................................. 27
4.2.3. Tiền xử lý .............................................................................................. 27
4.2.4. Thực hiện thuật toán phân lớp ............................................................... 35
4.2.5. Xây dựng luật kết hợp ........................................................................... 36
4.2.6. Nhận xét kết quả .................................................................................... 38
KẾT LUẬN ............................................................................................................... 40
Chương 1 – Kho dữ liệu và hệ quản trị cơ sở dữ liệu MySQL
1
Chƣơng 1 : KHO DỮ LIỆU VÀ HỆ QUẢN TRỊ CƠ
SỞ DỮ LIỆU MYSQL
1.1. Kho dữ liệu
1.1.1. Khái niệm kho dữ liệu
Theo William Inmon [12], kho dữ liệu là một bộ dữ liệu có các đặc tính : hướng chủ
đề, có tính tích hợp, ổn định, dữ liệu gắn với thời gian, thường được sử dụng trong các hệ
thống hỗ trợ quyết định.
Kho dữ liệu thường bao gồm :
- Một hoặc nhiều công cụ để chiết xuất dữ liệu từ các dạng cấu trúc dữ liệu khác
nhau.
- Cơ sở dữ liệu tích hợp hướng chủ đề, ổn định được tổng hợp thông qua việc lập
các bảng dữ liệu.
Một kho dữ liệu có thể được coi là một hệ thống thông tin với những thuộc tính sau:
• Là một cơ sở dữ liệu được thiết kế dành cho nhiệm vụ phân tích, sử dụng các dữ liệu
từ các ứng dụng khác nhau.
• Hỗ trợ cho một số người dùng có liên quan, có sử dụng tới các thông tin liên quan.
• Nội dung được cập nhật thường xuyên, chủ yếu theo hình thức bổ sung thông tin.
• Chứa các dữ liệu trong lịch sử và hiện tại nhằm cung cấp các xu hướng thông tin.
• Chứa các bảng dữ liệu có kích thước lớn.
• Một câu hỏi thường trả về một tập kết quả liên quan đến toàn bộ bảng và các liên kết
nhiều bảng.
1.1.2. Các đặc tính của kho dữ liệu
Hƣớng chủ đề : Kho dữ liệu có thể chứa lượng dữ liệu lên tới hàng trăm Gigabyte,
được tổ chức theo những chủ đề chính. Kho dữ liệu không chú trọng vào giao tác và việc
xử lý giao tác. Thay vào đó, kho dữ liệu tập trung vào việc mô hình hóa, phân tích dữ liệu
Chương 1 – Kho dữ liệu và hệ quản trị cơ sở dữ liệu MySQL
2
nhằm hỗ trợ cho nhà quản lý ra quyết định. Do đó, các kho dữ liệu thường cung cấp một
khung nhìn tương đối đơn giản bằng cách loại bớt những dữ liệu không cần thiết trong
quá trình ra quyết định.
Tính tích hợp : Kho dữ liệu thường được xây dựng bằng cách tổng hợp dữ liệu từ
nhiều nguồn khác nhau, ví dụ các cơ sở dữ liệu, những bản ghi giao tác trực tuyến hoặc
thậm chí là từ những file dữ liệu độc lập. Những dữ liệu này tiếp tục được làm sạch,
chuẩn hóa để đảm bảo sự nhất quán, sau đó đưa vào kho dữ liệu.
Ổn định : Dữ liệu trong kho dữ liệu thường được lưu trữ lâu dài, ít bị sửa đổi, chủ
yếu dùng cho việc truy xuất thông tin nên có độ ổn định cao. Hai thao tác chủ yếu tác
động tới kho dữ liệu là : nhập dữ liệu vào và truy xuất.
Dữ liệu gắn với thời gian : Do có tính ổn định, kho dữ liệu thường lưu trữ dữ liệu
của hệ thống trong khoảng thời gian dài, cung cấp đủ số liệu cho các mô hình nghiệp vụ,
dự báo, khảo sát những chỉ tiêu cần quan tâm.
1.1.3. Cấu trúc hệ thống kho dữ liệu
Hệ thống kho dữ liệu thường bao gồm 3 tầng như trong hình 1:
Tầng đáy : là nơi lấy dữ liệu từ nhiều nguồn khác nhau sau đó làm sạch, chuẩn hóa,
lưu trữ tập trung.
Tầng giữa : thực hiện các thao tác với kho dữ liệu thông qua dịch vụ OLAP (OLAP
server). Có thể cài đặt bằng Relational OLAP, Multidimensional OLAP hay kết hợp cả
hai mô hình trên thành mô hình Hybrid OLAP.
Tầng trên : thực hiện việc truy vấn, khai phá thông tin.
Chương 1 – Kho dữ liệu và hệ quản trị cơ sở dữ liệu MySQL
3
Hình 1 – Cấu trúc hệ thống kho dữ liệu [6].
1.1.4. Dòng dữ liệu trong kho dữ liệu
Do kho dữ liệu chứa lượng dữ liệu lớn, đồng thời hạn chế thao tác sửa đổi nên rất
thích hợp cho việc phân tích dài hạn và báo cáo. Các thao tác với dữ liệu của kho dữ liệu
chủ yếu dựa trên cơ sở là Mô hình dữ liệu đa chiều (multidimensional data model),
thường áp dụng cho các khối dữ liệu (data cube). Khối dữ liệu là trung tâm của vấn đề cần
phân tích, bao gồm một hay nhiều tập dữ kiện (fact) và các dữ kiện được tạo ra từ nhiều
chiều (dimension) dữ kiện khác nhau.
Chương 1 – Kho dữ liệu và hệ quản trị cơ sở dữ liệu MySQL
4
Hình 2 – Dòng dữ liệu trong kho dữ liệu [5].
1.1.5. Ứng dụng của kho dữ liệu
Kho dữ liệu được đưa vào ba mảng ứng dụng chính.
Theo như cách khai thác truyền thống đối với cơ sở dữ liệu, kho dữ liệu được sử
dụng để khai thác thông tin bằng các công cụ thực hiện truy vấn và báo cáo. Nhờ việc dữ
liệu thô đã được chuyển sang thành các dữ liệu ổn định, có chất lượng nên kho dữ liệu đã
giúp nâng cao kỹ thuật biểu diễn thông tin truyền thống. Dữ liệu đầu vào của các kỹ thuật
này được đặt vào một nguồn duy nhất, giúp loại bỏ nhiều lỗi sinh ra do phải thu thập và
biểu diễn thông tin từ nhiều nguồn khác nhau đồng thời giảm bớt sự chậm trễ do phải lấy
dữ liệu từ những phân đoạn khác nhau, tránh cho người dùng phải viết những truy vấn
SQL quá phức tạp.
Với cách thứ hai, các kho dữ liệu được sử dụng để hỗ trợ cho phân tích trực
tuyến(OLAP). Trong khi ngôn ngữ SQL và các công cụ xây dựng báo cáo truyền thống
chỉ có thể mô tả những gì có trong cơ sở dữ liệu thì phân tích trực tuyến có khả năng phân
tích dữ liệu, xác định xem giả thuyết đúng hay sai. Tuy nhiên, phân tích trực tuyến lại
Chương 1 – Kho dữ liệu và hệ quản trị cơ sở dữ liệu MySQL
5
không có khả năng đưa ra được các giả thuyết. Ngoài ra, sử dụng OLAP còn giúp phân
tích tổng hợp dữ liệu, đưa ra kết quả bằng các báo cáo hoặc bảng biểu trực quan.
Cách thứ ba để khai thác kho dữ liệu là dựa trên các kỹ thuật khai phá dữ liệu. Đây
là một phương pháp mới, đáp ứng được cả những yêu cầu trong nghiên cứu khoa học
cũng như yêu cầu trong thực tiễn. Các kết quả thu được mang nhiều tính dự báo, dự đoán,
dùng trong việc xây dựng kế hoạch, chiến lược.
Các lĩnh vực hiện tại áp dụng kho dữ liệu
- Thương mại điện tử.
- Kế hoạch hoá nguồn lực doanh nghiệp (ERP - Enterprise Resource Planning).
- Quản lý quan hệ khách hàng (CRM - Customer Relationship Management)
- Chăm sóc sức khỏe.
- Viễn thông.
Hình 3 - Ứng dụng kho dữ liệu trong Business Intelligence [5].
Chương 1 – Kho dữ liệu và hệ quản trị cơ sở dữ liệu MySQL
6
1.2. Hệ quản trị cơ sở dữ liệu MySQL
1.2.1. Giới thiệu MySQL
MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới và được
các nhà phát triển ứng dụng rất ưa chuộng. MySQL có tốc độ cao, ổn định và dễ sử dụng,
có tính khả chuyển, hoạt động trên nhiều hệ điều hành, cung cấp một hệ thống lớn các
hàm tiện ích mạnh.Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng
dụng có truy cập cơ sở dữ liệu thông qua Internet. Ta có thể tải MySQL qua Internet, có
nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32 cho các hệ điều hành
dòng Windows, Linux, Mac OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix,
Solaris, SunOS. MySQL là một trong những ví dụ rất cơ bản về hệ quản trị cơ sở dữ liệu
quan hệ sử dụng ngôn ngữ truy vấn có cấu trúc (SQL).
1.2.2. Ƣu điểm và nhƣợc điểm của MySQL
Hệ quản trị cơ sở dữ liệu MySQL có những ƣu điểm nổi bật :
+ MySQL là hệ quản trị cơ sở dữ liệu có tốc độ nhanh, đáng tin cậy, có thể hoạt
động trên nhiều hệ thống.
+ MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở miễn phí, kích thước nhỏ.
+ Nhờ đội ngũ phát triển năng động, tích cực, các phiên bản MySQL ngày càng
hoản thiện, bổ sung nhiều chức năng mới.
Tuy nhiên, MySQL vẫn còn một số hạn chế nhất định :
+ MySQL hoạt động tốt đối với những cơ sở dữ liệu vừa và nhỏ nhưng chưa hỗ trợ
tốt cho các cơ sở dữ liệu có kích thước rất lớn.
+ Trong các phiên bản trước phiên bản 5.0, MySQL không hỗ trợ ROLE, COMMIT
và Stored procedure.
+ Các giao tác (transaction) khi xử lý vẫn còn gặp sai sót.
Chương 2 – Phương pháp khai phá dữ liệu
7
Chƣơng 2 : PHƢƠNG PHÁP KHAI PHÁ DỮ LIỆU
2.1. Khái niệm khai phá dữ liệu
Theo Frawley, Piatetski-Shapiro và Matheus [2] : Khai phá dữ liệu là một bước
trong quá trình Phát hiện tri thức trong cơ sở dữ liệu, thi hành một thuật toán khai phá dữ
liệu để tìm ra các mẫu từ dữ liệu theo khuôn dạng thích hợp.
Về bản chất, khai phá dữ liệu liên quan đến việc phân tích các dữ liệu và sử dụng
các kỹ thuật để tìm ra các mẫu hình có tính chính quy trong tập dữ liệu.
2.2. Các thành phần của giải thuật khai phá dữ liệu
Giải thuật khai phá dữ liệu bao gồm 3 thành phần chính như sau: biểu diễn mô
hình, đánh giá mô hình, tìm kiếm mô hình.
Biểu diễn mô hình: Mô hình được biểu diễn bằng một ngôn ngữ L để mô tả các
mẫu có thể khai thác được. Nếu sự mô tả bị hạn chế quá mức thì sẽ không thể dùng các
mô hình tạo ra để học hoặc sẽ không thể tạo ra được một mô hình chính xác cho dữ liệu.
Việc quan trọng là người phân tích dữ liệu cần phải hiểu đầy đủ các giả thiết mô tả. Một
điều cần thiết khác là người thiết kế giải thuật cần phải diễn tả được rằng các giả thiết mô
tả nào được tạo ra bởi giải thuật nào. Khả năng mô tả mô hình càng lớn thì càng làm tăng
nguy cơ quá trình học diễn ra vượt mức và làm giảm đi khả năng dự đoán các dữ liệu
chưa biết. Hơn nữa, việc tìm kiếm sẽ càng trở nên phức tạp hơn và việc giải thích mô hình
cũng khó khăn hơn.
Mô hình ban đầu được xác định bằng cách kết hợp biến đầu ra (phụ thuộc) với các
biến độc lập mà biến đầu ra phụ thuộc vào. Sau đó phải tìm những tham số mà bài toán
cần tập trung giải quyết. Việc tìm kiếm mô hình sẽ đưa ra được một mô hình phù hợp với
các tham số được xác định dựa trên dữ liệu. Trong một số trường hợp, tập dữ liệu được
chia thành tập dữ liệu học và tập dữ liệu thử. Tập dữ liệu học được sử dụng để làm cho
các tham số của mô hình phù hợp với dữ liệu. Mô hình sau đó sẽ được đánh giá bằng cách
đưa các dữ liệu thử vào mô hình và thay đổi lại các tham số cho phù hợp nếu cần. Mô
hình lựa chọn có thể là phương pháp thống kê như SASS, v.v…, một số giải thuật học
máy, mạng neuron, suy diễn hướng tình huống, các kỹ thuật phân lớp.
Chương 2 – Phương pháp khai phá dữ liệu
8
Đánh giá mô hình: Đánh giá xem một mẫu có đáp ứng được các tiêu chuẩn của
quá trình phát hiện tri thức hay không. Việc đánh giá độ chính xác dự đoán dựa trên đánh
giá chéo. Đánh giá chất lượng mô tả liên quan đến độ chính xác dự đoán, độ mới, khả
năng sử dụng, khả năng hiểu được của mô hình. Cả hai chuẩn thống kê và chuẩn logic
đều có thể được sử dụng để đánh giá mô hình. Việc đánh giá mô hình được thực hiện qua
kiểm tra dữ liệu (trong một số trường hợp kiểm tra với tất cả các dữ liệu, trong một số
trường hợp khác chỉ kiểm tra với dữ liệu thử). Ví dụ như đối với mạng neuron, việc đánh
giá mô hình được thực hiện dựa trên việc kiểm tra dữ liệu (bao gồm cả dữ liệu học và dữ
liệu thử), đối với nhiệm vụ dự đoán thì việc đánh giá mô hình ngoài kiểm tra dữ liệu còn
phải dựa trên độ chính xác của dự đoán.
Phƣơng pháp tìm kiếm: phương pháp tìm kiếm bao gồm hai thành phần: tìm
kiếm tham số và tìm kiếm mô hình. Trong tìm kiếm tham số, giải thuật cần phải tìm kiếm
các tham số để tối ưu hóa các tiêu chuẩn đánh giá mô hình với các dữ liệu quan sát được
và với một mô tả mô hình đã định. Việc tìm kiếm là không cần thiết đối với một số bài
toán trong đó các đánh giá tham số tối ưu có thể đạt được bằng các cách đơn giản hơn.
Đối với các mô hình chung, giải thuật “tham lam” thường được sử dụng lặp đi lặp lại.
Tìm kiếm mô hình xảy ra giống như một vòng lặp qua phương pháp tìm kiếm tham số:
mô tả mô hình bị thay đổi tạo nên một họ các mô hình. Với mỗi mô hình, phương pháp
tìm kiếm tham số được áp dụng để đánh giá chất lượng mô hình. Các phương pháp tìm
kiếm mô hình thường sử dụng các kỹ thuật tìm kiếm heuristic vì kích thước của không
gian các mô hình có thể thường ngăn cản các tìm kiếm tổng thể.
Hai phương pháp khai phá dữ liệu phổ biến được trình bày ở phần sau là Cây quyết
định và Phát hiện luật kết hợp.
2.3. Cây quyết định
Cây quyết định: Cây quyết định là một mô tả tri thức dạng đơn giản nhằm phân các
đối tượng dữ liệu thành một số lớp nhất định. Các nút của cây được gán nhãn là tên các
thuộc tính, các cạnh được gán các giá trị có thể của các thuộc tính, các lá mô tả các lớp
khác nhau. Các đối tượng được phân lớp theo các đường đi trên cây, qua các cạnh tương
ứng với các giá trị của thuộc tính trong đối tượng ở lá. Hình 4 mô tả một mẫu đầu ra có
Chương 2 – Phương pháp khai phá dữ liệu
9
thể của quá trình khai phá dữ liệu dùng phương pháp cây quyết định với tập dữ liệu khách
hàng xin vay vốn. Hai nút của cây được gán nhãn là “Nợ” và “Thu nhập”, các cạnh được
gán nhãn tương ứng để so sánh Nợ với giá trị n, Thu nhập với giá trị t. Các đối tượng lá
ứng với đường đi trong cây, ví dụ lá ngoài cùng bên trái ứng với các đối tượng có Nợ < n
và Thu nhập < t và không được cho vay.
Hình 4 – Ví dụ về cây quyết định.
Tạo luật: Các luật được tạo ra nhằm suy diễn một số mẫu dữ liệu có ý nghĩa về mặt
thống kê. Các luật có dạng “NẾU P THÌ Q”, với P là mệnh đề đúng với một phần trong
cơ sở dữ liệu, Q là mệnh đề dự đoán. Ví dụ ta có một mẫu phát hiện được bằng phương
pháp tạo luật: nếu giá 1 gói bánh giảm đi 5000 đồng thì số lượng bánh bán ra sẽ tăng thêm
5%. Những luật như thế này được sử dụng rất rộng rãi trong việc mô tả tri thức trong hệ
chuyên gia. Chúng có điểm thuận lợi là dễ hiểu đối với người sử dụng.
Cây quyết định và luật có ưu điểm là hình thức mô tả đơn giản, mô hình suy diễn
khá dễ hiểu đối với người sử dụng. Tuy nhiên, giới hạn của chúng là chỉ có thể biểu diễn
được một số dạng chức năng và vì vậy giới hạn về cả độ chính xác của mô hình. Nếu mở
rộng không gian của mô hình để cho phép có nhiều mô tả hơn thì mô hình sẽ dự đoán tốt
hơn nhưng lại rất khó hiểu. Cho đến nay, đã có rất nhiều giải thuật suy diễn sử dụng các
luật và cây quyết định được áp dụng trong học máy và trong thống kê.
Đối với quy mô lớn, người ta dựa trên các phương pháp đánh giá mô hình theo xác
suất với các mức độ mô hình phức tạp khác nhau. Các phương pháp tìm kiếm “tham
lam”, liên quan đến việc tăng và rút gọn các luật và các cấu trúc cây, chủ yếu được sử
dụng để khai thác không gian siêu mũ của các mô hình. Cây và luật chủ yếu được sử dụng
Chương 2 – Phương pháp khai phá dữ liệu
10
cho việc mô hình hóa dự đoán, phân lớp và hồi quy. Chúng cũng có thể được áp dụng cho
việc tóm tắt và mô hình hóa các mô tả.
2.4. Phát hiện các luật kết hợp
Phương pháp này nhằm phát hiện ra các luật kết hợp giữa các thành phần dữ liệu
trong cơ sở dữ liệu. Mẫu đầu ra của giải thuật khai phá dữ liệu là tập luật kết hợp tìm
được. Ta có thể lấy một ví dụ đơn giản về luật kết hợp như sau: sự kết hợp giữa hai thành
phần A và B có nghĩa là sự xuất hiện của A trong bản ghi kéo theo sự xuất hiện của B
trong cùng bản ghi đó: A ⇒ B.
Cho một lược đồ R={A1, …, Ap} các thuộc tính với miền giá trị {0,1}, và một quan
hệ r trên R. Một luật kết hợp trên r được mô tả dưới dạng X⇒B với X⊆R và B∈R\X. Về
mặt trực giác, ta có thể phát biểu ý nghĩa của luật như sau: nếu một bản ghi của bảng r có
giá trị 1 tại mỗi thuộc tính thuộc X thì giá trị của thuộc tính B cũng là 1 trong cùng bản
ghi đó.
Cho W ⊆R, đặt s(W,r) là tần số xuất hiện của W trong r được tính bằng tỷ lệ của các
hàng trong r có giá trị 1 tại mỗi cột thuộc W. Tần số xuất hiện của luật X⇒B trong r được
định nghĩa là s(X∪{B}, r) còn gọi là độ hỗ trợ của luật, độ tin cậy của luật là s(X∪{B},
r)/s(X, r). Ở đây X có thể gồm nhiều thuộc tính, B là giá trị không cố định. Nhờ vậy mà
không xảy ra việc tạo ra các luật không mong muốn trước khi quá trình tìm kiếm bắt đầu.
Điều đó cũng cho thấy không gian tìm kiếm có kích thước tăng theo hàm mũ của số lượng
các thuộc tính ở đầu vào. Do vậy cần phải chú ý khi thiết kế dữ liệu cho việc tìm kiếm các
luật kết hợp.
Nhiệm vụ của việc phát hiện các luật kết hợp là phải tìm tất cả các luật X⇒B sao
cho tần số của luật không nhỏ hơn ngưỡng σ cho trước và độ tin cậy của luật không nhỏ
hơn ngưỡng θ cho trước. Từ một cơ sở dữ liệu ta có thể tìm được hàng nghìn và thậm chí
hàng trăm nghìn các luật kết hợp.
Ta gọi một tập con X⊆R là thường xuyên trong r nếu thỏa mãn điều kiện s(X, r)≥σ.
Nếu biết tất cả các tập thường xuyên trong r thì việc tìm kiếm các luật rất dễ dàng. Vì
vậy, giải thuật tìm kiếm các luật kết hợp trước tiên đi tìm tất cả các tập thường xuyên
Chương 2 – Phương pháp khai phá dữ liệu
11
này, sau đó tạo dựng dần các luật kết hợp bằng cách ghép dần các tập thuộc tính dựa trên
mức độ thường xuyên.
Các luật kết hợp có thể là một cách hình thức hóa đơn giản. Chúng rất thích hợp cho
việc tạo ra các kết quả có dữ liệu ở dạng nhị phân. Hạn chế cơ bản của phương pháp này
là các quan hệ cần phải thưa theo nghĩa không có tập thường xuyên nào chứa nhiều hơn
15 thuộc tính. Giải thuật tìm kiếm các luật kết hợp tạo ra số luật ít nhất phải bằng với số
các tập thường xuyên, và nếu như một tập thường xuyên có kích thước K thì phải có ít
nhất là 2K tập thường xuyên. Thông tin về các tập thường xuyên được sử dụng để ước
lượng độ tin cậy của các tập luật kết hợp.
Chương 3 – Bộ công cụ Business Intelligence
12
Chƣơng 3 : BỘ CÔNG CỤ BUSINESS INTELLIGENCE
3.1. Business Intelligence
3.1.1. Khái niệm Business Intelligence
Business Intelligence (BI - giải pháp quản trị doanh nghiệp thông minh) là một quy
trình, công nghệ cho phép tổ chức, doanh nghiệp khai thác dữ liệu từ nhiều nguồn khác
nhau về khách hàng, thị trường, nhà cung cấp, đối tác, nhân sự... và phân tích, sử dụng
các dữ liệu đó thành các nguồn thông tin có ý nghĩa nhằm hỗ trợ việc ra quyết định. Công
nghệ BI cung cấp một cách nhìn toàn cảnh về hoạt động của doanh nghiệp từ quá khứ,
hiện tại và các dự đoán tương lai. Mục đích của BI là hỗ trợ cho doanh nghiệp ra quyết
định tốt hơn, vì vậy một hệ thống BI còn có thể được coi là hệ thống hỗ trợ quyết đinh.
3.1.2. Các thành phần chính của hệ Business Intelligence
Dữ liệu dùng trong hệ thống BI là dữ liệu tổng hợp từ nhiều nguồn, nhiều định dạng,
phân tán và có tính lịch sử. Đồng thời việc phân tích dữ liệu trong BI không phải là những
phân tích đơn giản mà là những kỹ thuật trong khai phá dữ liệu dùng để phân lớp, phân
cụm, hay dự đoán. Vì vậy BI có mối quan hệ rất chặt chẽ với kho dữ liệu và khai phá dữ
liệu.
Hình 5 – Thành phần của hệ Business Intelligence [1].
Chương 3 – Bộ công cụ Business Intelligence
13
Các thành phần cơ bản của hệ thống Business Intelligence được mô tả như trong
hình 5.
Data Warehouse (Kho dữ liệu): Chứa dữ liệu tổng hợp về hoạt động kinh doanh,
khách hàng, nhân sự …của doanh nghiệp.
Data Mining (Khai phá dữ liệu): Các kỹ thuật dùng để khai phá dữ liệu và phát hiện
tri thức như phân lớp, phân nhóm, phát hiện luật kết hợp, dự đoán,…nhằm tổng hợp thông
tin hữu ích cung cấp cho việc phân tích ra quyết định.
Business Analyst (Phân tích kinh doanh) : Các nhà lãnh đạo doanh nghiệp đưa ra
những quyết định chiến lược đối với hoạt động kinh doanh của doanh nghiệp.
3.1.3. Lợi ích của Business Intelligence đối với doanh nghiệp
Tiết kiệm chi phí : Thông thường để biết được lí do vì sao kết quả kinh doanh tháng
này giảm so với tháng trước, nhà quản lý thường phải tìm hiểu qua nhiều kênh thông tin
khác nhau từ phòng kế toán tới phòng kinh doanh.., nhiều khi tiêu tốn khá nhiều thời gian,
nguồn lực. Còn với giải pháp BI, tận dụng ưu thế có thể phân tích sâu theo nhiều chiều,
nhà quản lý có thể tìm ngay được nguyên nhân bị giảm doanh thu là do đâu, cụ thể vùng
miền nào mà hầu như không cần nhờ đến bất cứ ai. Trong bối cảnh hiện nay, việc giúp
doanh nghiệp truy xuất nhanh gọn thông tin được coi như một giải pháp giúp tiết kiệm chi
phí, nâng cao hiệu quả hoạt động.
Chọn lọc mặt hàng kinh doanh : Bằng cách đo lường các chỉ số đánh giá hiệu quả
hoạt động chủ chốt về số lần bảo hành, các mặt hàng bán chậm nhất hay số khách hàng
mua và tổng doanh thu bán được từ những mặt hàng đó, BI giúp nhà quản lý biết được
những mặt hàng kém hiệu quả, làm tiêu tốn nhiều chi phí cho các hoạt động hỗ trợ, tồn
kho để từ đó ra quyết định loại bỏ hay cải tiến thành một sản phẩm mới.
Phân tích hiệu quả của các chƣơng trình khuyến mãi, quảng cáo : Thông qua
việc thu thập thông tin về số lượng hàng bán, doanh thu, chi phí, số khách hàng mới, số
sản phẩm bán được... của các chương trình khuyến mãi, quảng cáo hệ thống BI sẽ đưa ra
báo cáo phân tích về mức độ hiệu quả của chương trình, từ đó nhà quản lý sẽ biết được
chương trình dạng nào mang lại hiệu quả cao nhất để áp dụng lại cho những lần sau.
Ngoài ra, dựa trên những bảng khảo sát, dữ liệu về bán hàng, BI có thể cho biết tác động
Chương 3 – Bộ công cụ Business Intelligence
14
của những hoạt động đó như thế nào sau mỗi kỳ quảng cáo, tung ra sản phẩm, dịch vụ
mới.
Nâng cao năng lực của nhân viên kinh doanh : Trong doanh nghiệp có nhiều kênh
phân phối, nhiều chi nhánh đại lý, nhân viên kinh doanh được tổ chức thành nhiều cấp
nên việc đo lường và đánh giá hiệu quả làm việc của nhân viên một cách chính xác
thường khó khăn và tốn nhiều thời gian. Để đánh giá đúng phải dựa trên nhiều tiêu chí:
doanh số, số khách hàng mới tìm được, và phải có trọng số riêng cho từng kênh bán
hàng.. Với sự hỗ trợ của hệ thống BI, nhà quản lý có thể đo lường nhiều tiêu chí đánh giá,
từ đó có những quyết định thưởng phạt, điều chỉnh nhân sự chính xác.
Nâng cao hiệu quả phục vụ khách hàng : Nắm bắt thông tin khách hàng ở nhiều
góc độ khác nhau sẽ giúp doanh nghiệp phục vụ khách hàng tốt hơn. Hệ thống BI cung
cấp cho doanh nghiệp cái nhìn tổng thể về khách hàng bằng cách phân loại khách hàng
theo nhiều tiêu chí khác nhau: độ tuổi, giới tính, nơi sinh sống, thu nhập, doanh thu... để
doanh nghiệp có thể cung cấp những sản phẩm phù hợp với nhu cầu của họ hay có thể
thiết kế những chương trình khuyến mãi, quảng cáo riêng cho những khu vực mà những
đối tượng đó tập trung đông nhất.
Đánh giá đối thủ cạnh tranh, mở rộng thị trƣờng : Đối với thị trường cạnh tranh
gay gắt như hiện nay, nhà quản lý không những phải nắm rõ tình hình của doanh nghiệp
mình mà cần phải đánh giá được tiềm lực của đối thủ cạnh tranh trong ngành, nắm được
danh sách những khách hàng tiềm năng để mở rộng thị phần, tìm kiếm thêm khách hàng
mới. Thông qua việc thu thập thông tin từ bên ngoài doanh nghiệp, BI có thể đưa ra báo
cáo so sánh doanh thu, số lượng khách hàng... của doanh nghiệp so với các đối thủ khác
trong ngành. Hoặc khi đối thủ tung ra một chương trình khuyến mãi nào đó, doanh nghiệp
sử dụng hệ thống BI để đo lường doanh thu và số khách hàng của mình, từ đó đối chiếu
với mức độ lôi cuốn của chương trình, nếu số khách hàng giảm đáng kể nhưng doanh thu
vẫn không giảm nhiều chứng tỏ chương trình của đối thủ chỉ thu hút những khách hàng có
giá trị thấp, và ngược lại là chương trình thành công. Từ đó doanh nghiệp có thể học được
ở đối thủ và có những hành động để kéo những khách hàng có giá trị cao về phía mình.
Chương 3 – Bộ công cụ Business Intelligence
15
3.1.4. Các công cụ Business Intelligence
Các công cụ Business Intelligence là các phần mềm ứng dụng được thiết kế để báo
cáo, phân tích và trình bày dữ liệu. Các công cụ này sẽ đọc dữ liệu đã được lưu trữ từ
trước trong các kho dữ liệu hoặc chợ dữ liệu. Các công cụ Business Intelligence rất đa
dạng và có mặt trên hầu hết các hệ điều hành. Nhờ tính tiện dụng và khả năng tạo báo
cáo, phân tích dữ liệu chuyên nghiệp nên các công cụ Business Intelligence thường được
áp dụng trong các tổ chức kinh doanh, thống kê.
Các công cụ Business Intelligence được chia thành những loại chính sau :
- Bảng tính
- Phần mềm truy vấn, báo cáo (công cụ trích chọn, sắp xếp, tổng kết, trình diễn dữ
liệu)
- OLAP (xử lý phân tích trực tuyến)
- Bảng điều khiển kỹ thuật số
- Khai phá dữ liệu
- Khai phá xử lý
- Hệ quản lý hoạt động kinh doanh
- Hệ thống thông tin cục bộ
Một số công cụ Business Intelligence miễn phí,mã nguồn mở tiêu biểu : InetSoft,
InfoZoom, JasperSoft, MicroStrategy, Pentaho, Openl,…
3.1.5. Kết hợp Business Intelligence và MySQL
Hiện nay trên thị trường giải pháp BI đã xuất hiện nhiều bộ sản phẩm của các hãng
lớn như : Oracle Enterprise BI Server (Oracle), SAP Business Objects Enterprise (SAP),
QL Server Analysis Service (Microsoft)…Các sản phẩm này đều đã tập trung giải quyết
các yêu cầu đối với một hệ thống BI hoàn chỉnh. Tuy nhiên, một cản trở lớn đối với các
doanh nghiệp muốn tiếp cận các giải pháp này chính là vấn đề tài chính. Kinh phí để xây
dựng hệ thống BI cũng như cơ sở dữ liệu tương ứng là không nhỏ. Đồng thời, các hệ
Chương 3 – Bộ công cụ Business Intelligence
16
thống này thường đi kèm với những cơ sở dữ liệu tương đối phức tạp như Oracle, MS
SQL Server, đòi hỏi phải có những nhân sự được đào tạo tốt để vận hành.
Tận dụng lợi thế của MySQL, hệ quản trị cơ sở dữ liệu mà nguồn mở miễn phí, một
số nhà sản xuất đã cho ra đời các bộ sản phẩm BI trong đó sử dụng hệ quản trị cơ sở dữ
liệu MySQL. Đây là giải pháp tốt cho những doanh nghiệp vừa vả nhỏ. Với kinh phí yêu
cầu thấp, hệ thống BI kết hợp MySQL vẫn thực hiện gần như đầy đủ các chức năng : xây
dựng báo cáo, khai phá dữ liệu, phân tích trực tuyến ….đáp ứng cho việc hỗ trợ ra quyết
định của nhà quản lý.
Trong thực tế, BI mang lại lợi ích rõ nét nhất cho các doanh nghiệp ngành hàng tiêu
dùng, giải khát, thực phẩm khi mà yếu tố về thời gian được đặt lên hàng đầu. Trên thế
giới, BI đã trở thành công cụ quản trị quen thuộc của nhiều tên tuổi lớn như: BMW,
Coca-Cola, Unilever… Còn tại Việt Nam, một số công ty lớn đã và đang triển khai BI và
coi đó như một lợi thế của mình. Trong thời gian tới, khi những bộ sản phẩm BI kết hợp
MySQL đã khắc phục được vấn đề về tài chính, giải pháp này chắc chắn sẽ được áp dụng
rộng rãi.
3.2. Kỹ thuật OLAP
3.2.1. Khái niệm OLAP
Xử lý phân tích trực tuyến (OLAP - Online Analitical Proccessing) là phương pháp để
trả lời những truy vấn đa chiều một cách nhanh chóng. OLAP là một phần của hệ
Business Intelligence, cùng với báo cáo quan hệ và khai phá dữ liệu. Nó cho phép người
sử dụng phân tích dữ liệu qua việc cắt lát (slice) dữ liệu theo nhiều khía cạnh khác nhau,
khoan xuống (drill down) mức chi tiết hơn hay cuộn lên (roll up) mức tổng hợp hơn của
dữ liệu. Bản chất cốt lõi của OLAP là dữ liệu được lấy ra từ kho dữ liệu hoặc từ Datamart
(kho dữ liệu chủ đề) sau đó được chuyển thành mô hình đa chiều và được lưu trữ trong
một kho dữ liệu đa chiều. Đối tượng chính của OLAP là khối, một sự biểu diễn đa chiều
của dữ liệu chi tiết và tổng thể. Một khối bao gồm một bảng sự kiện (Fact), một hoặc
nhiều bảng chiều (Dimensions), các đơn vị đo (Measures) và các phân hoạch (Partitions).
Những ứng dụng tiêu biểu của OLAP : báo cáo bán hàng, báo cáo marketing, báo cáo
Chương 3 – Bộ công cụ Business Intelligence
17
quản lý, dự thảo ngân sách, báo cáo tài chính,….Thuật ngữ OLAP có thể coi là một biến
thể nhỏ của thuật ngữ cơ sở dữ liệu truyền thống OLTP (Xử lý giao tác trực tuyến).
Trong khi Data warehouse và data mart lưu trữ dữ liệu cho phân tích, thì OLAP là
kỹ thuật cho phép các ứng dụng client truy xuất hiệu quả dữ liệu này. OLAP cung cấp
nhiều lợi ích cho người phân tích, ví dụ:
- Cung cấp mô hình dữ liệu đa chiều trực quan cho phép dễ dàng lựa chọn, định
hướng và khám phá dữ liệu.
- Cung cấp một ngôn ngữ truy vấn phân tích, cung cấp sức mạnh để khám phá các
mối quan hệ trong dữ liệu kinh doanh phức tạp. Dữ liệu được tính toán trước đối
với các truy vấn thường xuyên nhằm làm cho thời gian trả lời rất nhanh đối với các
truy vấn đặc biệt.
- Cung cấp các công cụ mạnh giúp người dùng tạo các khung nhìn mới của dữ liệu
dựa trên một tập các hàm tính toán đặc biệt.
OLAP được đặt ra để xử lý các truy vấn liên quan đến lượng dữ liệu rất lớn mà nếu
cho thực thi các truy vấn này trong hệ thống OLTP sẽ không thể cho kết quả hoặc sẽ mất
rất nhiều thời gian.
3.2.2. Các thành phần trong hệ thống OLAP
Khối (Cube) : Khối là phần tử chính trong xử lý phân tích trực tuyến, là tập con dữ
liệu từ kho dữ liệu, được tổ chức và tổng hợp trong các cấu trúc đa chiều. Để xác định
một khối, ta chọn một bảng Fact và các đơn vị đo lường đồng nhất (các cột số theo sự
quan tâm của người dùng khối) trong bảng Fact. Sau đó chọn các chiều, mỗi chiều gồm
một hay nhiều cột từ bảng liên quan khác. Các chiều cung cấp mô tả rõ ràng bởi các đơn
vị đo lường được chia ra của người dùng khối.
Chiều (Dimension) : Các chiều là cách mô tả chủng loại mà theo đó các dữ liệu số
trong khối được phân chia để phân tích. Khi xác định một chiều, chọn một hoặc nhiều cột
của một trong các bảng liên kết (bảng chiều). Nếu ta chọn các cột phức tạp thì tất cả cần
có quan hệ với nhau, chẳng hạn các giá trị của chúng có thể được tổ chức theo hệ thống
phân cấp đơn. Để xác định hệ thống phân cấp, sắp xếp các cột từ chung nhất tới cụ thể
Chương 3 – Bộ công cụ Business Intelligence
18
nhất. Ví dụ: một chiều thời gian (Time) được tạo ra từ các cột Năm, Qúy, Tháng, Ngày
(Year, Quarter, Month và Day).
Mỗi cột trong chiều góp phần vào một cấp độ cho chiều. Các cấp độ được sắp đặt
theo nét riêng biệt và được tổ chức trong hệ thống cấp bậc mà nó thừa nhận các con
đường hợp logic cho việc đào sâu (drill_down).
Chiều có phân cấp : Phân cấp là cột sống của việc gộp dữ liệu hay nói một cách
khác là dựa vào các phân cấp mà việc gộp dữ liệu mới có thể thực hiện được. Phần lớn
các chiều đều có một cấu trúc đa mức hay phân cấp. Nếu chúng ta làm những quyết định
về giá sản phẩm để tối đa doanh thu thì chúng ta cần quan sát ở những dữ liệu về doanh
thu sản phẩm được gộp theo giá sản phẩm, tức là chúng ta đã thực hiện một cách gộp. Khi
cần làm những quyết định khác thì chúng ta cần thực hiện những phép gộp tương ứng
khác. Như vậy có thể có quá nhiều tiến trình gộp. Thế nên các tiến trình gộp này cần phải
được thực hiện một cách rất dễ dàng, linh hoạt để có thể hỗ trợ những phân tích không
hoạch định trước. Điều này có thể được giải quyết trên cơ sở có sự trợ giúp của những
phân cấp rộng và sâu.
Roll_up và Drill_down : Dựa trên phân cấp theo chiều, từ một mức dưới, chúng ta
có thể cuộn lên (Roll_up) các mức trên, thực hiện một phép gộp, để có được kết qủa tổng
hợp hơn. Và từ một mức trên, có thể khoan sâu xuống (Drill_down) các mức dưới, để có
các kết quả chi tiết hơn.
Các đơn vị đo lƣờng (Measures) : Các đơn vị đo của khối là các cột trong bảng
Fact. Các đơn vị đo lường xác định những giá trị số từ bảng Fact mà được tổng hợp phân
tích như định giá, trị giá, hoặc số lượng bán.
3.3. Pentaho – Business Intelligence Server
3.3.1. Tổng quan về Pentaho
Pentaho là một bộ phần mềm mã nguồn mở trong lĩnh vực Business Intelligence. Bộ
phần mềm Pentaho BI Suite Enterprise Edition cung cấp các ứng dụng toàn diện về báo
cáo, phân tích OLAP, dashboard, phân tích dữ liệu, khai phá dữ liệu và một hệ thống nền
tảng BI. Điều này giúp cho Pentaho trở thành bộ công cụ BI mã nguồn mở rộng rãi nhất
Chương 3 – Bộ công cụ Business Intelligence
19
trên thế giới. Pentaho có tính linh hoạt cao, có thể được nhúng trong ứng dụng khác, tùy
biến các bài toán BI, hoặc triển khai như một ứng dụng hoàn chỉnh tích hợp nền tảng BI.
Pentaho là một trong những nhà sản xuất tiên phong trong lĩnh vực phần mềm BI
thương mại mã nguồn mở. Qua nhiều năm, sản phẩm của Pentaho đã được tải về trên 3
triệu lượt và được triển khai cho các công ty với các quy mô khác nhau, từ các tổ chức
nhỏ cho tới The Global 2000.
Hình 6 – Cấu trúc của Pentaho Business Intelligence [12].
3.3.2. Khả năng và lợi ích của Pentaho
Pentaho hỗ trợ theo chuẩn Java trên nền mã nguồn mở nên có thể hoạt động trên
nhiều môi trường khác nhau. Ngoài ra, Pentaho dễ tích hợp với dữ liệu nguồn, cổng và
ứng dụng khác sử dụng mã nguồn mở.
Chương 3 – Bộ công cụ Business Intelligence
20
Khả năng tùy biến rộng sử dụng API, web service, sửa đổi các khung mẫu hay thậm
chí sửa đổi mã nguồn giúp cho việc triển khai, phát triển dễ dàng. Các tiến trình có thể
được nhúng vào để BI xử lý, và tích hợp với qui trình kinh doanh bên ngòai.
Kết hợp kiểm tra theo dõi hoạt động của người sử dụng, sự thực hiện và sự truy
nhập nội dung, luôn đảm bảo tính toàn vẹn, chính xác và ổn định của dữ liệu.
3.4. Mondrian – OLAP Server
3.4.1. Mondrian
Mondrian là một máy chủ OLAP mã nguồn mở hỗ trợ cho việc xây dựng những ứng
dụng Business Intelligence trên nền web. Mondrian được viết trên nền Java, không yêu
cầu hệ lưu trữ ngoài, đọc dữ liệu trực tiếp từ hệ quản trị cơ sở dữ liệu quan hệ và sử dụng
bộ đệm để đưa ra câu trả lời cho những truy vấn một cách nhanh chóng. Nó cho phép
phân tích các tập hợp dữ liệu lớn trong các cơ sở dữ liệu SQL.
3.4.2. Schema Workbench
Mondrian Schema Workbench là một ứng dụng cho phép tạo và thử nghiệm các
OLAP cube một cách trực quan. Bộ công cụ Mondrian sẽ xử lý các yêu cầu MDX kèm
theo các giản đồ ROLAP. Những tệp giản đồ này là những mô hình XML được tạo ra
theo một cấu trúc đặc biệt. Những mô hình XML có thể được xem như là những cấu trúc
giống như cube, sử dụng những bảng FACT và bảng DIMENSION có sẵn trong hệ quản
trị cơ sở dữ liệu quan hệ (RDBMS). Nó không yêu cầu phải có một cube thực sự nào, chỉ
cần mô hình dữ liệu được khởi tạo.
Schema Workbench cung cấp các chức năng sau :
- Biên tập giản đồ kết hợp với các nguồn dữ liệu.
- Kiểm tra các truy vấn MDX thông qua giản đồ và cơ sở dữ liệu.
- Kiểm tra cấu trúc của cơ sở dữ liệu.
Chương 3 – Bộ công cụ Business Intelligence
21
3.5. Weka – Khai phá dữ liệu
Weka (viết tắt của Waikato Environment for Knowledge Analysis) là môi trường
thử nghiệm khai phá dữ liệu do các nhà khoa học thuộc trường Đại học Waitako, NZ,
khởi xướng và được sự đóng góp của rất nhiều nhà nghiên cứu trên thế giới. Weka là
phần mềm mã nguồn mở, cung cấp công cụ trực quan và sinh động cho mọi người tìm
hiểu về khai phá dữ liệu. Weka cung cấp nhiều giải thuật khác nhau với nhiều phương
thức cho quá trình xử lý để ước lượng kết quả bằng sơ đồ với bất kì một dữ liệu nào.Weka
còn cho phép các giải thuật học mới phát triển có thể tích hợp vào môi trường của nó. Hệ
thống được viết bằng ngôn ngữ lập trình Java và chạy được trên hầu hết các hệ điều
hành.
Weka có những tính năng chính sau:
- Bao gồm nhiều công cụ đa dạng để thay đổi tập dữ liệu, xử lý dữ liệu, giải thuật
học và phương pháp đánh giá.
- Giao diện đồ họa người dùng (trực quan hóa dữ liệu).
- Môi trường để so sánh các giải thuật học.
Weka lấy dữ liệu từ các file có định dạng .arff, .cvs , hoặc từ một bảng trong cơ sở
dữ liệu.Tập dữ liệu có thể được tiền xử lý, cho vào trong một sơ đồ, phân chia các lớp kết
quả và thực hiện nó mà không cần viết bất cứ một chương trình nào.
Chương 4 - Ứng dụng Business Intelligence
22
Chƣơng 4 : ỨNG DỤNG BUSINESS
INTELLIGENCE
Việc ứng dụng bộ công cụ Business Intelligence được thể hiện qua 3 bài toán nhỏ :
tạo báo cáo, phân tích OLAP, khai phá dữ liệu. Môi trường thực nghiệm là hệ điều hành
Ubuntu 9.04.
4.1. Tạo báo cáo sử dụng công cụ BI
4.1.1. Giới thiệu cơ sở dữ liệu
Cơ sở dữ liệu của bài toán là một trong số các cơ sở dữ liệu mẫu của hệ quản trị cơ
sở dữ liệu MySQL, được cung cấp từ địa chỉ
Cơ sở dữ liệu gồm có 3 bảng :
- Country (Code, Name, Continet, Region, SurfaceArea, IndepYear, Population,
LifeExpectancy, GNP, GNPOld, LocalName, GovernmentForm, HeadOfState,
Capital, Code2). Trong đó, Code là khóa chính.
- City (ID,CountryCode, Name, District, Population). Trong đó, ID là khóa chính,
CountryCode là khóa ngoài tham chiếu tới thuộc tính Code trong bảng Country.
- CountryLanguage(Language, CountryCode, IsOfficial, Percentage). Trong đó,
(Language,CountryCode) là khóa chính, CountryCode là khóa ngoài tham chiếu
tới thuộc tính Code trong bảng Country.
Chương 4 - Ứng dụng Business Intelligence
23
Hình 7 – Cơ sở dữ liệu về các thành phố.
4.1.2. Bài toán
Đưa ra báo cáo trong đó liệt kê tên thủ đô, dân số, GNP của các nước có sử dụng
ngôn ngữ tiếng Anh và có dân số lớn hơn 100 000 người, phân theo từng khu vực.
Bài toán yêu cầu truy nhập tới dữ liệu ở cả 3 bảng : cột Name, ID của bảng City, cột
Code, Name, Capital, Population, Region của bảng Country, cột Language, CountryCode
của bảng CountryLanguage.
4.1.3. Giải quyết bài toán
Bài toán được giải quyết thông qua chức năng tạo báo cáo của Pentaho.
Bước 1 : Select Data Source
+ Tạo một database mới tên là capital_and_language với truy vấn sau :
SELECT City.Name Capital, Country.Name CountryName, GNP, Region,
Country.Population, Language FROM City JOIN Country ON City.ID = Country.Capital
JOIN CountryLanguage ON CountryLanguage.CountryCode = Country.Code
Chương 4 - Ứng dụng Business Intelligence
24
Hình 8 – Thiết lập Data Source.
Do có thể dùng các tùy chọn của Pentaho để tạo ràng buộc nên truy vấn không nhất
thiết phải thực hiện đủ các ràng buộc của yêu cầu.
Bước 2 : Make Selections
+ Cho Region vào phần Group – Level 1 để phân nhóm theo khu vực.
+ Cho Language vào phần Filters để làm bộ lọc.
+ Các thuộc tính còn lại chuyển vào phần Details.
Bước 3 : Customize Selections
+ Trong phần Details, ta chọn vào Population, chọn chức năng Add a Constraint để
thêm ràng buộc “Population >= 100 000” để lọc ra các nước có dân số lớn hơn 100 000
và cột Population vẫn được hiển thị.
+ Trong phần Filters, ta chọn Language và Add a Constraint “Language exactly
matches English”, đồng thời phần Language sẽ không được hiển thị.
Chương 4 - Ứng dụng Business Intelligence
25
Hình 9 – Thiết lập Constraint.
Bước 4 : Report Settings
+ Chọn Orientation là Portrait, Paper để giá trị mặc định là LETTER.
+ Ngoài ra, ta có thể thêm Header , Footer cho báo cáo và cho từng trang trong báo
cáo.
Chương 4 - Ứng dụng Business Intelligence
26
Hình 10 – Mô tả báo cáo thu được sử dụng Pentaho.
4.2. Khai phá dữ liệu
4.2.1. Giới thiệu cơ sở dữ liệu
Cơ sở dữ liệu dùng để thực nghiệm là cơ sở dữ liệu về khách hàng của 1 ngân hàng,
gồm hơn 100 bản ghi. Mỗi bản ghi có 12 trường : ID, TUOI, GIOITINH, KHU VUC,
THU NHAP, KET HON, XE, TK_THUAKE, TK_HIENTAI, THE CHAP, CHO VAY.
Chương 4 - Ứng dụng Business Intelligence
27
Hình 11 – Mô tả bảng dữ liệu về khách hàng trong ngân hàng.
4.2.2. Bài toán
Từ bảng dữ liệu về khách hàng, tìm ra các luật quyết định và xây dựng cây quyết
định trong việc tiến hành cho vay hoặc không cho vay.
4.2.3. Tiền xử lý
Dữ liệu được tải lên từ cơ sở dữ liệu có tên bankdata, sử dụng chức năng
“Open database” của Weka.
Chương 4 - Ứng dụng Business Intelligence
28
Hình 12 - Tải dữ liệu lên Weka từ MySQL.
Chức năng Preprocess thực hiện việc chuẩn hóa, tiền xử lý dữ liệu thông qua các bộ
lọc (Filter).
Trước tiên, ta chuyển dữ liệu ở cột TUOI thành dạng so sánh gồm 3 nấc :
- Nếu TUOI <= 30, gán TUOI = 1
- Nếu 30 < TUOI < 60, gán TUOI = 2
- Nếu TUOI >= 60, gán TUOI = 3
Việc này được thực hiện bởi bộ lọc MathExpression.
Chương 4 - Ứng dụng Business Intelligence
29
Hình 13 – Chọn bộ lọc MathExpression.
Các thông số của bộ lọc được thay đổi, với hàm so sánh thêm vào :
expression : “ifelse(A<=30,1,ifelse(A<60,2,3))
ignore range : 2 (số hiệu của thuộc tính TUOI là 2)
Chương 4 - Ứng dụng Business Intelligence
30
Hình 14 – Thay đổi thông số cho bộ lọc MathExpression.
Tương tự, ta dung bộ lọc MathExpression để chuyển giá trị THU NHAP về theo 3
nấc :
- Nếu THU NHAP <= 1000, gán THU NHAP = 1
- Nếu 1000 < THU NHAP < 2000, gán THU NHAP = 2
- Nếu THU NHAP >= 2000, gán THU NHAP = 3
Hình 15 – Sử dụng MathExpression để gán lại giá trị cho trường THU NHAP.
Chương 4 - Ứng dụng Business Intelligence
31
Sau khi 2 trường TUOI, THU NHAP đã được gán lại giá trị, ta cần chuyển toàn bộ
các trường kiểu Numeric sang Nominal sử dụng bộ lọc NumericToNominal.
Hình 16 – Chọn bộ lọc NumericToNominal.
Với dữ liệu đã chuyển sang định dạng Nominal, việc tiếp theo ta chuyển các nấc giá
trị của trường TUOI sang đánh giá cụ thể :
TUOI = 1 (Thanh nien)
TUOI = 2 (Trung nien)
TUOI = 3 (Gia)
Bộ lọc AddValues cho phép thêm giá trị vào 1 trường được chỉ định.
Chương 4 - Ứng dụng Business Intelligence
32
Hình 17 – Chọn bộ lọc AddValues.
Hình 18 – Thiết lập thông số cho bộ lọc AddValues.
Chương 4 - Ứng dụng Business Intelligence
33
Trong chức năng Edit, ta chọn trường TUOI, sử dụng chức năng “Replace values
with” để thay thế giá trị trong trường TUOI.
Hình 19 – Sử dụng chức năng Replace Value trong phần Edit.
Chương 4 - Ứng dụng Business Intelligence
34
Hình 20 – Lựa chọn giá trị cần thay thế.
Hình 21 – Lựa chọn giá trị thay thế.
Chương 4 - Ứng dụng Business Intelligence
35
Tương tự, ta thay giá trị 2 trong trường TUOI thành “Trung nien”, thay giá trị 3
bằng “Gia”.
Lặp lại các bước trên, giá trị trong trường THU NHAP cũng được quy về 3 nấc :
“Thap”, “TB”, “Cao”.
4.2.4. Thực hiện thuật toán phân lớp
Trong phần Classify, chứa các thuật toán phân lớp thường được sử dụng , tiêu biểu
là xây dựng cây quyết định.
Hình 22 – Lựa chọn xây dựng cây quyết định theo J48.
Chương 4 - Ứng dụng Business Intelligence
36
Hình 23 - Cây quyết định thu được khi dùng Classifier J48.
4.2.5. Xây dựng luật kết hợp
Phần Associate cho phép xây dựng, tìm kiếm những luật kết hợp dựa trên cơ sở dữ
liệu. Có một số thuật toán xây dựng luật kết hợp mà hệ thống đã hỗ trợ sẵn, người sử
dụng chỉ cần chọn ra trong giao diện.
Chương 4 - Ứng dụng Business Intelligence
37
Hình 24 – Lựa chọn xây dựng luật kết hợp theo thuật toán Apriori.
Chương 4 - Ứng dụng Business Intelligence
38
Hình 25 – Kết quả thu được khi tạo luật kết hợp sử dụng thuật toán Apriori.
4.2.6. Nhận xét kết quả
Trong phần tạo cây quyết định, hệ thống trả về một cây quyết định với lá là các tình
trạng hiện tại của khách hàng.
Phần tạo luật kết hợp, theo như thực nghiệm bài toán ta thu được 10 luật kết hợp với
độ tin cậy cao (từ 0.9 trở lên) :
1. THU NHAP=Cao TK_THUAKE=C
2. GIOITINH=nu THE CHAP=K CHO VAY=C TK_HIENTAI=C
3. KHU VUC=NT THE CHAP=K
4. THU NHAP=Cao KET HON=C TK_THUAKE=C
Chương 4 - Ứng dụng Business Intelligence
39
5. THU NHAP=Cao TK_HIENTAI=C TK_THUAKE=C
6. GIOITINH=nu TK_THUAKE=C THE CHAP=K TK_HIENTAI=C
7. GIOITINH=nu TK_THUAKE=C CHO VAY=C TK_HIENTAI=C
8. KET HON=K CHO VAY=C THE CHAP=K
9. KET HON=C XE=K THE CHAP=K CHO VAY=C TK_HIENTAI=C
10. GIOITINH=nu KET HON=C TK_THUAKE=C THE CHAP=K
TK_HIENTAI=C
Các luật đều có cấu trúc chung AB. Trong đó A là mệnh đề điều kiện, có thể do
nhiều mệnh đề đơn kết hợp, B là mệnh đề được suy ra nếu các mệnh đề của A được thỏa
mãn. Ví dụ trong luật kết hợp số 2 :
GIOITINH=nu THE CHAP=K CHO VAY=C TK HIENTAI=C
Luật này có thể được hiểu rằng : Nếu khách hàng là nữ, không có thế chấp nhưng
vẫn được cho vay thì hiện tại phải có tài khoản trong ngân hàng. Chỉ cố conf(1) có nghĩa
là với 19 trường hợp đáp ứng giả thuyết (GIOITINH=nu THE CHAP=K CHO VAY=C)
thì kết luận cũng đều được đáp ứng (TK HIENTAI=C).
Do trong trường hợp này tập dữ liệu học là toàn bộ bảng Khách hàng nên kết quả
thu được dùng để kiểm chứng cho những khách hàng mới. Dựa vào những luật kết hợp
thu được, nhà phân tích có thể đưa ra các quyết định có nên cho đối tượng vay tiền hay
không hoặc phát triển việc cho vay vốn đối với các đối tượng tùy theo tình trạng gia đình,
tài khoản, thu nhập…
40
KẾT LUẬN
Việc tổng hợp, phân tích thông tin từ những nguồn dữ liệu khác nhau luôn là vấn đề
đáng quan tâm đối với các tổ chức có khối lượng dữ liệu lớn. Trong lĩnh vực kinh doanh,
lượng dữ liệu về khách hàng, quá trình kinh doanh, biến động thị trường chứa đựng nhiều
thông tin hữu ích cho các công ty. Nhiều giải pháp khai thác nguồn thông tin này đã được
đưa ra. Trong đó, Business Intelligence là một giải pháp mới với nhiều bộ công cụ hỗ trợ.
Trong luận văn này, tôi đã trình bày một số kiến thức cơ bản về bộ công cụ Business
Intelligence Pentaho và ứng dụng trong dữ liệu thực : tạo báo cáo và khai phá dữ liệu. Kết
quả của các ứng dụng này có thể được liên kết để tạo thành hệ hỗ trợ quyết định trong
kinh doanh.
Do thời gian có hạn nên khóa luận mới chỉ dừng ở mức mô tả chức năng của các
công cụ trong bộ công cụ Business Intelligence. Nếu có điều kiện phát triển, cần nghiên
cứu tổng hợp kết quả từ các công cụ, tiến tới làm thành một hệ hỗ trợ quyết định hoàn
chỉnh.
Với ưu điểm là bộ công cụ mã nguồn mở nên Pentaho thích hợp để áp dụng cho
những tổ chức vừa và nhỏ do tiết kiệm được chi phí. Vì thế tương lai gần, các hệ Business
Intelligence có thể sẽ sớm được áp dụng rộng rãi tại Việt Nam.
41
TÀI LIỆU THAM KHẢO
Tiếng Việt
[1] Business Intelligence là gì.
[2] Hà Quang Thụy (chủ biên). Giáo trình khai phá dữ liệu Web. Nxb Giáo dục Việt Nam.
2009.
[3] Kho dữ liệu và các ứng dụng.
[4] Nguyễn Thành Đạt, Nguyễn Ngọc Anh. Advances Topics in Database Systems. 2009.
[5] Phạm Văn Quang, Đỗ Thị Luân. Tiểu luận Datamining vs OLAP. 2009.
[6] Wikipedia về kho dữ liệu.
Tiếng Anh
[7] Deduction Engineering and Machine Learning – WEKA. The University of Waikato,
2003.
[8] Introducing the Pentaho BI Suite Community Edition.
[9] Julian Hyde, Lance Walter. OLAP for MySQL using Pentaho’s Mondrian.
[10] Pentaho homepage.
[11] Remko R. Bouckaert, Eibe Frank, Mark Hall, Richard Kirkby, Peter Reutemann,
Alex Seeward, David Scuse. Weka Manual for Version 3.7.0. The University of Waikato,
2009.
[12] Seth Grimes. MySQL V5 – Ready for Prime Time Business Intelligence. Alta Plana
Corporation.
[13] William H. Inmon. Building the Data Warehouse Fourth Edition. Wiley, 2005.
[14] Zdravko Markov, Ingrid Russell. An Introduction to the WEKA Data Mining
System.
Các file đính kèm theo tài liệu này:
- LUẬN VĂN-NGHIÊN CỨU ỨNG DỤNG BỘ CÔNG CỤ BUSINESS INTELLIGENCE TRONG VIỆC XỬ LÝ SỐ LIỆU CỦA HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL.pdf