Você está na página 1de 20

APLICAÇÕES EM

APRENDIZADO DE MÁQUINA

Pré-processamento de Dados
PRÉ-PROCESSAMENTO DE DADOS
Conjuntos de dados podem apresentar diferentes características,
dimensões ou formatos. Podem ainda estar limpos ou conter ruídos e
imperfeições, com valores incorretos, inconsistentes, duplicados ou
ausentes.

Os algoritmos de AM são geralmente sensíveis ao conjunto de dados,


podendo ter seu desempenho afetado pelo seu estado.
PRÉ-PROCESSAMENTO DE DADOS
Técnicas de pré-processamento:

Algumas técnicas utilizadas para o pré-processamento de dados são:

• Integração de dados
• Eliminação manual de atributos
• Amostragem de dados
• Balanceamento de dados
• Limpeza de dados (Incompletos, Inconsistentes, Redundantes, Com ruído)
• Transformação de dados
• Conversões: simbólico-numérico, numérico-simbólico
• Regularização de atributos
• Redução de dimensionalidade: agregação, seleção de atributos
PRÉ-PROCESSAMENTO DE DADOS
Integração de Dados:

Muitas vezes os dados utilizados para formar um conjunto de dados são provenientes de
diferentes fontes.

A integração de dados busca identificar a correspondência entre os objetos e seus


atributos nas diferentes bases de dados para a sua integração em um único conjunto.
Assim na integração de dados:
• Objetos correspondentes com diferentes atributos nos conjuntos
originais podem, por exemplo, compor um único objeto do conjunto
integrado. (e.g. ficha médica do mesmo paciente em diferentes
hospitais)
• Atributos correspondentes com nomes diferentes em bases de
dados distintas são convertidos em um único atributo no conjunto
integrado.
• Muitas vezes são utilizados metadados (dados sobre os dados) para
identificação de atributos equivalentes, mas com nomes diferentes
ou em diferentes escalas nas bases de origem.
PRÉ-PROCESSAMENTO DE DADOS
Eliminação manual de atributos:

Alguns atributos podem não ser relevantes para o aprendizado. Um número muito grande
de atributos pode inclusive comprometer o desempenho do algoritmo de aprendizado.

É comum que um especialista na área de dados defina quais atributos serão utilizados para
formar os objetos no conjunto de dados.

Exemplos de eliminação de atributos:


atributos que possuem o mesmo valor para todos os objetos

atributos de “id”, “nome”, em um objeto para diagnóstico.


PRÉ-PROCESSAMENTO DE DADOS
Amostragem de dados:

Busca reduzir o tamanho do conjunto de dados sem perder a distribuição estatística do


conjunto original, o que permite obter uma acurácia (taxa de predições corretas) próxima à
que seria obtida utilizando o conjunto original, porém de treinamento menor.

Existe um trade-off entre acurácia e esforço computacional. À medida


que o número de exemplos aumenta, a acurácia tende a aumentar, mas
muitas vezes o esforço computacional passa a ser proibitivo.

Alguns algoritmos de AM, como o k-NN, podem apresentar problemas


de saturação de memória quando um conjunto possui muitos
exemplos.
PRÉ-PROCESSAMENTO DE DADOS
Balanceamento de dados:

Em vários conjuntos de dados, o número de objetos varia de forma significativa entre as


diferentes classes (muitos exemplos para algumas classes e pouco para outras). Vários
algoritmos de AM têm seu desempenho prejudicado na presença de dados
desbalanceados.
As principais técnicas utilizadas para o balanceamento de dados são:
• Redefinir o tamanho do conjunto de dados: pode ocorrer tanto
acréscimo de objetos à classe minoritária quanto redução do
número de objetos da classe majoritária.

• Utilizar diferentes custos de classificação para diferentes classes: o


cálculo do erro na função de custo pode ser ponderado de acordo
com a classe. (classe minoritária teria maior peso no aprendizado)

• Induzir um modelo para uma classe: nesta abordagem, as classes


são aprendidas separadamente. (técnica que utiliza modelo de
classificação com apenas uma classe)
PRÉ-PROCESSAMENTO DE DADOS
Limpeza de Dados:

Conjuntos de dados podem apresentar problemas relacionados à qualidade dos dados,


