• Tidak ada hasil yang ditemukan

Chương 2. Cơ sở lý thuyết

2.3. KPDL với MS SQL Server

2.3.2. Data Mining eXtensions

DMX – Data Mining eXtensions là một ngôn ngữ truy vấn khai phá dữ liệu được Microsoft định nghĩa trong OLE DB với mục đích dành cho khai phá dữ liệu [9, 11]. Giống như SQL, nó hỗ trợ định nghĩa, thao tác và truy vấn dữ liệu với cú pháp giống SQL. Người sử dụng SQL đã quen với việc các câu lệnh SQL hoạt

26

động trên các bảng quan hệ, tuy nhiên đối với các câu lệnh DMX sẽ hoạt động trên các mô hình khai thác dữ liệu. DMX được dùng để tạo cấu trúc các mô hình khai thác dữ liệu mới, hay huấn luyện, duyệt, quản lý và dự đoán. DMX bao gồm các câu lệnh ngôn ngữ định nghĩa dữ liệu (DDL), câu lệnh thao tác dữ liệu (DML), các hàm và toán tử.

Với DDL cho phép chúng ta có thể:

- Tạo mô hình khai thác dữ liệu mới và cấu trúc khai thác với các toán tử như: CREATE MINING STRUCTURE, CREATE MINING MODEL.

- Xóa các mô hình khai tác dữ liệu và các cấu trúc khai thác với các toán tử như: DROP MINING STRUCTURE, DROP MINING MODEL

- Kết xuất và nhập cấu trúc khai thác với các toán tử: EXPORT, IMPORT - Sao chép dữ liệu từ mô hình khác thác này sang mô hình khai thác khác với toán tử: SELECT INTO

Với DML cho phép chúng ta có thể:

- Huấn luyện mô hình khai thác với toán tử: INSERT INTO

- Duyệt dữ liệu trong các mô hình khai thác với toán tử: SELECT FROM - Đưa ra dự đoán bằng mô hình khai thác với toán tử: SELECT ... FROM PREDICTION JOIN

DMX là ngôn ngữ biến đổi dữ liệu từ bảng với cột và hàng thành dữ liệu dạng case (trường hợp) và attributes (thuộc tính) để phù hợp cho các thuật toán khai thác dữ liệu. Có hai đối tượng chính được sử dụng để biểu hiện sự chuyển đổi này là: cấu trúc khai thác (mining structure) và mô hình khai thác (mining model)

Mining structure chứa tất cả các mô hình được sử dụng để phân tích dữ liệu nguồn. Nó được định nghĩa là danh sách gồm các cột chứa kiểu dữ liệu và thông tin của chúng sẽ mô tả chúng nên được xử lý theo dạng phân loại (categorical) hoặc liên tục (continues). Điều này phù hợp với yêu cầu của mỗi thuật toán cần dữ liệu khác nhau. Ví dụ: Thuật toán Microsoft Naïve Bayes chỉ chấp nhận dữ liệu dạng phân loại, trong khi thuật toán Microsoft Linear Regression chỉ chấp nhận dữ liệu dạng liên tục.

Mining model được coi là tác nhân chính để biến đổi các hàng dữ liệu thành các trường hợp (case) và thực hiện việc học máy bằng thuật toán khai thác dữ liệu được ấn định. Một mining model có thể coi là tập con của các cột dữ liệu

27

trong cấu trúc được sử dụng giống như thuộc tính (nghĩa là chúng có thể là đầu ra, đầu vào hoặc thậm chí là cả), cùng với các tham số thuật toán và thuật toán sẽ được sử dụng để thực hiện học máy trên dữ liệu cấu trúc.

Case trong DMX là một ví dụ duy nhất dùng cung cấp cho thuật toán KPDL. Nó bao gồm một tập hợp các thuộc tính với các giá trị được liên kết với nhau và hầu hết thực tế một ‘Case’ được đại diện bởi một dòng trong bảng với các cột đại diện cho bảng thuộc tính. Ví dụ: Câu hỏi đặt ra là: “Các yếu tố của khách hàng ảnh hưởng đến rủi ro tín dụng”, thì Case ở đây chính là khách hàng và chứa tất cả thông tin bạn biết của khách hàng.

