
Tích hợp khai phá dữ liệu trong InfoSphere Warehouse với việc tạo
báo cáo Cognos của IBM
Phần 3: Gọi khai phá động từ Cognos khi sử dụng một ví dụ phân
tích giỏ thị trường
Mở đầu
Khi bạn đang làm việc với lượng dữ liệu lớn, điều quan trọng là bạn hiểu rõ các quy tắc về các
thực thể khác nhau có liên quan với nhau như thế nào. Thường phát hiện ra các quy tắc này là
một quá trình phức tạp. Các quy tắc kết hợp rất đơn giản chỉ là chủ nghĩa hình thức có tác động
mạnh đến các quy tắc mô tả các tập dữ liệu vì chúng biểu thị các thực thể nào có thể xuất hiện
đồng thời với nhau.
Một ví dụ truyền thống về các quy tắc kết hợp có thể thường thấy trong lĩnh vực bán lẻ. Ví dụ,
một quy tắc kết hợp chung là “NẾU trứng VÀ sữa thì SAU ĐÓ là đường” nói lên rằng khi mua
hàng nhiều khách hàng mua trứng và sữa cũng mua đường. Quy tắc này có thể được phát hiện có
hiệu quả thậm chí từ các các tập dữ liệu rất lớn. InfoSphere Warehouse cho phép bạn tìm các quy
tắc này một cách thuận tiện như bài viết này đã mô tả chi tiết.
Bài viết trước của loạt bài này đã mô tả cách trước hết xây dựng mô hình khai phá trong
InfoSphere Warehouse và sau đó xuất bản các kết quả bằng cách sử dụng Cognos. Điều này là
tốt trong một số kịch bản. Tuy nhiên, một nhà phân tích thường muốn tác động đến việc phân
tích tương tác, ví dụ, hạn chế các quy tắc được tìm thấy. Chuyển sang InfoSphere Warehouse
DesignStudio rồi quay lại Cognos mỗi khi thay đổi một tham số thật không thuận tiện chút nào.
Do đó bạn muốn tạo các bản ghi tương tác cho phép người dùng thiết lập các tham số trong một
báo cáo Cognos, tự động gọi khai phá trong nền tảng rồi cung cấp các kết quả trả lại Cognos. Bài
viết này cho bạn thấy cách thực hiện chính xác các bước đó.
Trước tiên, hãy tìm hiểu về nhiệm vụ khai phá quy tắc kết hợp và cách có được nó trong
InfoSphere Warehouse. Sau đó, hãy xem cách gọi động khai phá dữ liệu từ Cognos. Cuối cùng,
hãy xem một ví dụ về việc có thể sử dụng cơ chế này theo thời gian thực.
Về đầu trang
Phân tích giỏ hàng và khai phá quy tắc kết hợp
Các quy tắc kết hợp và các ứng dụng của chúng
Các quy tắc kết hợp mô tả những mục nào thường xảy ra cùng nhau. Khái niệm về một giao dịch
có tầm quan trọng thiết yếu trong ngữ cảnh này. (Một truy cập đơn vào một cửa hàng có thể
được xem như một giao dịch và tất cả các mặt hàng đã mua trong quá trình truy cập này sau đó
đang cùng xuất hiện và được gọi là một giỏ hàng hay tổng quát hơn là giỏ thị trường). Mặc dù,
tất cả các mua sắm của một khách hàng trong suốt một năm cũng có thể được xem như là một
giao dịch. Điều đó phụ thuộc vào loại các quy tắc nào mà bạn quan tâm.