tais como: valores inconsistentes, redundantes, incompletos ou ainda ruidosos.

As fontes causadoras de problemas nos conjuntos de dados podem ser as mais variadas:
problemas de coleta, armazenamento, transmissão, manipulação humana, ou ainda um
processo de integração de dados.

Alguns algoritmos de AM conseguem lidar com imperfeições de dados,


porém, existem algoritmos que são severamente penalizados ou ainda
não toleram tais imperfeições. Além disso, esses problemas podem
levar a estatísticas e análises incorretas.
PRÉ-PROCESSAMENTO DE DADOS
Limpeza de dados
Dados incompletos

Quando em um conjunto de dados ocorre ausência de valores de atributos, algumas técnicas


podem ser empregadas:

A escolha de uma ou outra abordagem depende fortemente do número de objetos, atributos


e dos recursos disponíveis.
• Eliminação dos objetos com valores ausentes (e.g. se o atributo alvo está
ausente). Não é recomendada se o conjunto possuir poucos elementos.
• Definir e preencher manualmente valores para atributos ausentes. (Não é
factível se o número de valores a preencher for muito elevado)
• Empregar algoritmos de AM que possam lidar com valores ausentes (e.g.
algoritmos indutores de árvores de decisão não conseguem lidar com
ausência de atributos)
• Utilizar algum método ou heurística para automaticamente definir valores
de atributos ausentes (e.g. interpolação, média). É a técnica mais
utilizada.
PRÉ-PROCESSAMENTO DE DADOS
Limpeza de dados
Dados redundantes

A redundância pode ocorrer tanto para atributos como para objetos de um conjunto de
dados.

Um atributo é redundante quando seu valor, para todos os objetos, pode ser obtido a partir
do valor e outro atributo ou de uma combinação de atributos (o cálculo da correlação pode
auxiliar na identificação de relações entre atributos).

Um objeto pode ainda ser considerado redundante quando não existe


variação significativa entre os valores de seus atributos e os atributos
de um outro objeto do conjunto.

Se a redundância não for eliminada, o algoritmo de AM utilizado pode


atribuir ao objeto repetido uma importância maior que aos demais
objetos. Além disso, o tempo necessário para a indução de um modelo
pode aumentar.
PRÉ-PROCESSAMENTO DE DADOS
Limpeza de dados
Dados inconsistentes

Dados inconsistentes são aqueles cujos valores são conflitantes entre seus atributos (e.g.
idade=3 anos, peso=340 kg).

Dados inconsistentes muitas vezes são resultado do processo de integração de dados


(diferentes conjuntos podem usar escalas diferentes para um mesmo atributo).

É possível detectar inconsistência de dados por técnicas de


identificação de ruído, ou ainda através de algoritmos simples que
podem verificar automaticamente se relacionamentos existentes entre
atributos são violados.
PRÉ-PROCESSAMENTO DE DADOS
Limpeza de dados
Dados com Ruído

Dados com ruído são dados corrompidos por valores aleatórios. Podendo o ruído se somar
ou multiplicar o valor original.

Um indicador de possível presença de ruído, em um conjunto de dados, é a existência de


outliers ou borderlines . outliers

bordelines

Algumas técnicas utilizadas para redução do ruído serão vistas a seguir


PRÉ-PROCESSAMENTO DE DADOS
Limpeza de dados
Técnicas de limpeza de dados com ruído

Técnicas de encestamento: Os valores de um atributo são ordenados para todos os objetos,


depois são divididos em faixas de valores ou “cestas”. Os valores, dentro de uma mesma
“cesta”, são substituídos pela média ou mediana.

Técnicas baseadas em agrupamento: podem ser utilizadas para objetos e atributos. São
utilizadas técnicas de agrupamento. Os valores que não formam grupos são considerados
outliers.

Técnicas baseadas em distância: procuram por objetos muito próximos à


fronteira entre duas classes (borderline). Objetos estes, que são
considerados relativamente inseguros e facilmente movíveis para o lado
errado da fronteira pelo efeito do ruído.

Técnicas baseadas em regressão: utilizam uma função de regressão para


estimar o valor verdadeiro de um dado ruidoso.
PRÉ-PROCESSAMENTO DE DADOS
Transformação de dados:

