Curso de Data Mining
Sandra de Amo
Aula 8 - Introdução à Classificação
Suponha que você é gerente de uma grande loja e disponha de um banco de dados de
clientes, contendo informações tais como nome, idade, renda mensal, profissão e se comprou
ou não produtos eletrônicos na loja. Você está querendo enviar um material de propaganda
pelo correio a seus clientes, descrevendo novos produtos eletrônicos e preços promocionais de
alguns destes produtos. Para não fazer despesas inúteis você gostaria de enviar este material
publicitário apenas a clientes que sejam potenciais compradores de material eletrônico. Outro
ponto importante : você gostaria de, a partir do banco de dados de clientes de que dispõe no
momento, desenvolver um método que lhe permita saber que tipo de atributos de um cliente
o tornam um potencial comprador de produtos eletrônicos e aplicar este método no futuro,
para os novos clientes que entrarão no banco de dados. Isto é, a partir do banco de dados que
você tem hoje, você quer descobrir regras que classificam os clientes em duas classes : os que
compram produtos eletrônicos e os que não compram. Que tipos de atributos de clientes (idade,
renda mensal, profissão) influenciam na colocação de um cliente numa ou noutra classe? Uma
vez tendo estas regras de classificação de clientes, você gostaria de utilizá-las no futuro para
classificar novos clientes de sua loja.
Por exemplo, regras que você poderia descobrir seriam :
Se idade está entre 30 e 40 e a renda mensal é ‘Alta’ então ClasseProdEletr = ‘Sim’.
Se idade está entre 60 e 70 então ClasseProdEletr = ‘Não’.
Quando um novo cliente João, com idade de 25 anos e renda mensal ‘Alta’ e que tenha
comprado discos, é catalogado no banco de dados, o seu classificador lhe diz que este cliente é um
potencial comprador de aparelhos eletrônicos. Este cliente é colocado na classe ClasseProdEletr
= ‘Sim’, mesmo que ele ainda não tenha comprado nenhum produto eletrônico.
1
O que é um classificador ?
Classificação é um processo que é realizado em três etapas :
1. Etapa da criação do modelo de classificação. Este modelo é constituı́do de regras que
permitem classificar as tuplas do banco de dados dentro de um número de classes prédeterminado. Este modelo é criado a partir de um banco de dados de treinamento. cujos
elementos são chamados de amostras ou exemplos.
1
Por exemplo, vamos considerar o seguinte banco de dados de treinamento :
Nome
Daniel
João
Carlos
Maria
Paulo
Otávio
Idade
=< 30
41..50
41..50
41..50
=< 30
> 60
Renda
Média
Média-Alta
Média-Alta
Baixa
Baixa
Média-Alta
Profissão
Estudante
Professor
Engenheiro
Vendedora
Porteiro
Aposentado
ClasseProdEletr
Sim
Sim
Sim
Não
Não
Não
Esta etapa também é chamada de Etapa de Aprendizado : através de técnicas especiais
de aprendizado aplicadas no banco de dados de treinamento, um modelo de classificação
é criado e as seguintes regras de classificação são produzidas :
(a) Se idade = 41..50 e Renda = Média-Alta então ClasseProdEletr = Sim.
(b) Se Renda = Baixa então ClasseProdEletr = Não.
O atributo correspondente à classe, no caso do exemplo, o atributo CompraProdEletr, é
chamado de Atributo-Classe. Em “Classificação”, o Atributo-Classe é fornecido, bem
como os possı́veis valores que possa assumir. Neste caso, o processo de aprendizado
(criação do modelo, isto é, das regras de classificação) é chamado de supervisionado. Em
contrapartida, em “Clustering”, o atributo-classe não é conhecido e o número de classes
também não. Neste caso, o processo de aprendizado é dito não supervisionado.
2. Etapa da verificação do modelo ou Etapa de Classificação : as regras são testadas
sobre um outro banco de dados, completamente independente do banco de dados de
treinamento, chamado de banco de dados de testes. A qualidade do modelo é medida em
termos da porcentagem de tuplas do banco de dados de testes que as regras do modelo
conseguem classificar de forma satisfatória. É claro que se as regras forem testadas no
próprio banco de dados de treinamento, elas terão alta probabilidade de estarem corretas,
uma vez que este banco foi usado para extraı́-las. Por isso a necessidade de um banco de
dados completamente novo.
Por exemplo, consideremos o seguinte banco de dados de testes :
Nome
Pedro
José
Luiza
Carla
Wanda
Felipe
Idade
41..50
41..50
41..50
=< 30
=< 30
> 60
Renda
Média-Alta
Média-Alta
Média-Alta
Baixa
Baixa
Média-Alta
Profissão
Ecologista
Professor
Assistente Social
Vendedora
Faxineira
Aposentado
ClasseProdEletr
Não
Não
Não
Não
Não
Não
As tuplas (1), (2), (3) não são bem classificadas pelo modelo. As tuplas (4),(5),(6) o são.
Logo, o grau de acertos (accuracy) do modelo é de 50%. Caso este grau de acertos for
considerado bom, pode-se passar para a etapa seguinte.
2
3. Etapa da utilização do modelo em novos dados : após o modelo ter sido aprovado nos
testes da etapa anterior, ele é aplicado em novos dados.
2
Métodos de Classificação - Critérios de Comparação
de métodos
Nas próximas aulas vamos estudar alguns métodos de classificação. Tais métodos podem
ser comparados e avaliados de acordo com os seguintes critérios:
1. O grau de acertos (accuracy) : este critério refere-se a capacidade do modelo em
classificar corretamente as tuplas do banco de dados de testes.
2. Rapidez : refere-se ao tempo gasto no processo de classificação.
3. Robustez : refere-se à abilidade do modelo em fazer uma classificação correta mesmo em
presença de ruı́dos ou valores desconhecidos em alguns campos dos registros.
4. Escalabilidade : refere-se à eficiência do processo de aprendizado (construção do modelo)
em presença de grandes volumes de dados de treinamento.
5. Interpretabilidade : refere-se ao nı́vel de entendimento que o modelo fornece, isto é, o
quanto as regras fornecidas são entendidas pelos usuários do classificador.
3
Preparando os dados para classificação
Os seguintes passos de pré-processamento podem ser aplicados aos dados a fim de aumentar
a qualidade (accuracy), eficiência e escalabilidade do processo de classificação.
1. Limpeza dos dados : remover ruı́dos e resolver problemas de tuplas com valores desconhecidos, por exemplo, substituindo estes valores pelos valores mais correntes do atributo
correspondente, ou o valor mais provável, baseado em estatı́stica. Este passo ajuda a
reduzir possı́vel confusão durante o aprendizado.
2. Análise de Relevância : Alguns atributos podem ser totalmente irrelevantes para a
tarefa de classificação. Por exemplo, a informação sobre telefone e e-mail dos clientes não
influencia sua classificação em “Comprador de Produto Eletrônico” ou “Não comprador de
Produto Eletrônico”. Assim, é importante se fazer uma análise prévia de quais atributos
realmente são essenciais para a tarefa de classificação.
3. Transformação dos Dados :
– Categorização : Atributos que assumem uma grande variedade de valores, podem
ser agrupados em algumas poucas categorias. Por exemplo, a renda mensal do cliente
pode ser agrupada em 4 categorias : Baixa, Média, Média-Alta e Alta. A idade do
cliente também pode ser agrupada em faixas etárias : =< 20, 21..30, > 60, etc.
– Generalização : Certos atributos, como RUA, podem ser substituı́dos por um atributo mais geral CIDADE. Assim, ao invés de registrar a rua onde mora o cliente,
simplesmente registra-se a cidade.
3
– Normalização : Certos dados também podem ser normalizados, sobretudo quando
se utiliza, no processo de aprendizado, técnicas de redes neurais ou métodos envolvendo medidas de distância. A normalização envolve escalonar os valores de um
atributo de modo que fiquem compreendidos dentro de um intervalo pequeno, por
exemplo [-1,1] ou [0,1]. Em métodos que utilizam medids de distância por exemplo, isto evitaria que atributos com valores com um grande espectro de variação
(por exemplo, renda mensal) tenham preponderância sobre atributos com um baixo
espectro de variação (atributos com valores binários, por exemplo).
4
Download

1 O que é um classificador?