2019: LCoN - Centro de Excelência em Inteligência Artificial
Clustering
1. Clustering
“Uma técnica de Data Mining para
agrupamentos de dados segundo seu
grau de semelhança.”
- Wikipedia
Fernando Machado fm@fmachado.com http://twitter.com/fmachado
2. Agenda
• Por que este tema?
• Data Mining
– Exemplos de casos reais
– Processo de descoberta de conhecimento
(KDD)
• Clustering
– Algoritmo K-means
3. Por que Clustering?
• Primeiros contatos
– 1999 a 2002
• Extração de notícias da web
– Versões até 2002
• Supervisão humana permanente
• Manutenção constante
• Alta taxa de erros
• Falhas na arquitetura
4. Por que Clustering?
• Extração de notícias da web
– Versão 2009 - ...
• Supervisão humana mínima
– Exceto no início onde houve treinamento
• Manutenção mínima
– Infraestrutura
• Taxa de erros < 5%
– Inteligência Artificial básica
• Escalável e alto desempenho
– Horizontal e vertical
– Seach-engine alta performance
16. Data Mining
• Em maio de 2009, o Brasil chegou à
157.501.813 acessos no Serviço Móvel
Pessoal (...).
• A Vivo ainda lidera o mercado com
29,38% de participação (...).
• Como a Vivo faz para identificar
tendências ou o comportamento de
seus ~45.675.525 clientes?
17. Data Mining
• Atua sobre grandes bancos de dados;
• Visa descobrir padrões
úteis e recentes;
• Envolve estatística e
algoritmos sofisticados;
18. Data Mining – Padrões?
• Esta é uma compra fraudulenta?
• Que tipo de produto devo oferecer para
este cliente?
• Como as mudanças nas sequências do
DNA de um indivíduo afetam o risco do
desenvolvimento de novas doenças?
19. Data Mining
• Data mining é uma parte integral da
descoberta de conhecimento em banco
de dados (KDD);
• KDD Knowledge Discovery in Database
– Processo geral de conversão de dados brutos
em informações úteis.
22. Clustering
• Uma técnica de Data Mining para
agrupamentos de dados segundo seu
grau de semelhança.
• Você consegue identificar visualmente
agrupamentos?
28. Clustering
• Em Data Mining, uma das atividades
obrigatórias é o pré-processamento.
• Verificação dos dados:
– Ignorar registros errados?
• É possível alguém ter filhos aos 10 anos de idade?
• É possível que ela esteja trabalhando nesta
empresa?
– Que valores adotar quando um atributo não
estiver preenchido?
Em 1999 eu fui convidado a ser sócio de uma empresa de tecnologia e um dos produtos que comecei a desenvolver desde que entrei foi uma engine de busca e extração de notícias da internet, bem antes do lançamento do Google News.
As primeiras versões do software necessitavam de acompanhamento humano contínuo já que a forma de identificar uma notícia era completamente manual. O sistema possuía uma alta taxa de erros devido a mudanças na estrutura dos sites de notícias e falhas na arquitetura do software (desempenho e escalabilidade).
No final de 2008 eu fui convidado pelo meu ex-sócio a refazer a engine. Apesar de não ter desenvolvido outros softwares similares, continuei lendo a respeito e estudando o assunto. No início de 2009, uma nova versão foi colocada no ar e agora com melhorias significativas, onde eu pude colocar em prática o que aprendi nos anos após minha saída da empresa.
Esta é a versão do projeto em dezembro de 2002 obtida através do www.archive.org. Se beleza representasse qualidade de software, a foto diz tudo.
Esta é a versão do projeto em março de 2009. Agora a engine é capaz de identificar o conteúdo do site de forma automática e sem intervenção humana.