Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Qualidade de Dados e Aprendizado de Máquina: Desafios e Soluções no Discover Learning, Trabalhos de Aprendizagem de Máquinas

Este documento discute a importância da qualidade dos dados no processo de extração automática de conhecimento em bancos de dados, enfatizando os desafios relacionados a valores desconhecidos e classes desbalanceadas. O autor apresenta o discover learning environment (dle), um framework para desenvolver e avaliar novos métodos de pré-processamento de dados, e descreve as contribuições desta tese, incluindo métodos para tratamento de valores desconhecidos e classes desbalanceadas.

Tipologia: Trabalhos

2020

Compartilhado em 16/11/2020

fulvio-barbosa
fulvio-barbosa 🇧🇷

5

(1)

3 documentos

1 / 232

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Pr´e-processamento de Dados em Aprendizado de
aquina Supervisionado
Gustavo Enrique de Almeida Prado Alves Batista
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Pré-visualização parcial do texto

Baixe Qualidade de Dados e Aprendizado de Máquina: Desafios e Soluções no Discover Learning e outras Trabalhos em PDF para Aprendizagem de Máquinas, somente na Docsity!

Pr´e-processamento de Dados em Aprendizado de

M´aquina Supervisionado

Gustavo Enrique de Almeida Prado Alves Batista

Resumo

A qualidade de dados ´e uma das principais preocupa¸c˜oes em Aprendizado de M´aquina — AM — cujos algoritmos s˜ao freq¨uentemente utilizados para extrair conhecimento durante a fase de Minera¸c˜ao de Dados — MD — da nova ´area de pesquisa chamada Descoberta de Conhecimento de Bancos de Dados. Uma vez que a maioria dos algoritmos de aprendizado induz conhecimento estritamente a partir de dados, a qualidade do conhecimento extra´ıdo ´e amplamente determinada pela qualidade dos dados de entrada. Diversos aspectos podem influenciar no desempenho de um sistema de aprendizado devido a qua- lidade dos dados. Em bases de dados reais, dois desses aspectos est˜ao relacionados com (i) a presen¸ca de valores desconhecidos, os quais s˜ao tratados de uma forma bastante simplista por diversos algoritmos de AM, e; (ii) a diferen¸ca entre o n´umero de exemplos, ou registros de um banco de dados, que pertencem a diferentes classes, uma vez que quando essa diferen¸ca ´e expressiva, sistemas de aprendizado podem ter dificuldades em aprender o conceito relacionado com a classe minorit´aria. O problema de tratamento de valores desconhecidos ´e de grande interesse pr´atico e te´orico. Em diversas aplica¸c˜oes ´e importante saber como proceder quando as informa¸c˜oes dispon´ıveis est˜ao incompletas ou quando as fontes de informa¸c˜oes se tornam indispon´ıveis. O tratamento de valores desconhecidos deve ser cuidadosamente planejado, caso contr´ario, distor¸c˜oes podem ser introduzidas no conhecimento induzido. Neste trabalho ´e proposta a utiliza¸c˜ao do algoritmo k-vizinhos mais pr´oximos como m´etodo de imputa¸c˜ao. Imputa¸c˜ao ´e um termo que denota um procedimento que substitui os valores desconhecidos de um conjunto de dados por valores plaus´ıveis. As an´alises conduzidas neste trabalho indicam que a imputa¸c˜ao de valores desconhecidos com base no algoritmo k-vizinhos mais pr´oximos pode superar o desempenho das estrat´egias internas utilizadas para tratar valores desconhecidos pelos sistemas C4.5 e CN2, bem como a imputa¸c˜ao pela m´edia ou moda, um m´etodo amplamente utilizado para tratar valores desconhecidos. O problema de aprender a partir de conjuntos de dados com classes desbalanceadas ´e de crucial importˆancia, um vez que esses conjuntos de dados podem ser encontrados em diversos dom´ınios. Classes com distribui¸c˜oes desbalanceadas podem se constituir em um gargalo significante no desempenho obtido por sistemas de aprendizado que assumem uma distribui¸c˜ao balanceada das classes. Uma solu¸c˜ao para o problema de aprendizado com distribui¸c˜oes desbalanceadas de classes ´e balancear artificialmente o conjunto de dados. Neste trabalho ´e avaliado o uso do m´etodo de sele¸c˜ao unilateral, o qual realiza uma remo¸c˜ao cuidadosa dos casos que pertencema classe majorit´aria, mantendo os casos da classe minorit´aria. Essa remo¸do uso de algumas heur´c˜ao cuidadosa consiste em detectar e remover casos considerados menos confi´ısticas. aveis, por meio