Hãy xem xét một ví dụ đơn giản. Bảng sau đây chứa các giao dịch về các mặt hàng. Mỗi giao
dịch có chứa tất cả các mặt hàng mà một khách hàng đã mua trong một lần truy cập vào một cửa
hàng.
Hình 1. Các giao dịch mẫu
Như bạn thấy, máy tính (PC) được mua khá thường xuyên. Ngoài ra, sự kết hợp của máy tính và
màn hình (Monitor) xuất hiện trong 20% các giao dịch. Như bạn cũng có thể thấy, trong 50%
trường hợp đã mua một máy tính (PC) và màn hình (Monitor), cũng mua một con chuột
(Mouse). Nếu chúng ta lấy điều này làm một quy tắc: [PC, Monitor]->Mouse, ở đây [Pc,
Monitor] là phần thân còn Mouse là phần đầu hoặc phần đích, thì số lượng các giao dịch bao
gồm các phần thân và phần đầu được chia cho số lượng tất cả các giao dịch có hiệu lực được gọi
là sự hỗ trợ (20%). Cách tính này cho chúng ta biết quy tắc này xuất hiện trong dữ liệu thường
xuyên như thế nào. Mặc dù nó không cho chúng ta biết độ chính xác của quy tắc này bằng bao
nhiêu. Độ tin cậy mô tả tỷ lệ phần trăm số lần phần thân của một quy tắc xuất hiện trong một
giao dịch và phần đầu cũng xuất hiện. Điều này mang đến thông tin về tính chính xác của quy tắc
này. Khai phá các quy tắc kết hợp đòi hỏi người sử dụng phải nói sự hỗ trợ và độ tin cậy tối
thiểu. Sau đó thuật toán xác định chính xác các cách kết hợp các mặt hàng và các quy tắc để thực
hiện tiêu chuẩn này
Có nhiều kịch bản ứng dụng trong đó sử dụng khai phá quy tắc kết hợp. Chúng ta đã đề cập đến
một sự khai phá nổi bật nhất: đó là bán lẻ. Ví dụ, các quy tắc kết hợp được dùng để sắp xếp hàng
hóa trong một siêu thị sao cho các sản phẩm thường được mua trong cùng một lần truy cập đến
một cửa hàng được đặt gần nhau. Quan trọng hơn là, sử dụng các quy tắc kết hợp để tận dụng
tiềm năng bán hàng chéo trong thương mại điện tử bằng cách giới thiệu cho những người sử
dụng các mặt hàng nào có thể cần quan tâm thêm nữa với họ. Một lĩnh vực ứng dụng khác là
chăm sóc sức khỏe. Có thể sử dụng các quy tắc kết hợp để tìm hiểu về các vấn đề sức khỏe
thường xuất hiện cùng nhau để cho các bệnh nhân có chẩn đoán cụ thể có thể được khám các vấn
đề sức khỏe phát sinh thường đi kèm với nhau trong chẩn đoán này. Các lĩnh vực ứng dụng khác
bao gồm phát hiện xâm nhập, phân tích bản ghi nhật ký web, các mẫu truy cập cơ sở dữ liệu và
v.v.
Một biến thể hơi khác một chút của các quy tắc kết hợp là các quy tắc tuần tự. Các quy tắc này
không những nói rõ các thực thể nào mà còn nói rõ các sự kiện nào có liên quan đến sự xuất hiện
liên quan của chúng theo thời gian. Ví dụ, các quy tắc như vậy có thể nói rõ rằng các khách hàng

đầu tiên đã mua một máy tính xách tay rồi mua một túi đựng cho nó, có lẽ sẽ mua một con chuột
di động trong một khoảng thời gian sáu tháng. Hầu hết những gì được trình bày trong phần còn
lại của bài viết này cũng áp dụng theo các quy tắc tuần tự.
Khai phá các quy tắc kết hợp trong InfoSphere Warehouse
Khai phá các quy tắc kết hợp được dẫn ra bằng cách gọi một thủ tục đã lưu trữ làm tất cả các
hoạt động khai phá khác trong InfoSphere Warehouse. Các định dạng giao dịch khác nhau được
hỗ trợ và trong phần sau chúng ta sẽ sử dụng một định dạng giao dịch dựa trên trình bày sau đây.
Hình 2. Bảng giao dịch
Để thực hiện khai phá, bạn phải nói cho các thuật toán biết nó tìm thấy các mặt hàng thực tế
trong cột nào và cột nào chứa các thông tin về cách phân nhóm các mặt hàng trong các giao dịch.
Trong trường hợp này, tên của cột này là TRANSID để phân nhóm các mặt hàng theo từng lần
mua hàng của khách hàng. Chúng ta cũng có thể đã sử dụng mã định danh (id) khách hàng làm
một mã định danh nhóm để tìm các cách kết hợp theo toàn bộ lịch sử mua hàng của khách hàng.
Khi sử dụng lệnh SQL IDMMX.BuildRuleModel hoặc toán tử Associations (Các cách kết hợp)
trong DesignStudio, chúng ta gọi khai phá. Bạn phải cung cấp một tên mô hình, tên của bảng
giao dịch, cột nhóm, sự hỗ trợ và độ tin cậy tối thiểu và chiều dài quy tắc tối đa. Xin lưu ý rằng
các mặt hàng được mô tả theo các id. Các tên mặt hàng có thể được thêm vào một bảng ánh xạ
tên trong đó có các id mặt hàng và một sự mô tả tương ứng. Có rất nhiều tùy chọn bổ sung có thể
như phân loại, trọng lượng mặt hàng và v.v.. Xin vui lòng tham khảo hướng dẫn InfoSphere
Warehouse để biết thêm chi tiết.

