Title: Jacques Robin
1Arquiteturas de software e linguagens de
consultas paradescoberta de conhecimento em BD
2Especificação de uma tarefa de descoberta de
conhecimento
- 1. Seleção dos dados relevantes
- qual fonte de dados? quais indivíduos ou grupos
de indivíduos? quais atributos? quais relações? - fácil com consultas SQL ou MDX (MultiDimensional
eXpression) - 2. Viés de aprendizagem
- qualquer método de mineração explora espaço de
hipótese potencialmente imenso - viés especificação prévia de um sub-espaço alvo
muito menor - ex, regras de associação com atributos
obrigatórios na premissa ou na conclusão, com
número de premissas ou conclusões dado... - 3. Métodos de mineração
- qual tipo de conhecimento (árvore de decisão?
regras de classificação? regras de associação?) - qual algoritmos de mineração (C4.5? PRISM?)
3Especificação de uma tarefa de descoberta de
conhecimento
- 4. Medida de interesse das estruturas de
conhecimento mineradas - Medida de legibilidade/interpretabilidade L
- concisão
- codificadas diretamente em termos de conceitos
padrões da área - Medida de confiança/acurácia C
- ex, C(A? B) A ? B / A
- Medida de utilidade/aplicabilidade S
- ex, S(A? B) A ? B / DB
- Medida de novidade N
- com respeito a outras estrutura já mineradas
- com respeito a expectativa codificada como
conhecimento prévio - Interesse de estrutura I(E) f( L, C, S, N)
- Apresenta apenas estruturas de interesse superior
a algum limiar L I(E) ? L
4Especificação de uma tarefa de descoberta de
conhecimento
- 5. Formato de apresentação
- tabelas
- histogramas, pizzas
- gráficos 2D, gráficos 3D
- texto, hipertexto
- composição hipermídia de vários formatos
5Entrada, saída e parâmetros do processo de
descoberta de conhecimento
KDSE Knowledge DiscoverySupport Environment
Conhecimento prévio
Interfaces de entrada
Interfaces de saída
Conhecimento descoberto
Base de dados
Algoritmos de mineração
Interface de controle
Especificação dos dados relevantes
Viés de aprendizagem
Medida deinteresse
Método de mineração
Formato de apresentação
6Dimensões descritivas da tipologia das
arquiteturas de ambientes de KDD
- Variedade dos serviços implementados
- horizontal numero de passos suportados no
processo de KDD - vertical diversidade das técnicas para cada
passos - Grau de integração dos serviços implementados
- Abertura da arquitetura
- controle via GUI, via API para software externo,
via linguagem de consulta declarativa, via
regras declarativas - entrada via arquivo flat, via API para BD
relacional, para data mart multidimensional,
para BD não convencionais - saída via GUI, via arquivo exportado, via API
para BD, via API para software externo - código fonte disponível ? orientado
a objetos (linguagem, engenharia de software)?
componentes reutilizáveis ?
7Integração do KDSE com SGBD e SGBC
SGBC
Arquivo
Arquivo
SGBC
Sem Integração
KDSE
SGBD
Arquivo
GUI
API
SGBC
SGBC
API
Com Integração Solta
KDSE
SGBD
GUI
API
API
Software externo
API
Integração Apertada
8Arquitetura do Weka
GUI
Arquivo
Weka
Arquivo
SGBD relacional
API
Software externo
API
- Código
- fonte disponíveis (GNU license freeware)
- hierarquia de interfaces e classes 100 Java
9Arquitetura do DBMiner
GUI
Servidor OLAP
API
Algoritmos de mineração
Interpretador DMQL
SGBD relacional
API
DBMiner
- Limitações
- implementado em C
- código fonte proprietário escondido
- sem API para comunicação externa
- interação apenas através do GUI
10Arquitetura do Inteligent Miner da IBM
CLIENTE
Interface do
Visualizador
Ferramentas
usuário
de Exportação
Ambiente da camada API
Definidor de
Resultados
Minerador
Resultados
Dados
API (
load)
Biblioteca de
Kernel
Resultados
Base de
Processamento
minerador
API (
save)
mining
Acesso a dados
Meta
Arquivos
flat
Base de
Base de
Dados
dados
dados
SERVIDOR
11Arquitetura do MATRIKS
12Funcionalidades de uma linguagem declarativa de
consulta para KDD
- Especificar
- Dados relevantes
- idealmente baseado em linguagens de consulta de
SGBD - Tipo de conhecimento a minerar
- Algoritmo(s) de mineração a usar
- Conhecimento prévio
- idealmente baseado em linguagem de representação
do conhecimento - Viés de aprendizagemsobre o espaço de hipótese a
explorar - idealmente baseado em linguagem de representação
do conhecimento - Medidas e limiar de interesse do conhecimento a
apresentar - Técnica de validação a usar e divisão dos dados
entre conjuntos de treinamento e conjuntos de
teste - simples treinar e testar, validação cruzada,
leave-one-out, bootstrap - Formato da apresentação do conhecimento minerado
13Linguagens de consultas declarativas de
descoberta de conhecimento
- Ainda
- próprio a cada KDSE, i.e., não existe padrão
- ausente da imensa maioria dos KDSE
- quando presente geralmente limitado a
- um ou dois passos no processo de KDD
- um ou dois tipos de conhecimento a minerar
- não integrado com SQL ou MDX
- Principais
- Data Mining Query Language (DMQL) do DBMiner
- grande variedade de tipo de conhecimento
- integrado com SQL e MDX
- OLE DB for Data Mining do SQL Server 2000 da
Microsoft - apenas 3 tipos de conhecimento
- integrado com SQL mas aparentemente não com MDX
!? - limitado demais para pegar como padrão de fato
14DMQL especificação dos dados relevantes
- use database database_name, use data warehouse
data_warehouse_name - from relation(s)/cube(s) where condition
- in relevance to att_or_dim_list
- order by order_list
- group by grouping_list
- having condition
15DMQL especificação do tipo de conhecimento a
minerar
- Caracterização
- Mine_Knowledge_Specification mine
characteristics as pattern_name analyze
measure(s) - Discriminação
- Mine_Knowledge_Specification mine
comparison as pattern_name for
target_class where target_condition versus
contrast_class_i where contrast_condition_i
analyze measure(s) - Associação
- Mine_Knowledge_Specification mine
associations as pattern_name
16DMQL especificação do tipo de conhecimento a
minerar (cont.)
- Classificação
- Mine_Knowledge_Specification mine
classification as pattern_name analyze
classifying_attribute_or_dimension - Evolução
- Mine_Knowledge_Specification mine
prediction as pattern_name analyze
prediction_attribute_or_dimension set
attribute_or_dimension_i value_i
17DMQL especificação das hierarquias conceituais
- define hierarchy age_hierarchy
- for age on customer as
- age_category(1), ..., age_category(5)
- cluster(default, age, 5) lt all(age)
- define hierarchy profit_margin_hierarchy
- on item as
- level_1 low_profit_margin lt level_0 all
- if (price - cost)lt 50
- level_1 medium-profit_margin lt level_0 all
- if ((price - cost) gt 50) and ((price -
cost) lt 250)) - level_1 high_profit_margin lt level_0 all
- if (price - cost) gt 250
- Uso de hierarquia
- use hierarchy lthierarchygt for ltattribute_or_dimens
iongt - Definição de hierarquias
- define hierarchy time_hierarchy on date as
date,month quarter,year - define hierarchy age_hierarchy for age on
customer as - level1 young, middleAged, senior lt
level0 all - level2 20, ..., 39 lt level1 young
- level2 40, ..., 59 lt level1 middleAged
- level2 60, ..., 89 lt level1 senior
18DMQL especificação das medidas de interesse e do
formato de apresentação
- Medidas de interesse
- with ltinterest_measure_namegt threshold
threshold_value - exemplos
- with support threshold 0.05
- with confidence threshold 0.7
- Formato
- display as ltresult_formgt
- Granularidade
- Multilevel_Manipulation roll up on
attribute_or_dimension drill down on
attribute_or_dimension add attribute_or_dimensi
on drop attribute_or_dimension
19DMQL exemplo de consulta
- 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, purchases P,
items_sold S, works_at W, branch - where I.item_ID S.item_ID and S.trans_ID
P.trans_ID - and P.cust_ID C.cust_ID and P.method_paid
AmEx'' - and P.empl_ID W.empl_ID and W.branch_ID
B.branch_IDand B.address Canada" and
I.price gt 100 - with noise threshold 0.05
- display as table
20OLE DB for Data Mining