Uma vez que n˜ao existe uma an´alise matem´atica capaz de predizer se o desempenho de um m´etodo ´e superior aos demais, an´aprendizado. Neste trabalho ´alises experimentais possuem um papel importante na avalia¸e proposto e implementado o ambiente computacional Discover Learningc˜ao de sistema de Environmnet — DLE — o qual ´e um framework para desenvolver e avaliar novos m´etodos de pr´e- processamento de dados. O ambiente DLE ´e integrado ao projeto Discover, um projeto de pesquisa em desenvolvimento em nosso laborat´orio para planejamento e execu¸c˜ao de experimentos relacionados com o uso de sistemas de aprendizado durante a fase de Minera¸c˜ao de dados do processo de KDD.

iii

Abstract

Data quality is a major concern in Machine Learning, which is frequently used to extract knowledge during the Data Mining phase of the relatively new research area called Knowledge Discovery from Databases — KDD. As most Machine Learning algorithms induce knowledge strictly from data, the quality of the knowledge extracted is largely determined by the quality of the underlying data. Several aspects may influence the performance of a learning system due to data quality. In real world databases, two of these aspects are related to (i) the presence of missing data, which is handled in a rather naive way by many Machine Learning algorithms; (ii) the difference between the number of examples, or database records, that belong to different classes since, when this difference is large, learning systems may have difficulties to learn the concept related to the minority class. The problem of missing data is of great practical and theoretical interest. In many applications it is important to know how to react if the available information is incomplete or if sources of informa- tion become unavailable. Missing data treatment should be carefully thought, otherwise bias might be introduced into the knowledge induced. In this work, we propose the use of the k-nearest neighbour algorithm as an imputation method. Imputation is a term that denotes a procedure that replaces the missing values in a data set by some plausible values. Our analysis indicates that missing data imputation based on the k-nearest neighbour algorithm can outperform the internal missing data treatment stra- tegies used by C4.5 and CN2, and the mean or mode imputation, a widely used method for treating missing values. The problem of learning from imbalanced data sets is of crucial importance since it is encountered in a large number of domains. Imbalanced class distributions might cause a significant bottleneck in the performance obtained by standard learning methods, which assume a balanced distribution of the classes. One solution to the problem of learning with skewed class distributions is to artificially balance the data set. In this work we propose the use of the one-sided selection method, which performs a careful removal of cases belonging to the majority class while leaving untouched all cases from the minority class. Such careful removal consists of detecting and removing cases considered less reliable, using some heuristics. An experimental application confirmed the efficiency of the proposed method. As there is not a mathematical analysis able to predict whether the performance of a learning system is better than others, experimentation plays an important role for evaluating learning systems. In this work we propose and implement a computational environment, the Discover Learning Envi- ronment — DLE — which is a framework to develop and evaluate new data pre-processing methods. The DLE is integrated into the Discover project, a major research project under development in our laboratory for planning and execution of experiments related to the use of learning systems during the Data Mining phase of the KDD process.

v

Agradecimentos

