quinta-feira, 23 de janeiro de 2014

Tipos clássicos de modelos

Conforme vimos no último post, existem diferentes tipos de aprendizagem e diferentes tipos de variáveis a serem analisadas.

Agora veremos os tipos mais clássicos de modelagem. Ou seja, os formatos de perguntas mais comuns no mundo da modelagem.


Modelos de Propensão


São modelos que buscam predizer uma variável categórica, seja binária ou de múltiplas categorias. É um aprendizado supervisionado.

Exemplos:

binária - classificar uma pessoa como portadora de uma doença: sim/não
múltiplas categorias - classificar um carro como sendo da categoria: A/B/C/D

Modelos assim predizem a qual categoria um indivíduo/objeto pertence, e qual a probabilidade disso ser verdade.

Ex.1:  dadas suas características, João foi classificado pelo modelo como tendo 76% de chance (propensão) de estar doente (sim).

Ex.2:  dadas suas características, o Carro Cherry foi classificado pelo modelo como tendo 85% de chance (propensão) de ser da categoria D.

Alguns algoritmos que fazem isso:
  • Regressão logística - binária
  • Redes Neurais - múltiplas categorias
  • Árvores de decisão - múltiplas categorias

Modelos de Estimação


São modelos que buscam predizer uma variável contínua. Modelos assim estimam o valor de uma variável quantitativa. É um aprendizado supervisionado.

Exemplos: valor de vendas; valor de um imóvel; peso de uma pessoa.

Ex.1: dadas suas características, o valor do imóvel 1 é estimado em R$293.908.

Ex.2: dadas suas características, o peso de Maria é estimado em 65 quilos.

Alguns algoritmos que fazem isso:
  • Regressão Linear
  • Redes Neurais

Modelos de Segmentação


São modelos que buscam encontrar similaridades entre indivíduos/objetos. É um aprendizado não supervisionado.

Exemplos: grupos de pessoas similares; grupos de produtos similares; grupos de cidades similares.

Ex.1: dadas suas características, João, Maria e Paulo foram agrupados como similares no segmento 1; Ana, Cláudia e Mário foram agrupados como similares no segmento 2.

Ex.2: dadas suas características, as cidades de são Paulo, Rio de Janeiro e Porto Alegre foram agrupadas como similares no segmento 1; Natal, Maceió e Fortaleza foram agrupadas como similares no segmento 2.

Alguns algoritmos que fazem isso: 
  • K-means
  • Two-step

Modelos de Regras de Associação


São modelos que buscam encontrar padrões de ocorrência de eventos/fatos. É um aprendizado não supervisionado.

Exemplos: produtos que vendem juntos num carrinho de compras; situações que acontecem juntas;

Ex.1: dadas as ocorrências, em 86% das vezes que uma pessoa coloca macarrão em seu carrinho de compras, ela coloca também frango;

Ex.2: dadas as ocorrências, em 79% das vezes que ocorre uma falha numa rede X de computadores, falta também fornecimento de água no local.


Alguns algoritmos que fazem isso:
  • Apriori
  • Carma


Repare que alguns algoritmos podem ser usados tanto para respostas binárias quanto para respostas de múltiplas categorias e ainda respostas contínuas, como, por exemplo, Redes Neurais.



Abraços miningnoobs!

segunda-feira, 20 de janeiro de 2014

Tipos de aprendizado e variáveis

No contexto de Data Mining, os campos de uma base de dados são chamados de variáveis. Ex.: idade, sexo, estado civil etc. Cada variável representa um tipo de informação que descreve alguma característica de algo ou alguém.
É através destas variáveis que os modelos buscam fazer suas previsões e descobertas. Mais que isso, algumas dessas variáveis são justamente o alvo da previsão.

Conforme já comentamos em outro post, DM nada mais é do que o processo de aprendizagem pelo qual um algoritmo passa, e é importante sabermos que existem dois tipos de aprendizado artificial:


Tipos de aprendizado


  • Aprendizado supervisionado


