quinta-feira, 19 de dezembro de 2013

O que é Data Mining ?!



Muitos já devem ter ouvido falar no termo Data Mining (Mineração de dados).
Embora não seja novo, somente agora este assunto está se tornando um pouco mais “popular”, mas ainda pode-se dizer que pouca gente conhece e entende de fato o que é e para que serve.

Alguns dizem que sobre tratamento de dados, mas não é verdade (não somente isso).

Data mining é o termo usado para se referir ao processo de análise de um conjunto de dados, onde a partir deste, podemos fazer inferências do tipo: previsões de números e eventos, descoberta de relações entre coisas/indivíduos/eventos, descoberta de padrões de comportamento etc.

O termo minerar faz alusão à ideia de procurar por algo valioso em meio a uma grande "massa" aparentemente sem valor. Ao minerar rochas podemos encontrar ouro, e ao minerar dados podemos encontrar informações valiosas (chegar a conclusões não óbvias que agregam valor).

Esse processo de análise realizado na mineração de dados pode ser chamado de modelagem, porque pretende observar a realidade, e partir dessa abstrair um modelo geral do funcionamento da mesma.


Na verdade, a modelagem (mineração de dados) se trata de um processo de aprendizagem.
Assim como nós (com nossos cérebros) aprendemos as coisas através da experiência, é possível também criar um sistema artificial que seja capaz de aprender.

E o que é aprender?

Aprender requer: observar, abstrair e generalizar.

Tomemos como exemplo uma criança que vê pela primeira vez uma cadeira. Imagine que mostramos a cadeira a ela e dizemos que o nome deste objeto é "cadeira". Colocamos ainda ela para sentar na cadeira para ilustrar a função da mesma.
Se na próxima vez que ela ver uma cadeira (que seja de cor e material diferente) não souber identificar que esta é uma cadeira, então ela não aprendeu, mas apenas decorou, pois é capaz de identificar apenas a mesma cadeira ou uma idêntica, e não consegue perceber que um outro objeto muito parecido também é uma cadeira.
Para considerar que ela aprendeu o que é uma cadeira, é importante que ela: observe as características da cadeira, abstraia quais são as características mais gerais dessa cadeira (por exemplo a partir de sua função existencial) e seja capaz de generalizar isso para outros objetos que também são cadeiras.

Quando se trata de modelagem, os algoritmos fazem exatamente isso. 

Algoritmos são conjuntos de instruções, e no caso dos algoritmos de modelagem, as instruções têm o objetivo de observar, abstrair e generalizar as coisas, e desta forma, aprender. 
A partir desse aprendizado, é possível fazer o que mencionamos logo no começo: prever, encontrar relações, encontrar padrões etc.




O processo de modelagem é feito através das seguintes etapas básicas:
  1. definição de que tipo de dados queremos analisar e em que aspecto
  2. coleta e tratamento dos dados
  3. análises e aplicação de algoritmos nestes dados
Em relação à análise dos dados (etapa 3) existem uma série de técnicas (algoritmos) que podem ser utilizadas, englobando as áreas da estatística e inteligência artificial (aprendizado de máquina).

Um exemplo prático de previsão pode ser:

José tem uma padaria. Diariamente muitos de seus clientes compram fiado, e isso é bom para os negócios. Entretanto, eventualmente alguns clientes deixam de pagar sua conta ao final do mês.
Com o passar do tempo, ao observar as caraterísticas dos clientes que pagam e não pagam José tem impressão de que a maioria dos que não pagam são mulheres que vêm à padaria com um criança de colo e mais 2 crianças pequenas vestidas com roupas bem simples (talvez presumindo que sejam mães solteiras e sem muitos recursos).
José deixa de vender fiado para esse tipo de cliente, pois aprendeu com a observação de vários casos. Ele abstraiu as características desses clientes e generalizou, sendo capaz dessa forma de classificá-los em bons ou maus pagadores. 

Esse é um exemplo de previsão. Entretanto há um, problema: como José faz isso apenas mentalmente, existe um grande risco de que suas conclusões estejam enviesadas, pois o cérebro humano é muito vulnerável a isso. Enquanto ele tira essa conclusão apenas mentalmente, existe uma grande chance dessa conclusão ser um preconceito, uma impressão "viciada e distraída" do cérebro, causada pelas vulnerabilidades de nossos processos cognitivos.
Através da aplicação de algoritmos estatísticos e de aprendizado de máquina em dados coletados, é possível chegar a esse tipo de conclusão de maneira muito mais precisa e confiável

É importante ter em mente que algoritmos e modelos estatísticos também erram, porém eles buscam minimizar este erro; e além disso, é possível medir o quanto eles erram, e dessa forma, conseguir mensurar o risco associado quando tomamos decisões baseadas na previsão que eles fazem.

Abraços miningnoobs!