2. O Processo de Mineração de Dados
description
Transcript of 2. O Processo de Mineração de Dados
Marcus SampaioDSC/UFCG
Marcus SampaioDSC/UFCG
Etapas do Processo
Marcus SampaioDSC/UFCG
Preparação de Dados
• Seleção• Pré-processamento
– Limpeza– Fragmentação
Marcus SampaioDSC/UFCG
• Identificação dos bancos de dados • Seleção de atributos• ‘Discretização’ de valores de atributos
Seleção
Marcus SampaioDSC/UFCG
• Uma verdadeira ‘praga’ em aplicações de mineração de dados é a pobre qualidade dos dados de entrada dos algoritmos
• Uma maneira de resolver ou minimizar o problema é fazer uma inspeção manual nos arquivos de dados. Para arquivos grandes, isto pode ser impraticável
Limpeza
Marcus SampaioDSC/UFCG
• Felizmente, as próprias técnicas de mineração de dados podem ajudar a resolver o problema
• Considere duas espécies de ‘sujeira’: no atributo de classificação, e nos atributos que não são de classificação
• Está comprovado, da experiência, que para ‘sujeira’ em atributos de classificação, o melhor é removê-las do conjunto-treinamento. Como? – Rodando um algoritmo de classificação que procura ser
espelho do conjunto de treinamento• As instâncias que caem em classes ‘sujas’ são fisicamente
retiradas– Rodando um algoritmo de classificação, primeiro sem poda,
e depois com poda, e assim até que não haja mais poda• As instâncias que caem em classes ‘sujas’ são logicamente
retiradas
Limpeza (2)
Marcus SampaioDSC/UFCG
• Para a ’sujeira’ em atributos que não são de classificação, pode-se ter o auxílio de um algoritmo de classificação– O algoritmo pode descobrir atributos não
confiáveis (por exemplo, o(s) atributo(s) sequer aparecendo no modelo), o que o faz logicamente remover a ‘sujeira’ do arquivo-treinamento, para os mesmos atributos
• Existem diversas ferramentas para limpeza automática, inclusive software free
Limpeza (3)
Marcus SampaioDSC/UFCG
• A fragmentação consiste essencialmente em separar os dados de treinamento (conjunto-treinamento) dos dados de teste (conjunto-teste)– ‘Minimizar' a taxa de erro dos testes
• O modelo induzido, se aprovado, não é perfeito– O modelo será aplicado a novos dados (conjunto-
execução)• Taxa de erro estimada = f(taxa de erro dos testes)
Fragmentação
Marcus SampaioDSC/UFCG
• “Holdout”– O algoritmo é treinado com todos os dados– Para os testes
• Separe aleatoriamente 2/3 dos dados para treinamento, e o restante 1/3 para teste
• Preserve a independência dos dois conjuntos (interseção vazia)
• Garanta também que cada classe seja propriamente representada tanto no conjunto-treinamento como no conjunto-teste — Estratificação
• Induza um modelo do conjunto de treinamento (2/3)• Teste o modelo com o conjunto de teste (1/3)
– Acurácia de teste: No.de Erros / Total de Testes
Técnicas de Fragmentação
Marcus SampaioDSC/UFCG
• Validação Cruzada (“Cross Validation”)
Técnicas de Fragmentação (2)
Marcus SampaioDSC/UFCG
• Validação Cruzada (“Cross Validation”)– O algoritmo é treinado com todos os dados– Para calcular a acurácia de teste
• Calcula-se a média das taxas de erro dos três testes realizados
• Note que os modelos podem variar ligeiramente, em relação ao modelo treinado e apresentado
• Usa-se cada vez mais "stratified tenfold cross-validation“– Os dados são aleatoriamente divididos em dez
partes – Como consequência da estratificação, o modelo
treinado praticamente não varia
Técnicas de Fragmentação (3)
Marcus SampaioDSC/UFCG
Outras Métricas de Qualidade
spredictionpositivenumber
spredictionpositivecorrectnumberprecision
cestaninspositivenumber
spredictionpositivecorrectnumberrecall
recallprecisionmeasureF
/1/1
2
Positivo e Negativo valem para atributos de classificação binários Classe ‘1’ – positivo Classe ‘0’ – negativo
Marcus SampaioDSC/UFCG
Outras Métricas de Qualidade (2)
• Exemplos– A percentagem de todas as instâncias da classe esporte que
foram classificadas corretamente é o “recall”– A percentagem de instâncias corretamente classificadas
como esporte é a precisão– F-measure: média harmônica de precisão e “recall”
• Alta precisão é sempre muito importante, mas muitas instâncias esporte podem ser deixadas de lado (isto é medido por “recall”)
– Programa que identifica “spam e-mail” com alta precisão e baixo “recall
• Deixa “spam” na caixa de entrada (baixo “recall”)• Geralmente acerta quando joga um “spam” no lixo (alta
precisão)
Marcus SampaioDSC/UFCG
• Cada algoritmo de mineração de dados necessita de uma entrada específica
• A finalidade da transformação é então de transformar os dados preparados, de modo a torná-los compatíveis com as entradas dos diversos algoritmos de mineração de dados– Exemplo: gerar arquivos .arff para usar os
algoritmos da biblioteca WEKA
Transformação
Marcus SampaioDSC/UFCG
• Uma vez os dados preparados e transformados, aplicam-se os algoritmos de mineração de dados, dependendo do problema– Associação– Classificação Supervisionada– Classificação Não-Supervisionada– Série Temporal– Regressão– ...
Garimpagem ou Mineração
Marcus SampaioDSC/UFCG
• “Bagging” – Técnica de Meta Classificação– Usa um classificador de classificadores
Garimpagem ou Mineração (2)
Indução dos ModelosPara cada uma das t iterações (“stratified tfold cross-validation”)
Aplique um algoritmoSalve o modelo resultante aprovado
Previsão (ou Predição)Para cada um dos modelos aprovados
Classificar a instância de execução* Retornar a classe mais votada
*- instância de treinamento e instância de teste instãncia nova
Marcus SampaioDSC/UFCG
• Nesta etapa, a seguinte questão deve ser respondida: o conhecimento gerado é relevante e acionável (isto é, deve ser usado para a tomada de decisão)? – Se a resposta não for satisfatória, então poderá
ser necessário repetir todo ou parte do processo de MD
Análise e Assimilação