No aprendizado supervisionado existem dois tipos de papéis que uma variável pode representar.
Temos a variável resposta, ou seja, um alvo que desejamos prever, classificar ou estimar. E temos as variáveis explicativas, que são as variáveis que possibilitam prever/classificar/estimar a variável resposta.

Exemplos: prever se vai ou não chover dadas as variáveis climáticas; classificar a classe social de uma pessoa dadas suas características; estimar o valor de um imóvel dadas suas características etc.

Neste tipo de aprendizado, temos um conjunto de variáveis (características) diversas que explicam o por quê de uma determinada resposta (categoria ou valor).

Exemplo
Um imóvel pode ter:
- seu valor estimado em R$100.000 (variável resposta)
- porque fica na zona leste; tem 3 quartos; fica a 800 metros do metrô; é pintado de azul (variáveis explicativas)

Variável resposta - variável alvo da previsão/classificação/estimação
Variáveis explicativas - variáveis que explicam (preveem/classificam/estimam) e definem o valor da variável resposta



  • Aprendizado não supervisionado


No aprendizado não supervisionado, não temos uma variável resposta. O papel de todas as variáveis é igual. Elas representam fatores ou eventos.
Desta forma, tentamos encontrar similaridades ou padrões entre os dados.

Exemplo: agrupar pessoas dadas suas características; encontrar padrões em carrinhos de compras de super mercados.






Tipos de variáveis

Tanto para variável resposta, variável explicativa ou fator, temos dois tipos de medição de variável:

Variáveis Quantitativas – valores numéricos que representam contagens. Ex.: salário, idade, peso etc.
Variáveis Qualitativas – valores que representam categorias. Ex.: estado civil, sexo, classe social etc.


Para cada tipo de variável podemos aplicar diferentes tipos de modelos (algoritmos), supervisionado ou não, dependendo da pergunta que queremos responder.



Abraços miningnoobs!

sexta-feira, 17 de janeiro de 2014

Data Mining vs BI

BI, ou Business Intelligence significa Inteligência de Negócios, e é uma área da tecnologia da informação (TI) que já existe há um bom tempo e vem sendo utilizada por muitas empresas.

É claro que pode BI também pode ser aplicado fora do mundo dos negócios, seja na medicina, na educação, nas pesquisas acadêmicas ou em qualquer outra coisa.
Isso porque na prática, BI não está focado na conclusão em si, mas nas informações necessárias para chegar a essa conclusão.
Talvez fizesse mais sentido chamar de Business Information (Informações de Negócios).

Então BI dispõe de técnicas e ferramentas como: modelagens especiais de bancos de dados; ferramentas especiais de tratamento de dados; ferramentas especiais de visualização de dados.
Tudo isso para prover um conjunto de informações que sejam relevantes para algum usuário que têm interesse em analisar o assunto em questão (referente a esses dados).
Afinal de contas, os dados dos sistemas transacionais (sistemas da ponta, como por exemplo de uma loja de eletro domésticos) não costumam ficar facilmente acessíveis, integrados e organizados para que os tomadores de decisão possam visualizar seus conteúdos. Então BI está ai para resolver este problema. Ou seja, juntar dados de diferentes fontes, padronizar estes dados, limpar as "sujeiras" de cadastros, formatar os dados de um modo que faça sentido para o negócio e por fim apresentar isso de um modo visual inteligível e inteligente.

Agora, por mais legal que o BI seja, ele nos mostra apenas o passado. Ou seja, a partir dele podemos ver os históricos dos acontecimentos de um modo organizado que faça sentido.
Mas e o futuro?

É nesse ponto que podemos complementar nosso BI com Data Mining. Isso porque conforme vimos em um post anterior, através das técnicas de DM podemos fazer previsões e ainda identificar padrões complexos nos dados; coisa que no BI seria improvável, pois dependeria de um algoritmo mental  muito complicado, que em geral as pessoas não tem em muitas situações.

