Sử dụng Microsoft Association Rules

Một phần của tài liệu Báo cáo data mining trong sql server 2008 (Trang 65 - 74)

Chương trình này hoạt động dựa trên nguyên tắc đếm tần số của các mơ hình khi kết hợp các giá trị thuộc tính khác nhau. Nếu xem sự giống nhau là một sự tương quan thì cơng cụ này hoạt động tương tự Microsoft Naıve Bayes, tuy nhiên cơng cụ này hoạt động hồn toàn dựa trên số lần xuất hiện của các itemset chứ không định lượng như Microsoft Naıve Bayes (cơng cụ này tính các xác suất có điều kiện). Ngồi ra, Microsoft Association Rules khơng tính ma trận quan hệ như Microsoft Naıve Bayes vì Microsoft Association Rules chỉ quan tâm tới các luật có ý nghĩa (có xác suất và độ quan trọng đủ lớn).

Để minh họa cho chương trình này chúng ta sử dụng bộ dữ liệu MovieClick. Mục tiêu của chúng ta là dự đoán bộ phim mà khách hàng muốn xem từ các thông tin của khách hàng. Cụ thể, chúng ta sẽ tìm tên bộ phim mà khách hàng muốn xem từ tuổi, trình độ học vấn, giới tính, và tình trạng kết nối Internet của khách hàng.

Sau khi tạo ra MovieClick Data Source View (được trình bày trong chương IV) chúng ta sẽ bắt đầu tạo ra Mining Structure cho Data Source này. Các bước thực hiện như sau

• Đầu tiên chúng ta cần tạo ra quan hệ Customer_Movie chứa các thông tin cần thiết về khách hàng và tên các bộ phim mà khách hàng đó chọn.

o Trong tab MovieClick.dsv [Design], nhấp chuột phải và chọn New Named Query…

o Trong bảng Create Named Query chúng ta sẽ them các thông tin về quan hệ mới. Chọn tên của quan hệ là Customer_Movie. Trong phần Query definition, nhấp chuột phải và chọn Add Table… Sau đó chọn 2 table cần thiết

là Customers và Movie.

o Sau khi có 2 table Customers và Movie chúng ta cần chọn các thông tin được tạo ra trong quan hệ mới, cụ thể, chúng ta sẽ đánh dấu chọn vào các thuộc tính Age, Education level, Gender, Internet Connection trong table Customer và chọn thuộc tính Movie trong table Movie.

o Cuối cùng, cần kết nối 2 bảng trên: chúng ta chỉ cần kéo thuộc tính CustomerID trong table Customer chèn vào thuộc tính CustomerID trong table Movie.

o Sau các bước trên chỉ cần nhấn OK thì quan hệ Customer_Movie sẽ được tạo ra có chứa các thơng tin cần thiết.

• Tiếp theo chúng ta sẽ tạo DataMining Structure cho cơ sở dữ liệu MovieClick đã thêm 1 quan hệ này.

o Đầu tiên, nhấp chuột phải vào mục Mining Structures trong Solution Explore chọn New Mining Structure….

o Khi xuất hiện bảng Welcome to Data Mining Wizard, chọn Next.

o Khi xuất hiện bảng Select The Definition Method, chọn Next. Vì chúng ta sử dụng dữ liệu từ Database MovieClick đã có nên ở đây chúng ta chọn lựa chọn đầu tiên chứ không xây dựng từ một khối (cube).

o Khi xuất hiện bảng Create the Data Mining Structure, chọn thuật toán Microsoft Association Rules, bấm Next.

o Khi xuất hiện bảng Select the DataMing Source View, thì cơ sở dữ liệu MovieClick đã được chọn mặc định, do đó chúng ta chỉ cần chọn Next.

o Tại bảng Specify Table Types chúng ta cần xác định Case và Nested được sử dụng. Chúng ta đang quan tâm tới khách hàng và bộ phim khách hàng đó xem, do đó chúng ta chỉ cần chọn 1 table customer_Movie làm Case là đủ. Sau đó bấm Next.

o Tới bảng Specify the Training Data, như đã nói ở trên, chúng ta muốn tìm cách dự đốn tên phim mà khách hàng xem từ các thơng tin khách hàng, do đó chúng ta chọn CustomerID làm key, và các thơng tin Age, education level, Gender, Internet Connection làm Input. Cuối cùng, tên phim là cái chúng ta

