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

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ợ.

pdf50 trang | Chia sẻ: lylyngoc | Lượt xem: 4043 | Lượt tải: 5download
Bạn đang xem trước 20 trang tài liệu 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, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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 AB. 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:

  • pdfLUẬ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