É claro que muitas vezes o feeling (ou o Blink, como diria o Malcolm Gladwell... ^^) funciona bem, mas quando se trata de muito dinheiro em jogo, ou da vida e saúde das pessoas, acho que é mais recomendável tomar as decisões com o maior respaldo possível!

As informações extraídas e partir dos modelos de DM podem ser, além de aplicadas em sistemas transacionais, carregadas em ferramentas de BI para ajudar na tomada de decisão tática e estratégica.

Uma analogia que a IBM costuma usar é a do retrovisor e o GPS. O retrovisor é o BI, pois mostra por onde já fomos, e o GPS é o DM, pois mostra onde devemos ir.



Abraços miningnoobs!



quarta-feira, 8 de janeiro de 2014

Metodologia de modelagem

Para qualquer projeto de data mining, seja lá qual for a área de aplicação, natureza dos dados, ou técnica aplicada, é essencial seguir alguns passos básicos que buscam garantir que um modelo com qualidade mínima seja criado ao final do mesmo.

Uma das metolodogias existes para seguir estes passos é a CRISP-DM (Cross Industry Standard Process for Data Mining).


Esta é composta por 6 etapas:


1 - Entendimento do negócio

Nesta fase buscamos compreender os detalhes sobre a área de atuação com a qual vamos lidar.
Precisamos definir: O que queremos responder ou descobrir com nosso estudo? Qual o público alvo que queremos analisar (objeto de estudo)? Quais são as características, restrições e regras do assunto que estamos analisando? Quais são os recursos que temos disponíveis? E por fim, qual o nosso objetivo final e conceito de sucesso?

2 - Entendimento dos dados

Para realizarmos o processo de modelagem, precisamos ter uma ou mais bases de dados. Precisamos entender o que elas contém, ou seja, quais dados estão disponíveis nas mesmas, o que cada dado significa e como eles se relacionam.
Infelizmente, no mundo real nem sempre existe uma documentação organizada dos significados das variáveis (metadados). Ex.: um campo na base que se chama "nr_slo", pode significar "salário" de uma pessoa, e precisamos descobrir isso, seja consultando documentos ou perguntando para alguém.
Além disso, como as informações costumam estar separadas em diferentes bancos de dados, precisamos achar um meio de juntar esses dados. Para isso, precisamos descobrir quais são as chaves de junção dessas bases (identificadores únicos de registros de dados) e quais as regras de relacionamento entre elas (Modelo de entidade e relacionamento).
Isso sem contar que precisamos ainda saber do significado de negócio de cada variável. Ex.: variável "proporção de multa de contrato". Que proporção é essa e como isso é calculado? Que tipo de contrato é esse? Mais uma vez temos que buscar algum tipo de documentação ou alguém que nos tire essa dúvida.


3 - Preparação dos dados

Na maioria das vezes os dados não estarão formatados da maneira que precisamos.
O fato dos dados virem de sistemas diferentes pode gerar a necessidade de realizar padronizações em campos. Ex.: em alguns sistemas a variável sexo pode ser representada por 'f'/m' e em um outro por '0/1', e é necessário unificar.
Além disso, você pode desejar sumarizar parte dos dados. Ex.: somar todas as compras de um cliente. Derivações como, por exemplo, calcular a idade a partir da data de nascimento é mais um tipo de preparação clássica de dados.
A parte de preparação dos dados é uma das partes mais exaustivas de todo o processo.


4 - Modelagem

Nesta etapa é onde de fato aplicamos os modelos/algoritmos propriamente ditos.
Fazemos testes e análises com as variáveis, aplicamos possíveis transformações que aumentam o poder preditivo das variáveis e aplicamos os algoritmos.

5 - Avaliação

Após aplicar os algoritmos criando assim nosso(s) modelo(s), precisamos realizar algum tipo de procedimento que garanta a qualidade do modelo resultante. Ou seja, o quanto esse modelo acerta ou reflete a realidade? Podemos confiar neste modelo?
Há várias técnicas para verificar isso e responder a essa pergunta, e precisamos aplicar alguma delas.

6 - Implantação

