Язык Data Mining Query Language (DMQL) был предложен Han, Fu, Wang, et al. для системы интеллектуального анализа данных DBMiner. Язык запросов интеллектуального анализа данных фактически основан на языке структурированных запросов (SQL). Data Mining Query Languages могут быть разработаны для поддержки специального и интерактивного анализа данных. Этот DMQL предоставляет команды для определения примитивов. DMQL также может работать с базами данных и хранилищами данных. DMQL может использоваться для определения задач интеллектуального анализа данных. В частности, мы рассмотрим, как определить хранилища данных и витрины данных в DMQL.
Синтаксис для спецификации данных, связанных с задачей
Вот синтаксис DMQL для указания данных, относящихся к задаче —
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
Синтаксис для указания вида знаний
Здесь мы обсудим синтаксис для характеристики, дискриминации, ассоциации, классификации и прогнозирования.
характеристика
Синтаксис для характеристики —
mine characteristics [as pattern_name] analyze {measure(s) }
Предложение анализа определяет совокупные показатели, такие как количество, сумма или количество%.
Например —
Description describing customer purchasing habits. mine characteristics as customerPurchasing analyze count%
дискриминация
Синтаксис для дискриминации —
mine comparison [as {pattern_name]} For {target_class } where {t arget_condition } {versus {contrast_class_i } where {contrast_condition_i}} analyze {measure(s) }
Например, пользователь может определить крупных клиентов как клиентов, которые покупают товары в среднем по 100 долларов или более; и бюджет тратится как клиенты, которые покупают товары в среднем менее чем за 100 долларов. Изучение описания дискриминантов для клиентов из каждой из этих категорий может быть указано в DMQL как —
mine comparison as purchaseGroups for bigSpenders where avg(I.price) ≥$100 versus budgetSpenders where avg(I.price)< $100 analyze count
ассоциация
Синтаксис для ассоциации is-
mine associations [ as {pattern_name} ] {matching {metapattern} }
Например —
mine associations as buyingHabits matching P(X:customer,W) ^ Q(X,Y) ≥ buys(X,Z)
где X — ключ отношения с клиентом; P и Q — переменные предиката; и W, Y и Z являются объектными переменными.
классификация
Синтаксис для классификации —
mine classification [as pattern_name] analyze classifying_attribute_or_dimension
Например, для майнинга шаблонов, классификации кредитного рейтинга клиента, где классы определяются атрибутом credit_rating, а классификация шахты определяется как classifyCustomerCreditRating.
analyze credit_rating
прогнозирование
Синтаксис для прогнозирования —
mine prediction [as pattern_name] analyze prediction_attribute_or_dimension {set {attribute_or_dimension_i= value_i}}
Синтаксис для спецификации иерархии понятий
Чтобы указать иерархии понятий, используйте следующий синтаксис —
use hierarchy <hierarchy> for <attribute_or_dimension>
Мы используем разные синтаксисы для определения различных типов иерархий, таких как:
-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
Синтаксис для спецификации мер интереса
Меры и пороги заинтересованности могут быть указаны пользователем с помощью заявления —
with <interest_measure_name> threshold = threshold_value
Например —
with support threshold = 0.05 with confidence threshold = 0.7
Синтаксис для представления шаблона и спецификации визуализации
У нас есть синтаксис, который позволяет пользователям указывать отображение обнаруженных шаблонов в одной или нескольких формах.
display as <result_form>
Например —
display as table
Полная спецификация DMQL
Как менеджер по маркетингу компании, вы хотели бы охарактеризовать покупательские привычки клиентов, которые могут покупать товары по цене не менее 100 долларов США; с учетом возраста покупателя, типа приобретенного товара и места, где он был приобретен. Вы хотели бы знать процент клиентов, имеющих эту характеристику. В частности, вас интересуют только покупки, сделанные в Канаде и оплаченные кредитной картой American Express. Вы хотели бы просмотреть результирующие описания в виде таблицы.
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
Стандартизация языков интеллектуального анализа данных
Стандартизация языков интеллектуального анализа данных будет служить следующим целям —
Помогает систематической разработке решений для интеллектуального анализа данных.
Улучшает взаимодействие между несколькими системами и функциями интеллектуального анализа данных.
Способствует образованию и быстрому обучению.
Способствует использованию систем интеллектуального анализа данных в промышленности и обществе.