Ainda me lembro do dia que conheci a professora Carolina. Parece at´e mesmo que n˜ao faz muito tempo. Eu ainda estava cursando o segundo grau e estava passeando de f´erias pela USP. Um dos meus primos, Jos´e Pacheco, que sempre me incentivou a ingressar na carreira acadˆemica e que na ´epoca era aluno de mestrado da profa. Carolina, disse- me que iria me apresentar a sua orientadora. Chegandoa sala da profa. Carolina, ele me apresentou. Ela me cumprimentou, foi extremamente gentil, como sempre, e os dois come¸caram a tratar dos assuntos da disserta¸c˜ao de mestrado dele. Naquela ´epoca, eu jamais poderia imaginar o quanto aquela senhora, de sotaque espanhol carregado, poderia representar na minha vida. Nos ´ultimos oito anos ela n˜ao foi somente a minha orientadora de mestrado e doutorado, mas tamb´em a minha orientadora na vida. Ela me ensinou grande parte do que eu sei sobre Aprendizado de M´aquina. In´umeras foram as nossas discuss˜oes sobre o tema, e in´umeras vezes eu ouvi um doce “n˜ao ´e bem assim, filhinho” quando eu estava errado. Mas a profa. Carolina tamb´em me ensinou outras coisas t˜ao valiosas quanto o conhecimento acadˆemico. Uma delas, eu pretendo carregar comigo para sempre: a postura ´etica no trabalho e na vida. Carolina esteve comigo nos bons momentos, como nas festas de anivers´ario do Labic. Nos momentos chatos do trabalho quando nos reun´ıamos a noite e aos finais de semana para escrever artigos, e nos momentos dif´ıceis, como no falecimento de minha av´o. Minha av´o, Margarida, da qual nunca posso esquecer, sempre acolhedora, ensinou- me muito nos anos em que morei com ela na gradua¸c˜ao. Importante, tamb´em, foi o apoio que sempre recebi da minha fam´ılia. Agrade¸co aos meus pais por sempre terem me apoiado a estudar. A minha m˜ ae por sempre me apoiar nas decis˜oes que tomei em minha carreira. E, em especial, ao meu pai por freq¨uentemente me dizer que fazer uma p´os-gradua¸c˜ao era o caminho certo. Agrade¸co, tamb´em, `a Claudia, minha namorada e ao mesmo tempo minha colega de doutorado. Esses anos de doutorado teriam sido muito mais dif´ıceis se vocˆe n˜ao estivesse comigo todos os dias. Obrigado por me apoiar sempre, seja qual for a coisa que eu resolva fazer. Durante esses anos, dois amigos me ajudaram muito com o meu trabalho. Primeiro, Jos´e Augusto pelas diversas conversas sobre Minera¸c˜ao de Dados, KDD e a cria¸c˜ao do

ix

Sum´ario

Resumo iii

Abstract v

Dedicat´oria vii

Agradecimentos ix

Sum´ario xi

Lista de Figuras xvii

Lista de Tabelas xxi

Lista de Algoritmos xxiii

Lista de Abreviaturas xxv

1 Introdu¸c˜ao 1 1.1 Considera¸c˜oes Iniciais.............................. 1 1.2 Qualidade de Dados.............................. 1 1.3 Pr´e-processamento de Dados.......................... 3 1.4 Objetivos.................................... 5 1.5 Principais Contribui¸c˜oes desta Tese...................... 6 1.6 Organiza¸c˜ao deste Trabalho.......................... 9 xi

xii SUMÁRIO

xiv SUMÁRIO

  • 2 Aprendizado de M´aquina
    • 2.1 Considera¸c˜oes Iniciais
    • 2.2 O Aprendizado em Inteligˆencia Artificial
    • 2.3 Aprendizado Indutivo
    • 2.4 Aprendizado Indutivo por Exemplos
    • 2.5 Aprendizado de M´aquina Indutivo por Exemplos
      • 2.5.1 Os Paradigmas de Aprendizado de M´aquina Supervisionado
        • 2.5.1.1 Paradigma Simb´olico
        • 2.5.1.2 Paradigma Estat´ıstico
        • 2.5.1.3 Paradigma Instance-based
        • 2.5.1.4 Paradigma Conexionista
    • 2.6 Descoberta de Conhecimento em Bancos de Dados
    • 2.7 O Projeto Discover
      • 2.7.1 O Ambiente Discover
      • 2.7.2 Outros Trabalhos Realizados e em Desenvolvimento
    • 2.8 Considera¸c˜oes Finais
  • 3 Pr´e-processamento de Dados
    • 3.1 Considera¸c˜oes Iniciais
    • 3.2 O Processo de Descoberta de Conhecimento em Bancos de Dados
    • 3.3 Coleta de Dados
    • 3.4 Pr´e-processamento de Dados
    • 3.5 Transforma¸c˜ao de Dados
    • 3.6 Considera¸c˜oes Finais
  • 4 O Ambiente Discover Learning Environment — DLE
    • 4.1 Considera¸c˜oes Iniciais
    • 4.2 Os M´odulos do Ambiente DLE
    • 4.3 A Biblioteca de Classes Discover Object Library — DOL
      • 4.3.1 O Desenvolvimento da Biblioteca de Classes DOL SUMÁRIO xiii
      • 4.3.2 A Arquitetura da Biblioteca DOL
      • 4.3.3 O Projeto da Biblioteca DOL
        • 4.3.3.1 O M´odulo Core
        • 4.3.3.2 Os M´odulos ResaplingkFoldCV e ResamplingStratKFoldCV
        • 4.3.3.3 Os M´odulos DistanceHEOM e DistanceHVDM
          • lizeScalledSD 4.3.3.4 Os M´odulos NormalizeLinear, NormalizeSimpleSD e Norma-
          • eMST 4.3.3.5 Os M´odulos kNNMTree, kNNLinear, MTreeRandom e MTre-
      • 4.3.4 Outras Solu¸c˜oes para a Implementa¸c˜ao da Biblioteca DOL
    • 4.4 O Ambiente Computacional Sniffer
      • 4.4.1 O Funcionamento do Ambiente Computacional Sniffer
      • 4.4.2 A Arquitetura do Ambiente Computacional Sniffer
      • 4.4.3 O Projeto do Ambiente Computacional Sniffer
    • 4.5 Considera¸c˜oes Finais
  • 5 Tratamento de Valores Desconhecidos
    • 5.1 Considera¸c˜oes Iniciais
    • 5.2 A Aleatoriedade dos Valores Desconhecidos
    • 5.3 M´etodos para Tratamento de Valores Desconhecidos
    • 5.4 M´etodos de Imputa¸c˜ao
    • 5.5 Imputa¸c˜ao com o Algoritmo k-Vizinhos mais Pr´oximos
      • 5.5.1 O Algoritmo k-Vizinhos mais Pr´oximos
        • 5.5.1.1 O Algoritmo k-Vizinhos mais Pr´oximos B´asico
        • 5.5.1.2 O Algoritmo k-Vizinhos mais Pr´oximos com Pesos
        • 5.5.1.3 As Fun¸c˜oes de Distˆancia VDM, HEOM e HVDM
        • 5.5.1.4 Acelerando as Consultas com M-trees
      • cidos 5.6 Como os Sistemas de Aprendizado C4.5 e CN2 Tratam Valores Desconhe-
    • 5.7 An´alise Experimental
      • 5.7.1 Identifica¸c˜ao de Atributos Relevantes
      • 5.7.2 Estimando um Bom Valor para o Parˆametro k
      • 5.7.3 Resultados Experimentais
        • 5.7.3.1 O Conjunto de Dados Bupa
        • 5.7.3.2 Conjunto de Dados CMC
        • 5.7.3.3 Conjunto de Dados Pima
        • 5.7.3.4 Conjunto de Dados CRX
        • 5.7.3.5 Conjunto de Dados Breast
        • 5.7.3.6 Conjunto de Dados Sonar
    • 5.8 Considera¸c˜oes Finais
  • 6 Aprendizado com Classes Desbalanceadas
    • 6.1 Considera¸c˜oes Iniciais
    • 6.2 M´etodos para Solucionar o Problema de Classes Desbalanceadas
    • 6.3 Precis˜ao, Taxa de Erro e Classes Desbalanceadas
    • 6.4 Conjuntos Desbalanceados e Aprendizado Sens´ıvel ao Custo
    • 6.5 Qual Propor¸c˜ao de Classes ´e Melhor para Aprender?
    • 6.6 Como Descartar ou Duplicar Exemplos?
    • 6.7 Under-sampling, Over-sampling e os Atuais Sistemas de Aprendizado
    • 6.8 An´alise Experimental
    • 6.9 Considera¸c˜oes Finais
  • 7 Conclus˜ao
    • 7.1 Considera¸c˜oes Iniciais
    • 7.2 Principais Contribui¸c˜oes
      • 7.2.1 Tratamento de Valores Desconhecidos
      • 7.2.2 Tratamento de Conjuntos com Classes Desbalanceadas SUMÁRIO xv
    • 7.3 Limita¸c˜oes
      • 7.3.1 Tratamento de Valores Desconhecidos
      • 7.3.2 Tratamento de Conjuntos com Classes Desbalanceadas
    • 7.4 Trabalhos Futuros
  • A A Sintaxe Discover Dataset Sintax — DSX
    • A.1 Considera¸c˜oes Iniciais
    • A.2 Uma Vis˜ao Geral da Sintaxe DSX
    • A.3 Os Tipos de Dado da Sintaxe DSX
      • A.3.1 O Tipo de Dado Nominal
      • A.3.2 O Tipo de Dado Enumerated
      • A.3.3 O Tipo de Dado Integer
      • A.3.4 O Tipo de Dado Real
      • A.3.5 O Tipo de Dado String
      • A.3.6 O Tipo de Dado Date
      • A.3.7 O Tipo de Dado Time
    • A.4 Atributos Virtuais
    • A.5 Declara¸c˜oes Estendidas
    • A.6 Gram´atica da Sintaxe DSX
  • B Relat´orios do Ambiente Sniffer
    • B.1 Exemplo de Relat´orio Resumido
    • B.2 Exemplo de Relat´orio Detalhado
    • B.3 Exemplo de Relat´orio com Testes Hip´otese
  • Referˆencias

Lista de Figuras

2.1 Representa¸c˜ao gr´afica de um conjunto de exemplos (a) e uma poss´ıvel hi- p´otese para o conceito representado por esses exemplos (b).......... 15 2.2 Atualiza¸c˜ao de uma hip´otese. Hip´otese consistente (a). Falso negativo (b). Hip´otese generalizada (c). Falso positivo (d). Hip´otese especializada (e).. 16 2.3 A hierarquia do aprendizado.......................... 20

3.1 Principais fases do processo de KDD...................... 34

4.1 Exemplo de intera¸c˜ao entre m´odulos da biblioteca DOL........... 60 4.2 Arquitetura do mecanismo de envio de mensagens da biblioteca DOL.... 61 4.3 Diagrama de classes em UML do projeto do m´odulo Core........... 65 4.4 Diagrama de classes em UML do projeto dos m´odulos ResaplingkFoldCV e ResamplingStratKFoldCV............................. 67 4.5 Diagrama de classes em UML do projeto dos m´odulos DistanceHEOM e DistanceHVDM.................................. 69 4.6 Diagrama de classes em UML do projeto dos m´odulos NormalizeLinear, Nor- malizeSimpleSD e NormalizeScalledSD...................... 71 4.7 Diagrama de classes em UML do projeto dos m´odulos kNNMTree, kNNLi- near, MTreeRandom e MTreeMST........................ 72 4.8 Exemplo de experimento organizado em diret´orios para o ambiente Sniffer. 78 4.9 Arquitetura do ambiente computacional Sniffer............... 83 4.10 Projeto do m´odulo SearchandRun do ambiente computacional Sniffer... 85 xvii

xviii LISTA DE FIGURAS

4.11 Projeto dos m´odulos Report e HypothesisTest do ambiente computacional Sniffer..................................... 86

5.1 Exemplo de valores desconhecidos n˜ao aleatoriamente distribu´ıdos...... 92 5.2 Exemplo de uma estrutura M-tree....................... 107 5.3 Representa¸c˜ao gr´afica da M-tree apresentada na Figura 5.2.......... 108 5.4 Representa¸c˜ao gr´afica da metodologia utilizada nos experimentos...... 114 5.5 Conjunto de dados Bupa. Erro mse medido sobre o atributo 4 para diver- sos valores do parˆametro k do m´etodo de imputa¸c˜ao baseado no algoritmo k-vizinhos mais pr´oximos. Valores desconhecidos inseridos no atributo

  1. Imputa¸c˜ao pela m´edia ou moda obteve erros mse no intervalo [1616. 44 ± 56. 69 , 1704. 55 ± 118 .03]....................... 119 5.6 Conjunto de dados Pima. Erro mse medido sobre o atributo 1 para diver- sos valores do parˆametro k do m´etodo de imputa¸c˜ao baseado no algoritmo k-vizinhos mais pr´oximos. Valores desconhecidos inseridos no atributo
  2. Imputa¸c˜ao pela m´edia ou moda obteve erros mse no intervalo [989. 81 ± 29. 45 , 1044. 24 ± 50 .58]........................ 120 5.7 Conjunto de dados Breast. Erro mse medido sobre o atributo 1 para diver- sos valores do parˆametro k do m´etodo de imputa¸c˜ao baseado no algoritmo k-vizinhos mais pr´oximos. Valores desconhecidos inseridos no atributo
  3. Imputa¸c˜ao pela m´edia ou moda obteve erros mse no intervalo [8. 98 ± 0. 33 , 9. 39 ± 0 .12]............................. 121 5.8 Compara¸c˜ao do m´etodo 10-NNI com as estrat´egias internas utilizada pelos indutores C4.5 e CN2 e com a imputa¸c˜ao pela m´edia ou moda para o conjunto de dados Bupa. Na Tabela 5.3 s˜ao apresentados os resultados na forma num´erica................................ 123 5.9 Compara¸c˜ao do m´etodo 10-NNI com as estrat´egias internas utilizada pelos indutores C4.5 e CN2 e com a imputa¸c˜ao pela m´edia ou moda para o conjunto de dados CMC. Na Tabela 5.4 s˜ao apresentados os resultados na forma num´erica................................ 125