cần đốn, do đó chọn Movie làm Predictable. Sau đó chọn Next. (nếu muốn xem các thơng tin được chọn ảnh hưởng tới dự đốn như thế nào, hãy chọn

Suggest để xem 1 thống kê bằng Entropy.

o Trong bảng Specify Column’s Content and Data Type: lúc này chúng ta cần chọn loại của dữ liệu. Mặc định, Microsoft Association Rules chỉ xử lý các dữ liệu rời rạc, do đó các dữ liệu đã có đều ở đã ở dạng discrete. Chọn Next.

o Trong bảng Completing the Wizard, chọn tên của Mining Strucrure và Model Structure, ở đây chúng tôi dùng tên mặc định là Movie Click 1. Nhấp chuột

• Sau khi DataMing Structure và Model được tạo ra, chúng ta cần Deloy để thực thi chương trình.

Kết quả của quá trình trên sẽ được minh họa và trình bày cụ thể trong phần tiếp theo.

V.1.5. Giải thích về Mining Model Viewer

Sau khi model được xử lý (sau khi Deloy) thì chúng ta có thể xem xét kết quả bằng Mining Model Viewer. Trong Viewer này bao gồm ba phần lớn: Itemsets, Rules,

Dependency Network.

Itemsets tab cho thấy các itemsets phổ biến (frequency itemset) được chương trình tìm ra. Trong tab này, bên cạnh các itemsets chương trình cịn cho chúng ta thấy support và kích thước (size) của chúng. Trong đó, kích thước của 1 itemset là số phần tử của itemset đó. Ngồi ra trong tab cịn có các phần:

• Minimum support: là ngưỡng phổ biến. Các itemset có độ hỗ trợ không nhỏ hơn ngưỡng này sẽ được xuất ra trong tab. Nếu chúng ta chọn ngưỡng này quá nhỏ thì số lượng các itemset được xuất ra sẽ rất lớn (giá trị mặc định là 1).

• Minimum itemset size: dùng lựa chọn kích thước nhỏ nhất của các itemset được xuất ra màn hình.

• Filter itemset: dùng chọn các itemset nào được xuất ra. Ví dụ, nếu chúng ta nhập vào đó Gerder=Male thì chương trình chỉ xuất ra các itemset có giá trị (adsbygoogle = window.adsbygoogle || []).push({});

Gerder=Male. Các Filter này là những biểu thức chính quy (regular expression) và dùng nôn ngữ .NET Framework Regular Expression Language. Đây là một cách lọc rất thuận lợi. Ví dụ, nếu chúng ta nhập .*Godfather.* thì chương trình sẽ xuất ra tất cả các itemset có chứa một trong các phim trong series Godfather. Tuy nhiênm, nếu không quen sử dụng ngơn ngữ này thì chúng ta có thể copy nội dung của itemset bên dưới mà có chứa thơng tin cần lọc, dán vào Filter và loại bỏ các phần không cần thiết.

• Show: có 3 lựa chọn cho phép người dùng chọn cách xuất của itemset ra màn hình. • Show long name: cho phép lựa chọn có xuất ra đầy đủ tên của giá trị khơng nếu giá

trị đó có tên quá dài.

• Maximum rows: là số lượng itemset tối đa được xuất ra. Các itemset sẽ được xuất ra theo nguyên tắc: ưu tiên xuất các itemset có độ hỗ trợ lớn hơn.

Trong đây chúng ta có thể tìm thấy các luật liên kết đủ điều kiện. Tất cả các luật này được thể hiện trong rule grid cùng với xác suất (probability) và độ quan trọng của chúng

(Important). Trong đó, xác suất của 1 luật (cịn gọi là độ tin cậy của luật đó) là khả năng luật đó xảy ra nếu các điều kiện của nó được đáp ứng. Cách tính cụ thể

Probability (A => B) = Probability (B|A) = Support (A, B)/ Support (A)

Công thức trên cho thấy khả năng xảy ra sự kiện B nếu sự kiện A xảy ra, và đó là xác suất của luật (A => B).

Độ quan trọng là 1 độ đo dùng để đo cho tính hữu dụng của luật. Luật càng có độ quan trọng cao thì luật đó càng được xem là “có chất lượng” (qulitied rule). Trong tab này có chứa các tùy chọn giống như itemset tab để người dùng có thể chọn các luật cần xem. Tab thứ 3 là Dependency Network tab.

Như chúng ta thấy, mỗi node trong tab này biểu thị một item, mỗi cạnh tương ứng với một luật. Thanh trượt All links-Strongest links sẽ cho phép bạn lựa chọn các luật có độ quan trọng tùy ý. Nếu một luật nào đó có độ quan trọng nhỏ hơn giá trị tương ứng với mũi tên trên thanh trượt này thì cạnh ứng với luật đó sẽ bị loại bỏ (chỉ loại các cạnh chứ không loại các node). Nếu muốn xem nhiều node và cạnh hơn thì có thể quay lại Rules tab và chọn giá trị Minimum Probility nhỏ lại để xuất hiện nhiều luật hơn.

V.2. Giới thiệu về Microsoft Time Series

Valentine sắp đến là các thông tin quý giá để bạn có thể đặt trước với nhà cung cấp một lượng hàng phù hợp. Một nhà máy sản xuất rượu mới đầy hứa hẹn chỉ mới vừa hoàn thành và đi vào sản xuất vài tuần, mọi người cịn xa lạ với nhãn hiệu của nó, tuy nhiên bạn có thể căn cứ vào tình hình hoạt động của một số nhà máy tương tự trong những vùng khác và ước lượng được số hàng cần đặt. Và nếu biết được khi lượng rượu được tiêu thụ tăng sẽ kéo theo những mặt hàng nào cũng tăng sản lượng thì bạn sẽ biết lượng hàng cần đặt mua hợp lý. Trong tất cả các trường hợp trên bạn đã dùng phương pháp phân tích chuỗi thời gian (time series) để dự đoán lượng hàng tồn kho cần thiết trong tương lai từ những dữ liệu bán hàng đã có. Với phương pháp này bạn co thể tìm ra và vận dụng các sự kiện có tính quy luật, từ các sự kiện hàng tuần cho tới các ngày lễ lớn. cụ thể, bạn sẽ thơng qua tình hình bán hàng trước đây để dự trù lượng hàng cần mua.

Chuỗi thời gian là một tập hợp các dữ liệu được lưu trữ và sắp xếp một cách liên tục theo thời gian (hoặc theo 1 yếu tố sắp xếp chuỗi nào đó). Ví dụ:

Hình : chuỗi thời gian thể hiện giá cổ phiếu của Microsoft trong 12 năm

Từ hình trên chúng ta có thể thấy giá cuối ngày (trong thị trường chứng khoán) của Microsoft là 1 chuỗi thời gian. Hoặc giá cả hàng tháng của một món đồ uống nào đó cũng là chuỗi thời gian. Bất kỳ một tập hợp số nào được lưu trữ theo thời gian cũng là một chuỗi thời gian.

Trong phần lớn chuỗi thời gian thì một giá trị tại một thời điểm nào đó sẽ có quan hệ tới các giá trị tại những thời điểm trước. Ví dụ, giá cuối ngày trong năm 2000 của cổ phiếu Microsoft rất cao là có quan hệ tới giá của 2, 3 năm trước.

Trong 1 chuỗi thời gian thì độ đo được sử dụng (ví dụ như thời gian) có thể liên tục hoặc rời rạc. Ngoài ra, các giá trị thu nhận trong chuỗi cũng có thể liên tục hoặc rời rạc. Ví dụ: giá cổ phiếu, khoảng cách, tốc độ là các giá trị liên tục, cịn các các thơng số như nắng, mưa, u ám, có gió,… trong các bảng báo cáo thời tiết thì rời rạc. Do đó nảy sinh 2 trường hợp

• Một là các dữ liệu có dạng rời rạc trong khi độ đo thì liên tục, và người ta hay gọi tập dữ liệu này là chuỗi thời gian. Microsoft Time Series được sử dụng với tập các dữ liệu này.

• Hai là các dữ liệu có là liên tục nhưng lưu trữ dưới dạng rời rạc, và người ta gọi tập dữ liệu này là chuỗi. Các dữ liệu dạng này được xử lý bằng công cụ Microsoft Sequence Clustering.

Một phần của tài liệu Báo cáo data mining trong sql server 2008 (Trang 65 - 74)