Các mô hình quy tắc có thể được hiển thị trực quan trong DesignStudio giống như các mô hình
phân loại hay phân cụm. Chúng ta cũng có thể trích xuất thông tin có trong mô hình này vào một
bảng, cũng như với các cụm. Điều này có thể đạt được bằng lệnh IDMMX.DM_getRules hoặc
bằng toán tử Extractor trong DesignStudio. Tập kết quả chứa một quy tắc cho mỗi bản ghi với
thông tin sau:
phần đầu
phần thân
độ tin cậy
hỗ trợ
nâng lên
chiều dài
Bảng có các quy tắc được trích xuất có thể trông như sau:
Hình 3. Bảng các quy tắc
Phần dưới đây cho thấy cách bạn có thể chuyển giao thông tin này tới Cognos để hiển thị trực
quan nó theo cách tiện lợi.
Về đầu trang
Gọi các thủ tục khai phá từ Cognos
Trong bài viết trước, bạn đã thấy rằng có thể gọi thủ tục DB2 đã lưu trữ từ Cognos Reporting
(Việc tạo báo cáo Cognos) bằng cách bao gồm chúng như là Query Subjects (Các truy vấn đối
tượng) trong Cognos Metadata (Siêu dữ liệu Cognos). Điều này làm cho thủ tục đã lưu trữ thực

hiện ngay báo cáo được chạy và sau đó bạn có thể sử dụng nó để trích xuất thông tin từ một mô
hình khai phá PMML (Ngôn ngữ đánh dấu mô hình hóa dự báo) hiện có.
Trong bài này, hãy tiến thêm một bước nữa và tạo một mô hình khai phá động theo một thủ tục
đã lưu trữ được tham số hóa bằng cách sử dụng SQL API của Khai phá InfoSphere Warehouse.
Sau đó thủ tục đã lưu trữ tương tự trích xuất thông tin từ mô hình và trả nó về cho Cognos
Report (Báo cáo Cognos)..
Thực sự chỉ có hai cuộc gọi liên quan đến quá trình tạo các quy tắc và chuyển giao chúng cho
Cognos. Một cuộc gọi để xây dựng mô hình quy tắc trong cơ sở dữ liệu và một cuộc gọi thứ hai
để trích xuất các quy tắc và trả chúng về như là tập kết quả. Tuy nhiên, cuộc gọi để tạo một mô
hình là một thủ tục đã lưu trữ không trả về bất kỳ giá trị nào. Để gọi khai phá từ Cognos, thật lý
tưởng là thực hiện cả hai trong một cuộc gọi duy nhất tới cơ sở dữ liệu.
Để làm được điều này, ý tưởng cơ bản là tạo ra một hàm kết hợp do người dùng định nghĩa để
trước hết gọi quá trình tạo mô hình và sau đó trích xuất các quy tắc và trả chúng về như là một
tập kết quả. Quá trình này được thể hiện trong hình sau.
Hình 4. Các hàm kết hợp do người dùng định nghĩa để khai phá động
Bạn có thể tạo một thủ tục đã lưu trữ được kết hợp bằng thủ công. Tuy nhiên, có khả năng để tạo
ra nó trực quan nhờ sử dụng InfoSphere Warehouse. Bạn sẽ tìm hiểu cách có được điều này bằng
cách làm theo cùng với ví dụ đi dần qua từng bước sau đây.
Sử dụng InfoSphere Warehouse để tạo ra các thủ tục đã lưu trữ khai phá phức tạp
Trước tiên, bạn phải tạo logic khai phá phức tạp. InfoSphere Warehouse có Mining Editor (Trình
soạn thảo khai phá) làm cho nó có thể thiết kế các luồng khai phá (các chuỗi lệnh khai phá) bằng
đồ họa. Các luồng khai phá này có thể được thực hiện trong DesignStudio hoặc được triển khai
đến Bàn điều khiển quản trị của InfoSphere Warehouse (InfoSphere Warehouse Administration
Console) để được chạy trên một cơ sở lịch trình dự kiến. Nhưng do tất cả các hoạt động khai phá
dựa vào SQL, nên nó cũng có thể tạo ra một kịch bản lệnh SQL từ một luồng khai phá (trừ một

