Marcus Sampaio
DSC/UFCG
Etapas do Processo
Marcus Sampaio
DSC/UFCG
Seleção
•
•
•
•
Marcus Sampaio
DSC/UFCG
Identificação dos bancos de dados
Seleção de atributos
‘Discretização’ de valores de atributos
Remoção de inconsistências (limpeza)
Pré-Processamento: Limpeza
Marcus Sampaio
DSC/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 (2)
Marcus Sampaio
DSC/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, primeiro sem poda,
e depois com poda, e assim até que não haja mais poda
– Rodando um algoritmo de classificação que procura ser
espelho do conjunto de treinamento
Limpeza (3)
Marcus Sampaio
DSC/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
Marcus Sampaio
DSC/UFCG
Pré-Processamento: Fragmentação
• A fragmentação consiste essencialmente em
separar os dados de treinamento (conjuntotreinamento) dos dados de teste (conjuntoteste)
– ‘Minimizar' a taxa de erro dos testes
Técnicas de Fragmentação
Marcus Sampaio
DSC/UFCG
• “Holdout”
– 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 é propriamente
representada tanto no conjunto-treinamento como
no conjunto-teste — Estratificação
Técnicas de Fragmentação (2)
Marcus Sampaio
DSC/UFCG
• Validação Cruzada (“Cross Validation”)
Técnicas de Fragmentação (3)
Marcus Sampaio
DSC/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 crossvalidation“
– Os dados são aleatoriamente divididos em dez
partes
– Como consequência da estratificação, o modelo
treinado praticamente não varia
Transformação
Marcus Sampaio
DSC/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
Garimpagem ou Mineração
Marcus Sampaio
DSC/UFCG
• Uma vez os dados pré-processados 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 (2)
Marcus Sampaio
DSC/UFCG
• “Bagging” – Técnica de Meta Classificação
Inferência dos Modelos
Para cada uma das t iterações (“stratified tfold cross-validation”)
Aplique um algoritmo
Salve o modelo resultante
Classificação
Para cada um dos t modelos
Classificar a instância de execução
Retornar a classe mais votada
Análise e Assimilação
Marcus Sampaio
DSC/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
Download

III. O Processo de Mineração de Dados