As técnicas de AM normalmente estão associadas à manipulação de valores de


determinados tipos como, por exemplo, apenas valores numéricos ou apenas valores
simbólicos.

O intervalo de variação dos valores numéricos também pode influenciar o desempenho do


aprendizado em algumas situações.

Dependendo das características do conjunto de dados e da técnica de


AM que será utilizada, pode ser necessária um conversão Simbólico-
Numérico, ou ainda Numérico-Simbólico.
PRÉ-PROCESSAMENTO DE DADOS
Transformação de dados
Conversão Simbólico-Numérico (atributo nominal):

Se o atributo simbólico assume apenas dois valores, um digito binário (0 e 1) normalmente é suficiente.

Se existem mais de dois valores, mas o atributo é nominal, a relação entre quaisquer dois valores deve
ser a mesma, e, portanto, esta característica deve ser mantida no mapeamento para valores numéricos.
Ou seja, a diferença entre quaisquer dois atributos deve ser a mesma.

Uma maneira de manter a diferença entre quaisquer dois atributos igual, é


através da codificação binária 1-de-c (canônica ou topológica), onde c
representa o número de atributos ou categorias possíveis e também o
comprimento da palavra codificada.
Codificação 1–de – c
Atributo nominal Código 1–de–c
Azul 100000
Amarelo 010000
Verde 001000
Preto 000100 Fonte:Inteligência
Artificial - Uma
Marrom 000010 Abordagem de
Aprendizado de
Branco 000001 Máquina
PRÉ-PROCESSAMENTO DE DADOS
Transformação de dados
Conversão Simbólico-Numérico (atributo ordinal):

Quando existe uma relação de ordem, ou seja, o atributo é do tipo ordinal, a codificação deve preservar
esta relação. Quando o valor numérico é um inteiro ou real, a transformação é direta. Uma conversão
para valores binários também pode ser realizada, utilizando-se o sistema de numeração binário ou ainda
algum mapeamento que reflita o caráter ordinal dos valores do atributo.

Valor ordinal Valor inteiro Valor binário


Primeiro 0 000
Segundo 1 001
Terceiro 2 010
Quarto 3 011
Quinto 4 100
Sexto 5 101
PRÉ-PROCESSAMENTO DE DADOS
Transformação de dados
Conversão Numérico-Simbólico:

Se o atributo quantitativo for do tipo discreto e binário, com apenas dois valores, a
conversão é trivial. Basta associar um nome a cada valor.

Se o atributo original for formado por sequências binárias sem uma relação de ordem entre
si, cada sequência pode ser substituída por um nome ou categoria.

Nos demais casos, métodos de discretização permitem transformar


atributos quantitativos em qualitativos. Para isso, eles transformam
valores numéricos em intervalos ou categorias. (e.g. faixas de valores
numéricos de temperatura em {frio, morno, quente}.)
PRÉ-PROCESSAMENTO DE DADOS
Transformação de dados
Transformação de atributos numéricos (regularização):

Quando os dados de entrada possuem um valor de offset ou uma dispersão muito grande de valores, a
normalização das entradas pode auxiliar na velocidade do aprendizado. A normalização geralmente
ajuda na velocidade do aprendizado.

A ideia básica na normalização das entradas está em subtrair a média das entradas e em seguida dividir
pelo desvio padrão:
PRÉ-PROCESSAMENTO DE DADOS
Transformação de dados
Redução da dimensionalidade:

Em muitos algoritmos de AM, para que dados com um número elevado de atributos possam
ser utilizados, a quantidade de atributos precisa ser reduzida. (e.g uma imagem RGB
1024x1024 pixel tem 3.145.728 atributos)

Normalmente a redução da dimensionalidade é conseguida por técnicas de Agregação ou


Seleção de atributos:

Agregação: Combinam os atributos originais por meio de funções


lineares ou não lineares, de forma a obter um menor número de
atributos.

Seleção de Atributos: Essas técnicas, em geral, procuram por um


subconjunto ótimo de atributos de acordo com um dado critério.
(busca eliminar atributos considerados redundantes ou irrelevantes
segundo algum critério)
APLICAÇÕES EM
APRENDIZADO DE MÁQUINA

Pré-processamento de Dados

Você também pode gostar