Escolar Documentos
Profissional Documentos
Cultura Documentos
e Classificação
Engenharia de Atributos
Revisão Textual:
Prof.ª Dr.ª Luciene Oliveira da Costa Granadeiro
Engenharia de Atributos
OBJETIVOS DE APRENDIZADO
• Explorar problemas preditivos com dados;
• Descrever cenários de aplicações para uso de engenharia de atributos;
• Aplicar técnicas de engenharia de atributos.
UNIDADE Engenharia de Atributos
Importante!
Segundo a Google, o dado supera tudo! É verdade que atualizar o seu algoritmo de
aprendizagem permitirá que você aprenda diferentes tipos de padrões, mas se os seus
dados são ruins, você acabará construindo modelos que se ajustam a algo errado. A qua-
lidade dos dados importa muito mais do que qualquer algoritmo que você utilize!
Transformação de dados
8
conjunto de dados seja bastante conhecido e você possa encontrá-lo em diversos
outros exemplos didáticos, algumas modificações foram realizadas para estudarmos
os procedimento da engenharia de atributos.
Em nosso conjunto de dados, você poderá observar a presença de 14 objetos (ou
exemplos) e dos seguintes 5 atributos:
• ID: descrição nominal em formato numérico com distintos valores;
• Tempo: descrição nominal do tempo, com 3 possíveis valores;
• Temperatura: medida numérica contína da temperatura em ºC;
• Umidade: medida numérica discreta da umidade em percentagem;
• Vento: descrição nominal da qualidade do vento, com 2 possíveis valores;
• Partida: descrição nominal da decisão do jogador, com 2 possíveis valores.
Embora esse conjunto de dados seja bastante utilizado em tarefas de classificação e
designe o atributo “Partida” como o atributo-alvo, consideraremos todos os atributos
com igual importância, exceto se manifestarmos explicitamente o contrário.
Tabela 1 – Conjunto com dados climáticos
ID Tempo Temperatura Umidade Vento Partida
1 Ensolarado 38,9 86 Fraco Não
2 Ensolarado 29,4 65 Forte Não
3 Nublado 25,4 90 Fraco Sim
4 Chuvoso 22,5 75 Fraco Sim
5 Chuvoso 19,3 96 Fraco Sim
6 Chuvoso 21,5 80 Forte Não
7 Nublado 20,7 70 Forte Sim
8 Ensolarado 22,6 80 Fraco Não
9 Ensolarado 19,8 91 Fraco Sim
10 Chuvoso 23,4 85 Fraco Sim
11 Ensolarado 24,9 90 Forte Sim
12 Nublado 22,7 95 Forte Sim
13 Nublado 28,6 70 Fraco Sim
14 Chuvoso 23,1 70 Forte Não
Você Sabia?
Um das primeiras coisas que você deve realizar após visualizar os dados presentes no
conjunto de dados é entender esse conjunto de dados de maneira analítica.
Como você pode fazer isso?
Por meio da Análise Exploratória de Dados, você poderá extrair medidas resumo (como
medidas de tendência central, dispersão e simetria) e plotar gráficos a fim de compre-
ender melhor como os dados se comportam.
Nas próximas seções, você vai descobrir quais são as principais técnicas de pré-
-processamento de dados e seleção de atributos que podem ser aplicadas ao nosso
conjunto de dados.
9
9
UNIDADE Engenharia de Atributos
Pré-processamento de Dados
Quando falamos em pré-processamento de dados, estamos nos referindo a técni-
cas que podem incluir, deletar ou transformar os dados do conjunto de treinamento.
Embora muitas vezes tenhamos o foco nos processos de modelagem e Machine
Learning, a preparação de dados pode fazer a diferença na habilidade preditiva do
modelo, como na redução do impacto do desbalanceamento e também outliers.
Não se esqueça que mais de uma técnica pode ser aplicada ao mesmo conjunto
de dados, atributo ou objeto. Ou seja, é possível aplicar a eliminação de atributos e
a limpeza de dados no mesmo conjunto de dados. Isso significa que as técnicas não
são mutuamente exclusivas e você necessita escolher apenas uma. Como em todo
problema de Analytics e Data Science, você deverá analisar o problema antes de
determinar qual técnica de engenharia de atributos utilizar.
Eliminação de Atributos
Se o objetivo da nossa tarefa preditiva é predizer se devemos jogar uma partida
de tênis observando as condições climáticas, certamente o atributo ID em nada nos
ajudará nessa decisão. Se ID = 1, será que devemos jogar tênis? E se ID = 2? E se
ID = 3? Você já deve ter percebido que esse atributo em nada pode influcienciar na
decisão de uma pessoa em jogar tênis ou não.
Nesse caso, convém eliminarmos esse atributo do conjunto de dados antes de apli-
carmos algum algoritmo de Machine Learning. O resultado final será o apresentado
na Tabela 2.
Tabela 2 – Conjunto com dados climáticos sem o atributo ID
Tempo Temperatura Umidade Vento Partida
Ensolarado 38,9 86 Fraco Não
Ensolarado 29,4 65 Forte Não
Nublado 25,4 90 Fraco Sim
Chuvoso 22,5 75 Fraco Sim
Chuvoso 19,3 96 Fraco Sim
Chuvoso 21,5 80 Forte Não
Nublado 20,7 70 Forte Sim
Ensolarado 22,6 80 Fraco Não
Ensolarado 19,8 91 Fraco Sim
Chuvoso 23,4 85 Fraco Sim
Ensolarado 24,9 90 Forte Sim
Nublado 22,7 95 Forte Sim
Nublado 28,6 70 Fraco Sim
Chuvoso 23,1 70 Forte Não
10
A remoção de atributos também é muito utilizado quando o atributo possui o mesmo
valor para todos os objetos. Nesse caso, ele se torna irrelevante por não conter infor-
mação que ajude a discriminar os objetos.
Integração de Dados
A integração de dados é uma tarefa que considera a manipulação de mais de um
conjunto de dados. Muitas vezes, os dados que precisamos estão distribuídos em
diversos servidores, dispositivos ou aplicações, e é necessário identificar quais são os
objetos que estão presentes nos diferentes conjuntos de dados que serão combinados.
Dessa forma, a identificação dos objetos nos conjuntos de dados distintos é rea-
lizada por meio de atributos comuns, como um identificador. No nosso exemplo, o
atributo ID pode ajudar – antes de ser removido – a localizar outras informações a
respeito das partidas de tênis, dos jogadores ou das condições climáticas.
Ou seja, a quantidade de Sim é quase 2 vezes maior de que Não, indicando o des-
balancemento do conjunto de dados. Em termos percentuais, o valor Não corresponde
a 35,7% do conjunto de dados, enquanto o valor Sim representa 64,3% dos objetos.
11
11
UNIDADE Engenharia de Atributos
Uma das melhores práticas para balancear o conjunto de dados é gerar novos
dados a partir do processo original e equilibrar as classes. Porém, na maior parte das
vezes, isso não é possível. Uma alternativa é balancear os dados de maneira artificial,
utilizando uma dessas técnicas (FACELLI et al., 2011):
• Redefinir o tamanho do conjunto de dados: nesta situação, podemos tanto
incluir novos objetos à classe minoritária quanto eliminar objetos da classe ma-
joritária. É importante estar atento à essa solução, pois pode ocorre overfitting
ou underfitting.
• Utilizar diferentes custos de classificação: apesar de bastante comum, nem
sempre é fácil definir o custo de cada classe. A existência de um grande número
de objetos semelhantes na classe majoritária pode aproximar sua distribuição
de exemplos relevantes para o treinamento da distribuição presente na classe
minoritária, fazendo com que custos diferentes tenham como efeito privilegiar a
classificação na classe minoritária;
• Induzir um modelo para uma classe: nesta situação, as classes são apren-
didas separadamente pelo algoritmo. Embora menos comum, a classificação
com apenas uma classe pode ser uma alternativa interessante no tratamento de
dados desbalanceados.
O artigo científico de Larry Manevitz e Malik Yousef intitulado One-Class SVMs for Document
Classification implementa versões do algoritmo SVM para classificação em conjuntos de da-
dos de texto com apenas uma classe. Vale a pena a leitura!
Disponível em: https://bit.ly/31t9gmU
Limpeza de Dados
A qualidade de dados é um dos tópicos mais importantes na gestão de dados.
O DMBOK (Data Management Body of Knowledge), escrito por mais de 120 espe-
cialistas em gestão de dados, aponta a gestão de qualidade de dados como uma das
atividades para garantir a adequação dos dados ao uso pretendido. Entre os princi-
pais problemas com a qualidade, encontramos:
• Dados ruidosos: possuem erros ou valores diferentes do esperado. Por exemplo
Idade = 315;
• Dados inconsistentes: contradizem valores de outros atributos do mesmo
objeto. Por exemplo, Cidade = ‘São Paulo’ e UF = ‘DF’;
12
• Dados redundantes: ocorre quando dois ou mais objetos possuem os mesmos
valores para todos os atributos. Por exemplo, Autor = ‘José Carlos da Silva’ e
Escritor = ‘José Carlos da Silva’;
• Dados incompletos: ausência de valores para alguns dos atributos em parte
dos dados.
Trocando Ideias...
O ruído se tornou tão importante no mundo que o estatístico americano Nate Silver – co-
nhecido por ter previsto corretamente os resultados das eleição presidenciais americanas em
2008 e 2012 – escreveu o livro O Sinal e o Ruído destacando como e por quê algumas pre-
visões falham, e como podemos melhorar nossas análises a partir da identificação de ruídos.
13
13
UNIDADE Engenharia de Atributos
o seu valor para todos os objetos pode ser deduzido a partir do valor de um ou mais
atributos. No caso de objetos redundantes, podemos apenas fazer a identificação dos
objetos e a eliminação das redundâncias. No caso de atributos redundantes (como
Idade e Data de Nascimento, que apresentam as mesmas informações preditivas),
basta remover um dos atributos.
Transformação de Dados
A transformação de dados é com certeza uma das etapas mais importantes para
a análise preditiva. Embora todas as outras etapas vistas até o momento também
sejam importantes, é na transformação de dados que chegaremos mais próximos do
processo de aprendizagem e na escolha dos algoritmos de Machine Learning para
o nosso problema.
Transformação simbólico-numérico
Quando o atributo que desejamos transformar é binário – ou seja, possui ape-
nas dois valores distintos – e representa uma situação ordinal ou indica a ausência/
presença da característica, podemos simplesmente utilizar os numerais 0 e 1 para
essa transformação. A Tabela 3 mostra como ficaria a transformação binária para
o atributo Vento (ordinal) e o atributo-alvo Partida nos atributos Vento (Binário) e
Partida (Binário), respecitvamente.
14
Tabela 3 – Transformação binária
Vento Vento (Binário) Partida Partida (Binário)
Fraco 0 Não 0
Forte 1 Não 0
Fraco 0 Sim 1
Fraco 0 Sim 1
Fraco 0 Sim 1
Forte 1 Não 0
Forte 1 Sim 1
Fraco 0 Não 0
Fraco 0 Sim 1
Fraco 0 Sim 1
Forte 1 Sim 1
Forte 1 Sim 1
Fraco 0 Sim 1
Forte 1 Não 0
15
15
UNIDADE Engenharia de Atributos
Muitos algoritmos exigem que os dados de entrada sejam apenas numéricos. Re-
des neurais e SVMs fazem parte dessa categoria. Dessa forma, é importante estudar
o funcionamento dos algoritmos que você irá selecionar antes de elaborar o processo
de engenharia de atributos mais adequado ao problema.
Transformação numérico-simbólico
Existem alguns algoritmos de aprendizagem que foram construídos para trabalhar
com atributos nominais, como algumas árvores de decisão e indutores de regras de
decisão. Em geral, se utilizarmos ou transformarmos os atributos em valores quanti-
tativos, o desempenho do algoritmo pode ser afetado negativamente.
Seleção de Atributos
O objetivo da seleção de atributos é reduzir a dimensão do conjunto de dados
selecionando novos atributos que são um subconjunto dos atributos antigos. Apesar
de muitos algoritmos serem projetados para selecionar os atributos mais apropriados
de acordo com o critério de representação do próprio algoritmo, um conjunto de
técnicas pode colaborar na escolha das melhores características.
16
irrelevantes. Já o naïve Bayes, por assumir que todos os atributos são independentes
entre si, ignora os atributos irrelevantes, embora sofra com atributos redundantes.
17
17
UNIDADE Engenharia de Atributos
Material Complementar
Indicações para saber mais sobre os assuntos abordados nesta Unidade:
Vídeos
Etapas da Mineração de Dados
https://youtu.be/j1yjamuaOKY
O que é o BI – Começando pelo ETL
https://youtu.be/gR0H5oyii7Q
Leitura
Aprendizado supervisionado com conjuntos de dados desbalanceados
https://bit.ly/37vjG9t
Seleção de atributos importantes para a extração de conhecimento de bases de dados
https://bit.ly/2TdSJPg
18
Referências
DE CASTRO, L. N.; FERRARI, D. G. Introdução à mineração de dados: conceitos
básicos, algoritmos e aplicações. São Paulo: Saraiva, 2016.
19
19