Attribute là yếu tố cơ bản nhất của một truy vấn KPDL. Ví dụ như giới tính một học viên, độ tuổi, điểm số…

Khi lựa chọn thuộc tính cho KPDL, ta nên cẩn thận để lựa chọn thuộc tính có khả năng có liên quan đến truy vấn và cung cấp thông tin có thể được sử dụng bởi các thuật toán KPDL. Nhiều thuộc tính không phải là thích hợp cho việc KPDL.

Chúng ta đề cập đến hai loại thuộc tính sau:

- Thuộc tính phân loại (Categorical) thuộc tính được chia theo thang do định danh không phân biệt dữ liệu nào lớn hơn hay tốt hơn. Ví dụ: nam hay nữ, hoặc mã vùng…

- Thuộc tính liên tục (Continous) là những thuộc tính có giá trị trong khoảng liên tục. Ví dụ: tuổi, thời gian…

Các lệnh truy vấn DMX:

Tạo cấu trúc khai phá (Creating Mining Structure) CREATE MINING STRUCTURE [New Mailing]

(

CustomerKey LONG KEY, Gender TEXT DISCRETE,

[Number Cars Owned] LONG DISCRETE, [Bike Buyer] LONG DISCRETE

)

Tạo MINING STRUCTURE tên là New Mai1ing, với các cột CustomerKey, Gender, Number Cars Owned, Bike Buyer và CustomerKey là thuộc tính khóa.

28

Tạo mẫu khai phá (Creating Mining Models) ALTER MINING STRUCTURE [New Mailing]

ADD MINING MODEL [Naive Bayes]

(

CustomerKey, Gender,

[Number Cars Owned], [Bike Buyer] PREDICT )

USING Microsoft_Naive_Bayes (MAXIMUM_STATES = 50) Tạo mẫu khai phá từ mẫu có sẵn

SELECT * INTO [New_Clustering]

USING [Microsoft_Clustering] (CLUSTER_COUNT = 5) FROM [TM Clustering]

Bộ lọc (Filters)

Sau khi một cấu trúc được xử lý, có thể truy vấn cấu trúc này để tìm những thứ cần tìm.

Select * from [Sequence Clustering].SAMPLE_Cases WHERE IsInNode('000000003')

SELECT DISTINCT [Age] AS [Midpoint Age], RangeMin([Age]) AS [Minimum Age], RangeMax([Age]) AS [Maximum Age]

FROM [TM Decision Tree]

SELECT TOP 500 * FROM [Targeted Mailing].Cases WHERE [Bike Buyer] = 1 ORDER BY Age DESC;

Truy xuất các kết quả (Prediction Function)

DMX cung cấp nhiều hàm để truy xuất các luật và các kết quả của quá trình khai phá và phân tích, từ khóa Predict được sử dụng là cơ bản trong quá trình truy vấn. Trong nhiều trường hợp khác thì ta có thể cung cấp thêm nhiều tham số và tham trị để truy tìm ra kết quả mà mình mong muốn.

29 SELECT

[TM Decision Tree].[Bike Buyer], PredictHistogram([Bike Buyer]) FROM

[TM Decision Tree]

NATURAL PREDICTION JOIN (SELECT 35 AS [Age],

'5-10 Miles' AS [Commute Distance], '1' AS [House Owner Flag],

2 AS [Number Cars Owned], 2 AS [Total Children]) AS t

Ngoài ra còn các hàm Predict khác như: PredictProbability, PredictSupport, PredictAdjustedProbability, PredictVariance PredictStdevall trả về các kết quả như là trong quá trình phân tích:

SELECT

[ĐTB 2].[ĐTBKY2],

PredictHistogram([ĐTB 2].[ĐTBKY2]), PredictProbability([ĐTB 2].[ĐTBKY2])

From [ĐTB 2] NATURAL PREDICTION JOIN

(SELECT 'Kinh' AS [Dantoc], 21.5 AS [Diemthi], 'HSPT' AS [Doituong], 'TB' AS [ĐTBKY1], 'False' AS [Gioitinh], 'A' AS [Khoithi],

'Trinh sát An ninh' AS [Tennganh]) AS t

Dokumen terkait