Após pronto e validado o modelo, já podemos colocá-lo em produção para alcançar nossos objetivos iniciais. Os modelos gerados fornecerão parâmetros para que apliquemos na vida real.
Por exemplo: um modelo de previsão de risco de crédito pode fornecer um conjunto de regras sobre as características que classificam uma pessoa como bom ou mal pagador, e qual a probabilidade associada a isso.


Essas 6 fases devem ser seguidas, mas não necessariamente de forma linear. Muitas vezes será necessário voltar em alguma das fases.


Ciclo de vida

Um detalhe importante é que o modelo desenvolvido tem um tempo de vida. Ele um dia deixará de funcionar, mas não é possível dizer quando. Modelos podem durar 1, 2 ou 3 anos, não podemos dizer ao certo.
Isso acontece porque, como modelos são uma representação da realidade, uma vez que a realidade mude, o modelo já não representa nada de interessante. E no mundo em que vivemos, a realidade muda, seja mais ou menos rápido, dependendo da área de aplicação da qual estamos falando.
Por isso é importante acompanhar a performance do modelo ao longo do tempo depois de implantado. Temos que estar atentos ao momento onde ele vai começar a perder essa performance, ou seja, errar muito.
Quando isso acontecer, teremos que desenvolver um novo modelo, com novos dados coletados (mais atuais), e seguir novamente as etapas da metodologia.


Abraços miningnoobs!


quarta-feira, 1 de janeiro de 2014

Aplicações de Data Mining




Anteriormente vimos o que é Data Mining (DM). Mas como DM pode ser usado nas diversas áreas do conhecimento e sociedade?
A resposta é simples, pois DM pode ser aplicado em qualquer situação onde se tenha uma massa de dados e queira-se usar os mesmos para aprender a fazer previsões ou fazer descobertas.

Alguns exemplos de áreas de aplicação podem ser: negócios, educação, governo, medicina etc.


Negócios

A área de negócios tem se aproveitado muito dos benefícios do DM. Em todos os departamentos de uma empresa há problemas diversos que poderiam ser resolvidos ou minimizados utilizando DM.
Credit Scoring
Por exemplo, para o departamento de crédito dos bancos, DM pode ser usado para prever quais clientes tem maior probabilidade e perfil de ser um mau pagador de contratos de crédito. Esse conhecimento pode ser usado no momento da concessão de crédito, para ajudar a definir limites e taxas devido ao risco.
Churn
Um outro exemplo é a área de relacionamento com o cliente. É possível descobrir quais clientes têm maior tendência a abandonar sua empresa e ir para a concorrência, e assim tomar ações preventivas para reter estes clientes.
Basket Analysis e Response Analysis
Na área de marketing e vendas podemos ainda descobrir padrões de comportamento de compra de produtos e usar isso para criar promoções, posicionar os produtos na loja de forma estratégica e até enviar malas diretas direcionadas com os produtos certos para os clientes certos.
Forecasting
A previsão de vendas é outra aplicação importante, que pode ser utilizada por exemplo para o planejamento logístico, de modo que este possa ser feito com maior respaldo e segurança.

Educação

Nas escolas e universidades, podemos descobrir qual o perfil de aluno que tem maior tendência a evadir do curso. A partir disso é possível tomar medidas que evitem a evasão.

Medicina

Na medicina, ainda utilizando DM, podemos ajudar a diagnosticar doenças complexas com maior precisão.

Governo

O governo poderia usar DM para descobrir padrões de comportamento associados a fraude e criminalidade, ajudando assim a prevenir crimes e identificar criminosos.

E-commerce

As recomendações de filmes feitas pelo Netflix usam DM para decidir quais filmes recomendar para cada um dos usuários.

Computação

Reconhecimento de voz e imagens, assim como classificação de textos também podem ser feitos com DM.

Esses são apenas alguns poucos exemplos das infinitas aplicações de Data Mining. A partir destas aplicações podemos ter um mundo mais inteligente e eficiente.


Abraços miningnoobs!