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