600 likes | 836 Views
Mineração de Dados: Conceitos, Aplicações e Experimentos com Weka. Aurora Trinidad Ramirez Pozo aurora@inf.ufpr.br Departamento de Informática Universidade Federal do Paraná. Motivação. A informatização dos meios produtivos permitiu a geração de grandes volumes de dados:
E N D
Mineração de Dados: Conceitos, Aplicações e Experimentos com Weka Aurora Trinidad Ramirez Pozo aurora@inf.ufpr.br Departamento de Informática Universidade Federal do Paraná
Motivação • A informatização dos meios produtivos permitiu a geração de grandes volumes de dados: • Transações eletrônicas; • Novos equipamentos científicos e industriais para observação e controle; • Dispositivos de armazenamento em massa; • Aproveitamento da informação permite ganho de competitividade: “conhecimento é poder (e poder = $$!)”
Conhecimento Valor Volume $ Conhec. Informação Dados agreguem valor aos seus negócios
Motivação • Os recursos de análise de dados tradicionais são inviáveis para acompanhar esta evolução • Solução: • ferramentas de automatização das tarefas repetitivas e sistemática de análise de dados • ferramentas de auxílio para as tarefas cognitivas da análise • integração das ferramentas em sistemas apoiando o processo completo de descoberta de conhecimento para tomada de decisão
Aplicação • Um problema do mundo dos negócios: entender o perfil dos clientes • desenvolvimento de novos produtos; • controle de estoque em postos de distribuição; • propaganda mal direcionada gera maiores gastos e desestimula o possível interessado a procurar as ofertas adequadas; • Quais são meus clientes típicos?
Descoberta de Conhecimento em Bancos de Dados • “O processo não trivial de extração de informações implícitas, anteriormente desconhecidas, e potencialmente úteis de uma fonte de dados”; • O que é um padrão interessante ? (válido, novo, útil e interpretável)
Transformar dados • em informação e conhecimento • úteis para o suporte à decisão, • gerenciamento de negócios, controle de produção • análise de mercado ao projeto de engenharia e exploração científica
KDD x Data Mining • Mineração de dados é o passo do processo de KDD que produz um conjunto de padrões sob um custo computacional aceitável; • KDD utiliza algoritmos de data mining para extrair padrões classificados como “conhecimento”. Incorpora também tarefas como escolha do algoritmo adequado, processamento e amostragem de dados e interpretação de resultados;
Etapas do Processo • Seleção • Pré-processamento • Transformação • Data mining (aprendizagem) • Interpretação e Avaliação Processo
Processo mínimo de descoberta do conhecimento Compreensão do domínio e dos objetivos da tarefa; Criação do conjunto de dados envolvendo as variáveis necessárias; Processo
Seleção de Dados • Selecionar ou segmentar dados de acordo com critérios definidos: • Ex.: Todas as pessoas que são proprietárias de carros é um subconjunto de dados determinado. Processo
Processo mínimo Operações como identificação de ruídos, outliers, como tratar falta de dados em alguns campos, etc. Processo
Pré-Processamento • Estágio de limpeza dos dados, onde informações julgadas desnecessárias são removidas. • Reconfiguração dos dados para assegurar formatos consistentes (identificação) • Ex. : sexo = “F” ou “M” sexo = “M” ou “H” Processo
Processo mínimo Redução de dimensionalidade, combinação de atributos; Processo
Transformação • Transformam-se os dados em formatos utilizáveis. Esta depende da técnica data mining usada. • Disponibilizar os dados de maneira usável e navegável. Processo
Escolha e execução do algoritmo de aprendizagem de acordo com a tarefa a ser cumprida Processo mínimo Processo
Data Mining • É a verdadeira extração dos padrões de comportamento dos dados (exemplos) Processo
Processo mínimo Interpretação dos resultados, com possível retorno aos passos anteriores; Consolidação: incorporação e documentação do conhecimento e comunicação aos interessados; Processo
Interpretação e Avaliação • Identificado os padrões pelo sistema, estes são interpretados em conhecimentos, os quais darão suporte a tomada de decisões humanas Processo
Etapas do Processo • O processo de KDD é interativo, iterativo, cognitivo e exploratório, envolvendo vários passos • muitas decisões sendo feitas pelo analista ( especialista do domínio dos dados)
Técnicas de pré-processamento e transformação de dados são aplicadas para aumentar a qualidade e o poder de expressão dos dados a serem minerados. • Estas fases tendem a consumir a maior parte do tempo dedicado ao processo de KDD (aproximadamente 70%).
Métodos de mineração de dados • Métodos de mineração de dados normalmente são extensões ou combinações de uns poucos métodos fundamentais; • Porém, não é viável a criação de um único método universal: cada algoritmo possui sua própria tendência indutiva; Métodos
Tarefas básicas • Previsão • Cálculo de variáveis de interesse a partir dos valores de um conjunto de variáveis de explicação; • É comumente visada em aprendizado de máquina/estatística; • Exemplos: classificação e regressão; Métodos
Tarefas básicas • Descrição • Reportar relações entre as variáveis do modelo de forma simétrica; • À princípio, está mais relacionada ao processo de KDD; • Exemplos: agrupamento, sumarização (incluindo sumário de textos), dependências, análise de desvio; Métodos
sem crédito o x o o x x x x o o x o o o o x o débito t renda x: exemplo recusado o: exemplo aceito Exemplo de previsão (I) Análise de crédito • Um hiperplano paralelo de separação: pode ser interpretado diretamente como uma regra: • se a renda é menor que t, então o crédito não deve ser liberado • Exemplo: • árvores de decisão; • indução de regras Métodos
Exemplos • Á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” Exemplos
sem crédito o x o o x x x x o o x o o o o x o débito t renda x: exemplo recusado o: exemplo aceito Exemplo de previsão (II) Análise de crédito • Hiperplano oblíquo: melhor separação: • Exemplos: • regressão linear; • perceptron; Métodos
sem crédito o x o o x x x x o o x o o o o x o débito t renda x: exemplo recusado o: exemplo aceito Exemplo de previsão (III) Análise de crédito • Superfície não linear: melhor poder de classificação, pior interpretação; • Exemplos: • perceptrons multicamadas; • regressão não-linear; Métodos
sem crédito o x o o x x x x o o x o o o o x o débito t renda x: exemplo recusado o: exemplo aceito Exemplo de previsão (IV) Análise de crédito • Métodos baseado em exemplos; • Exemplos: • k-vizinhos mais próximos; • raciocínio baseado em casos; Métodos
+ + + + + + + + + + + + + + + + + débito t renda +: exemplo Exemplo de descrição (I) Análise de crédito • Agrupamento • Exemplo: • vector quantization; Métodos
Exemplo de descrição (II) • Regras de associação • “98% dos consumidores que adquiriram pneus e acessórios de automóveis também se interessaram por serviços automotivos”; • descoberta simétrica de relações, ao contrário de métodos de classificação • qualquer atributo pode ser uma classe ou um atributo de discriminação; Métodos
CBR Técnicas • Revisão geral de Aprendizagem:
Exemplos • Áreas de aplicações potenciais: • Bancos • Identificar padrões de fraudes (cartões de crédito) • Identificar características de correntistas • Mercado Financeiro($$$) Exemplos
Exemplos • Áreas de aplicações potenciais • 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 Exemplos
Introdução • 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% . Exemplos
Exemplos • Exemplo (2) - Lojas Brasileiras (Info 03/98) • 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 elétrica é 220v Exemplos
Exemplos • Exemplo (3) - Bankof America (Info3/98) • Selecionou entre seus 36 milhões de clientes • Aqueles com menor risco de dar calotes • Tinham filhos com idades entre 18 e 21 anos • Resultadoem três anos o banco lucrou 30 milhões dedólares com a carteira de empréstimos. Exemplos
Software Weka Waikato 2004, Witten & Frank 2000
Ferramenta • algoritmos de • preparação de dados • aprendizagem de máquina (mineração) • validação de resultados • /public/soft/linux/weka... • Java –jar weka.jar
Software Weka • Software para data mining/machine learning escritoem Java (distribuído sob GNU Public License) • Utilizadoempesquisa e educação • Principaiscaracterísticas: • Extensoconjunto de rotinasparapré-processamento, esquemas de aprendizagem, além de métodos de avaliação • GUIs (inclusive paravisualização dos dados) • Ambienteparacomparação de algortimos de aprendizagem.
Versões Weka • WEKA 3.0: “book version” compatível com a descrição do livro • WEKA 3.4: Última versão (utilizada na apresentação) • Esquema de versões Linux
Weka trabalha com flat files @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 ... Flat file in ARFF format
Weka trabalha com flat files @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 ... Atributo numérico Atributo nominal
Explorer: Pre-processing • Importação dos dados emváriosformatos: ARFF, CSV, C4.5, binary • Dados tambémpodem ser lidos de uma URL ou de um banco de dados (utilizando o pacote JDBC) • Rotinas de pré-processamento no Wekasãochamados de filtros • Weka tem filtrospara: • Discretização, normalização, amostragem, seleção de atributos, transformação e combinação de atributos, entre outros.
Filtros: Redução dos dados • Metodossupervisadosweka.filters.supervised.instance.* • Resample: Fazumaamostragemestratificada com o dataset fornecido. O dataset deveter um atributo nominal informando a classe. Biasparadistribuição das classes naamostrasejauniforme. • StratifiedRemoveFolds: Cria um fold estratificadopara o cross-validation. • SpreadSubsample: Produzumaamostraaleatória dos dados. Este filtropermitedefinir o máximospread entre a classemaisrara e a classemaiscomum. Porexemplo, 5:1
Filtros: Redução dos dados • Metodosnão-supervisadosweka.filters.unsupervised.instance.* • Resample: amostragem aleatória (não estratificada) do dataset • Randomize - embaralha conjunto de dados • RemoveFolds – Define um fold para o crossvalidation • RemovePercentage – Remove uma proporção do dataset • RemoveRange - Remove um determinado intervalo de instâncias do dataset.
Filtros: Redução dos Atributos • Metodosnão-supervisadosweka.filters.unsupervised.attribute.* • Normalize: valores no intervalo [0,1], exceto o atributo de classe • NumericTransform - Aplica uma função matemática qualquer aos valores do atributo (classe Java) • ReplaceMissingValues – Preenche com a média (atrib. numerico ) ou a moda (atrib.nominal) • Standardize – transformação dos valores para uma • RemoveUseless - Remove atribs. nominais que variam muito (threshold definido pelo usuário, ex.: 95%) e atributos constantes (nme/nml)
Filtros: Redução dos Atributos • Metodossupervisadosweka.filters.supervised.attribute.* • AttributeSelection: Permite a combinacao de variosmetodos de avaliacao e busca de atributos. • Avaliação: ganho de info., PCA e váriosoutros • Busca: best first, greedy, genetic search, exhaustive search, rank search • Discretize: Discretiza um intervalo de atributosnumericosutilizando a tecnica MDL (Fayyad & Irani's) ou MDL (Kononenko) • NominalToBinary: Convertetodososatributosnominaisparaatributosbináriosnuméricos