Khai thác dữ liệu - Ngôn ngữ truy vấn

Ngôn ngữ truy vấn khai thác dữ liệu (DMQL) được đề xuất bởi Han, Fu, Wang, et al. cho hệ thống khai thác dữ liệu DBMiner. Ngôn ngữ truy vấn khai thác dữ liệu thực sự dựa trên Ngôn ngữ truy vấn có cấu trúc (SQL). Ngôn ngữ truy vấn khai thác dữ liệu có thể được thiết kế để hỗ trợ khai thác dữ liệu đặc biệt và tương tác. DMQL này cung cấp các lệnh để chỉ định các nguyên thủy. DMQL cũng có thể hoạt động với cơ sở dữ liệu và kho dữ liệu. DMQL có thể được sử dụng để xác định các nhiệm vụ khai thác dữ liệu. Đặc biệt, chúng tôi kiểm tra cách xác định kho dữ liệu và trung tâm dữ liệu trong DMQL.

Cú pháp cho đặc tả dữ liệu liên quan đến nhiệm vụ

Đây là cú pháp của DMQL để chỉ định dữ liệu liên quan đến nhiệm vụ -

use database database_name

or 

use data warehouse data_warehouse_name
in relevance to att_or_dim_list
from relation(s)/cube(s) [where condition]
order by order_list
group by grouping_list

Cú pháp để xác định loại kiến ​​thức

Ở đây chúng ta sẽ thảo luận về cú pháp cho Đặc tính, Phân biệt, Liên kết, Phân loại và Dự đoán.

Đặc tính hóa

Cú pháp để mô tả đặc điểm là -

mine characteristics [as pattern_name]
   analyze  {measure(s) }

Mệnh đề phân tích, chỉ định các số đo tổng hợp, chẳng hạn như đếm, tổng hoặc đếm%.

Ví dụ -

Description describing customer purchasing habits.
mine characteristics as customerPurchasing
analyze count%

Phân biệt đối xử

Cú pháp cho Phân biệt đối xử là -

mine comparison [as {pattern_name]}
For {target_class } where  {t arget_condition } 
{versus  {contrast_class_i }
where {contrast_condition_i}}  
analyze  {measure(s) }

Ví dụ: người dùng có thể xác định những người chi tiêu lớn là những khách hàng mua các mặt hàng có giá trung bình từ 100 đô la trở lên; và những người chi tiêu ngân sách là những khách hàng mua các mặt hàng trung bình dưới 100 đô la. Việc khai thác các mô tả phân biệt đối với khách hàng từ mỗi danh mục này có thể được chỉ định trong DMQL như:

mine comparison as purchaseGroups
for bigSpenders where avg(I.price) ≥$100
versus budgetSpenders where avg(I.price)< $100
analyze count

Hiệp hội

Cú pháp cho Hiệp hội là−

mine associations [ as {pattern_name} ]
{matching {metapattern} }

Ví dụ -

mine associations as buyingHabits
matching P(X:customer,W) ^ Q(X,Y) ≥ buys(X,Z)

trong đó X là khóa quan hệ khách hàng; P và Q là các biến vị ngữ; và W, Y và Z là các biến đối tượng.

Phân loại

Cú pháp cho Phân loại là -

mine classification [as pattern_name]
analyze classifying_attribute_or_dimension

Ví dụ: để khai thác các mẫu, phân loại xếp hạng tín dụng của khách hàng trong đó các lớp được xác định bởi thuộc tính credit_rating và phân loại của tôi được xác định là ClassCustomerCreditRating.

analyze credit_rating

Sự dự đoán

Cú pháp để dự đoán là -

mine prediction [as pattern_name]
analyze prediction_attribute_or_dimension
{set {attribute_or_dimension_i= value_i}}

Cú pháp cho đặc điểm kỹ thuật phân cấp khái niệm

Để chỉ định phân cấp khái niệm, hãy sử dụng cú pháp sau:

use hierarchy <hierarchy> for <attribute_or_dimension>

Chúng tôi sử dụng các cú pháp khác nhau để xác định các loại phân cấp khác nhau như−

-schema hierarchies
define hierarchy time_hierarchy on date as [date,month quarter,year]
-
set-grouping hierarchies
define hierarchy age_hierarchy for age on customer as
level1: {young, middle_aged, senior} < level0: all
level2: {20, ..., 39} < level1: young
level3: {40, ..., 59} < level1: middle_aged
level4: {60, ..., 89} < level1: senior

-operation-derived hierarchies
define hierarchy age_hierarchy  for age  on customer  as
{age_category(1), ..., age_category(5)} 
:= cluster(default, age, 5) < all(age)

-rule-based hierarchies
define hierarchy profit_margin_hierarchy  on item  as
level_1: low_profit_margin < level_0:  all

if (price - cost)< $50
   level_1:  medium-profit_margin < level_0:  all
   
if ((price - cost) > $50)  and ((price - cost) ≤ $250)) 
   level_1:  high_profit_margin < level_0:  all

Cú pháp cho đặc điểm kỹ thuật đo lường mức độ thú vị

Người dùng có thể chỉ định các ngưỡng và mức độ thú vị bằng câu lệnh:

with <interest_measure_name>  threshold = threshold_value

Ví dụ -

with support threshold = 0.05
with confidence threshold = 0.7

Cú pháp để trình bày mẫu và đặc tả trực quan

Chúng tôi có một cú pháp, cho phép người dùng chỉ định hiển thị các mẫu được phát hiện trong một hoặc nhiều biểu mẫu.

display as <result_form>

Ví dụ -

display as table

Đặc điểm kỹ thuật đầy đủ của DMQL

Là người quản lý thị trường của một công ty, bạn muốn mô tả đặc điểm thói quen mua hàng của những khách hàng có thể mua các mặt hàng có giá không dưới 100 đô la; liên quan đến tuổi của khách hàng, loại mặt hàng đã mua và nơi mua mặt hàng đó. Bạn muốn biết tỷ lệ khách hàng có đặc điểm đó. Đặc biệt, bạn chỉ quan tâm đến các giao dịch mua hàng được thực hiện tại Canada và được thanh toán bằng thẻ tín dụng American Express. Bạn muốn xem các mô tả kết quả dưới dạng một bảng.

use database AllElectronics_db
use hierarchy location_hierarchy for B.address
mine characteristics as customerPurchasing
analyze count%
in relevance to C.age,I.type,I.place_made
from customer C, item I, purchase P, items_sold S,  branch B
where I.item_ID = S.item_ID and P.cust_ID = C.cust_ID and
P.method_paid = "AmEx" and B.address = "Canada" and I.price ≥ 100
with noise threshold = 5%
display as table

Tiêu chuẩn hóa ngôn ngữ khai thác dữ liệu

Việc chuẩn hóa các ngôn ngữ khai thác dữ liệu sẽ phục vụ các mục đích sau:

  • Giúp phát triển có hệ thống các giải pháp khai thác dữ liệu.

  • Cải thiện khả năng tương tác giữa nhiều hệ thống và chức năng khai thác dữ liệu.

  • Thúc đẩy giáo dục và học tập nhanh chóng.

  • Thúc đẩy việc sử dụng các hệ thống khai thác dữ liệu trong công nghiệp và xã hội.