View
944
Download
5
Embed Size (px)
DESCRIPTION
Palestra Realizada no 13° Fórum Internacional de Software Livre
Citation preview
Mineração
Livre de Dados
Agenda
Apresentação
Contexto e Motivação
KDD & Data Warehousing
Data Mining
Tarefas de Data Mining
Técnicas de Data Mining
Weka
OxenTI Solutions
Apresentação
Mauricio C. Purificação Bacharel em Ciência da Computação pela UFBA e Aluno do MBA em
Administração/Gestão de Negócios na UNIFACS;
Sócio Fundador e Diretor Administrativo Financeiro da OxenTI;
Analista de Business Intelligence da Santa Casa de Misericórdia da Bahia;
Colaborador do CEManTIKA – Grupo de Pesquisa em Sistemas Sensíveis ao Contexto LES-DCC-UFBA;
Principais Interesses de Pesquisa: Business Intelligence, Business Analytics, Cloud Computing, Métodos Ágeis, Bancos de Dados Evolutivos.
http://lattes.cnpq.br/3312807554334758
Adewale A. D’Alcântara Bacharelando em Ciência da Computação pela Universidade Federal da
Bahia;
Sócio Fundador e Diretor Executivo da OxenTI;
Especialista no Desenvolvimento de Soluções em CakePHP;
Principais Interesses de Pesquisa: Business Intelligence, Business Analytics, Data Warehousing e Data Mining.
http://lattes.cnpq.br/5322217410560893
A OxenTI
Somos uma empresa de Tecnologia da Informação especializada no desenvolvimento de Soluções e Sistemas para apoiar a Gestão eficaz dos ambientes de negócios.
OxenTI Solutions
Serviços
Implantação Sistemas Integrados de Gestão
ERP, CRM
OxenTI Solutions
Serviços
Desenvolvimento Soluções para Suporte a Decisão
BI, BA, Data Mining
OxenTI Solutions
Contexto & Motivação
Ponto de
Vista Comercial
Quantidades gigantescas de dados são coletados e armazenados em empresas, corporações, etc...
Dados de comércio eletrônico
Dados de navegação na internet
Dados de compras de clientes em grandes lojas de departamentos, supermercados
Dados de transações bancárias, ou de cartão de crédito
Computadores mais baratos e mais potentes
Pressão da competição
OxenTI Solutions
Ponto de
Vista Científico
Dados coletados e armazenados a velocidades enormes (GB/hora)
Sensores remotos em satélites Telescópios Microarrays gerando dados de expressões de genes Simulações científicas gerando terabytes de dados
Técnicas tradicionais não apropriadas para analisar tais dados
Ruídos e grande dimensionalidade
OxenTI Solutions
“Leis”,
Gigantes e Monstros
Lei de Moore: Capacidade de processamento dobra a cada 18 meses (CPU, memória, cache)
Capacidade de armazenamento dobra a cada 10 meses
O que estas duas “leis” combinadas produzem?
Um gap crescente entre nossa habilidade de gerar dados e nossa habilidade de fazer uso dele
OxenTI Solutions
KDD – Knowledge
Discovery in Databases
Conceito
& Processo
“O processo, não trivial, de extração de informações implícitas, previamente desconhecidas e potencialmente úteis, a partir dos dados armazenados em um banco de dados.”
KDD
&
Data Warehousing
Data Mining
Conceito
Mineração de dados é o processo de proposição de várias consultas e extração de informações úteis, padrões e tendências, frequentemente desconhecidos, a partir de grande quantidade de dados armazenada em bancos de dados [BT99] Mineração de dados, de forma simples, é o processo de extração ou mineração de conhecimento em grandes quantidades de dados [HK01]
OxenTI Solutions
Áreas de
Aplicações Potenciais
Vendas e Marketing Identificar padrões de comportamento de consumidores Associar comportamentos à características demográficas de consumidores Campanhas de marketing direto (mailing campaigns) Identificar consumidores “leais”
Bancos Identificar padrões de fraudes (cartões de crédito) Identificar características de correntistas Mercado Financeiro ($$$)
Médica Comportamento de pacientes Identificar terapias de sucessos para diferentes tratamentos Fraudes em planos de saúdes Comportamento de usuários de planos de saúde
OxenTI Solutions
Data Mining
& KDD
KDD utiliza algoritmos de data mining para extrair padrões classificados como “conhecimento”
Incorpora tarefas como escolha do algoritmo adequado, processamento e amostragem de dados e interpretação de resultados
OxenTI Solutions
Cases
Exemplo (1)
Fraldas e Cervejas
O que as cervejas tem a ver com as fraldas ?
homens casados, entre 25 e 30 anos
compravam fraldas e/ou cervejas às sextas-feiras à tarde no caminho do trabalho para casa
Wal-Mart otimizou às gôndolas nos pontos de vendas, colocando as fraldas ao lado das cervejas
Resultado: o consumo cresceu 30%
OxenTI Solutions
Exemplo (2)
Lojas Brasileiras
Aplicou 1 milhão de dólares em técnicas de data mining
Reduziu de 51000 produtos para 14000 produtos oferecidos em suas lojas
Exemplo de anomalias detectadas:
Roupas de inverno e guarda chuvas encalhadas no nordeste
Batedeiras 110v a venda em SC onde a corrente é 220v
OxenTI Solutions
Exemplo (3)
Bank Of America
Selecionou entre seus 36 milhões de clientes
Aqueles com menor risco de dar calotes
Tinham filhos com idades entre 18 e 21 anos
Resultado em três anos o banco lucrou 30 milhões de dólares com a carteira de empréstimos.
OxenTI Solutions
Tarefas de Data Mining
Análise de
Regras de Associação
Exemplo: “Clientes que compram pão também compram leite” representa uma regra de associação que reflete um padrão de comportamento dos clientes do supermercado
Descobrir regras de associação entre produtos comprados por clientes numa mesma compra pode ser útil para melhorar a organização das prateleiras, facilitar (ou dificultar) as compras do usuário ou induzi-lo a comprar mais
OxenTI Solutions
Análise de
Padrões Sequenciais
Exemplo: A sequência < {carro}, {pneu, toca-fitas} > representa o padrão Clientes que compram carro, tempos depois compram pneu e toca-fitas de carro
Descobrir tais padrões sequenciais em dados temporais pode ser útil em campanhas de marketing, por exemplo
OxenTI Solutions
Classificação
e Predição
Exemplo: Suponha que o gerente do supermercado está interessado em descobrir que tipo de características de seus clientes os classificam em bom comprador ou mau comprador
Um modelo de classificação poderia incluir a seguinte regra: Clientes da faixa econômica B, com idade entre 50 e 60 são maus compradores
OxenTI Solutions
Classificação
e Predição
Em algumas aplicações, o usuário está mais interessado em predizer alguns valores ausentes em seus dados, em vez de descobrir classes de objetos. Isto ocorre sobretudo quando os valores que faltam são numéricos
Neste caso, a tarefa de mineração é denominada Predição
OxenTI Solutions
Análise de Clusters
Exemplo: Poderíamos aplicar análise de clusters sobre o banco de dados de um supermercado a fim de identificar grupos homogêneos de clientes
Por exemplo, clientes aglutinados em determinados pontos da cidade costumam vir ao supermercado aos domingos, enquanto clientes aglutinados em outros pontos da cidade costumam fazer suas compras às segundas-feira
OxenTI Solutions
Análise de Outliers
Um banco de dados pode conter dados que não apresentam o comportamento geral da maioria. Estes dados são denominados outliers(exceções)
Muitos métodos de mineração descartam estes outliers como sendo ruído indesejado
Entretanto, em algumas aplicações, tais como detecção de fraudes, estes eventos raros podem ser mais interessantes do que eventos que ocorrem regularmente
OxenTI Solutions
Técnicas de Data Mining
Árvore de Decisão
Técnica que constrói um classificador utilizando uma estrutura de árvore onde os nós folhas representam as classes e os nós internos representam um teste sobre um atributo
OxenTI Solutions
Redes Neurais
Modelos matemáticos que permite aprendizado e generalização
Esse aprendizado está associado a capacidade de adaptar seus parâmetros como consequência da sua iteração com o meio externo
Estrutura similar as redes neurais biológicas
OxenTI Solutions
Redes Neurais
OxenTI Solutions
Waikato Environment for
Knowledge Analysis - Weka
Weka
OxenTI Solutions
Software para data mining/machine learning
escrito em Java (distribuído sob GNU Public License)
Utilizado em pesquisa e educação
Principais características:
Extenso conjunto de rotinas para pré-processamento, esquemas de aprendizagem, além de métodos de avaliação
GUIs (inclusive para visualização dos dados)
Ambiente para comparação de algortimos de aprendizagem.
Formato de Entrada
OxenTI Solutions
@relation heart-disease-simplified
@attribute age numeric
@attribute sex { female, male}
@attribute chest_pain_type { typ_angina, asympt, non_anginal, atyp_angina}
@attribute cholesterol numeric
@attribute exercise_induced_angina { no, yes}
@attribute class { present, not_present}
@data
63,male,typ_angina,233,no,not_present
67,male,asympt,286,yes,present
67,male,asympt,229,yes,present
38,female,non_anginal,?,no,not_present
...
Interface
OxenTI Solutions
Interface
OxenTI Solutions
Explorer
Pré Processamento
OxenTI Solutions
Importação dos dados em vários formatos: ARFF, CSV, C4.5, binary
Dados também podem ser lidos de uma URL ou de um banco de dados (utilizando o pacote JDBC)
Rotinas de pré-processamento no Weka são chamados de filtros
Weka tem filtros para:
Discretização, normalização, amostragem, seleção de atributos, transformação e combinação de atributos, entre outros.
Explorer
Classificadores
OxenTI Solutions
Modelos para a previsão de classes (nominal ou númerica): Weka implementa:
Árvore de decisão, listas, classificadores baseado em instâncias, multi-layer perceptrons, regressão, redes bayesianas, ...
“Meta”-classificadores: Bagging, boosting, stacking, error-correcting output code, locally weighted learning, ...
Explorer
Clustering
OxenTI Solutions
Metódos para variáveis numéricas e nominais:
EM k-Means CobWeb
Explorer
Associações
OxenTI Solutions
Identificar dependências estatísticas entre grupos de atributos 3 algorítimos para aprender associações:
Apriority; PredictiveApriori; Tertius; Trabalha somente com dados nominais; Computa regras que dêem um suporte mínimo e ultrapasse um nível de confiança.
Explorer
Seleção de Atributos
OxenTI Solutions
Usado para investigar quais atributos (subconjuntos deles) são mais preditivos AttributeSelection em 2 etapas:
Um método de busca Um método de avaliação
Flexibilidade: (quase) qualquer combinação de busca/avaliação
Explorer
Visualização
OxenTI Solutions
Ajuda a identificar a dificuldade na aprendizagem do problema Visualização 2D Difere as classes por cor