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