MINERAÇÃO DE DADOS

 

Ao longo da história, sempre houve armazenamento de dados, mesmo que em poucas quantidades. Registados em cavernas, pedras, papiros, livros, entre outros. Estas informações têm sido de fundamental importância para o desenvolvimento do ser humano como sociedade.

No século XXI estamos enfrentando uma rápida aceleração na geração destes dados, que vem sendo coletados em um ritmo jamais visto antes. Esta imensidade de dados gerada não significa, necessariamente, informação. Dados só possuem valor quando organizados de forma compreensível, ao contrário não passam de um conglomerado de constatações.

A Mineração de Dados (MD) é parte principal de um processo que tem como entrada uma Base de Dados e como saída um Conhecimento. Este processo conhecido como Descobrimento de Conhecimento em Bases de Dados, do inglês Knowledge Discovery in Databases (KDD).

Interface Weka  

Exemplo Ilustrativo


Mariana é uma aluna de Engenharias da UNB, durante os semestres ele foi percebendo que seus colegas de sua tuma de calouro foram sumindo da faculdade. Ela resolveu investivar a fundo e descobriu que seu curso possui um dos maiores índices de desistência da UNB.

Ela começou a pensar o que poderia ser feito para mudar este cenário. Levantou os fatores que ela acredita influenciar na saída dos seus colegas, afinal é o conjunto destes que levam um aluno a abidicar do curso. Ela pediu a todos da sua turma de calouros seus históricos e se propôs a analisar esse conjunto de informações, procurando alguma correlação que a ajudasse a mudar este quadro para futuros alunos do seu campus.

Evasao  

Já parou para pensar como a mineração de dados poderia ser utilizada para ajudar Mariana? Poderia ser usada extrair uma correlação entre os fatores levantados.

Utilizando o histórico dos alunos que passaram pela graduação e a mineração, é possível não só saber como estes fatores acarretam na desistência mas também seria possível descobrir quais alunos que estão mais propensos a desistir e formular um plano de ação para mudar este cenário.

Mas, o que precisariamos para colocar isto em prática?

  1. Primeiramente uma grande quantidade de dados sobre os alunos, contendo informações sobre a sua graduação e, caso necessário, sua vida pessoal.

  2. Dados  
  3. Deve-se ter certeza que estes dados fazem sentido também, porque muitas vezes em grandes bases de dados há chances de informações estarem duplicadas ou incorretas. Assim, os dados devem ser limpos e tratados.

  4. Limpeza de Dados  
  5. Depois use modelos matemáticos para realizar o processo de classificação. Os alunos serão colocados em dois grupos: propensos a evadir e propensos a ficar.

  6. Modelos Matemáticos  

Estes são os passos para realizar o processo de KDD (Knowledge Discovery in Database). Mais a frente será abordado como executar corretamente cada um destes passos.



Treinamento prático

Agora faça um exemplo prático e simples, não utilize o exemplo de Mariana pois os dados necessários não existem.

Mas imagine que você precise possua um casa em um bairro X e não sabe por quanto deveria vendê-lo. Qual seria a opção mais viável para descobrir seu preço? Provavelmente seria olhar outras casas e definir o preço do seu com base neles.

Interface Weka  

Muito bem, utilize alguns dados de casas reais como base. Acesse este link para obter os dados.

Agora, como descobrir o preço da sua casa? Para isso utilize o método de regressão, o qual é usado para prever o resultado de uma variável dependente desconhecida, dados os valores das variáveis independentes.

E para realizar a regressão, utilize o Weka, uma ferramenta de auxílio à mineração de dados. Baixe aqui e execute-o, então terá esta interface:

Interface Weka  

Há algumas maneiras de tratar dados no weka: conectando com um banco populado ou utilizando um arquivo ARFF. Como os dados disponibilizados estão em CSV, convertê-os.

Abra o Weka, selecione 'Tool' na barra superior e clique em 'ArffViwer. Uma janela irá aparecer na tela. Agora clique em 'File' > 'Open' abra o arquivo CSV baixado. Deve-se ter algo similar à imagem abaixo:

Interface Weka  

Agora clique em 'File' > 'Save as', selecione o formato .arff, o diretório que deseja salvar o aquido e 'Salvar'. Deste forma você deve possuir um arquivo ARFF similar à este:

          
            @relation kc_house_data

            @attribute id numeric
            @attribute date
            @attribute price numeric
            [...]


            @data
            7129300520,20141013T000000,221900,3,1,1180,5650,1, [...]
            6414100192,20141209T000000,538000,3,2.25,2570,724, [...]
            [...]
          
        

Com os dados prontos começe o modelo de Regressão. Na tela inicial do Weka, clique em "Explorer". Esta será sessão usada para fazer o modelo de regressão. Para logar o arquivo clique em "Open File". Seu Weka deve estar similar à tela abaixo:

Weka com dados  

Neste exemplo não utilize todos os dados apresentados, apenas Qtd. de Quartos (bedrooms), Qtd. de Banheiros (bathrooms), Tamanho do Lote (sqft_lot), Tamanho do Porão (sqft_basement) e Preço (price). Sendo assim, selecione-os, clique em 'Invert' > 'Remove'.

Agora com os dados selecionados, vá para a aba "Classify", clique em "Choose" > "Functions" > "Linear Regression". Com a função escolhida, deixe claro que quer usar os dados que foram fornecidos pelo arquivo kc_house_data.arff, para isto no "Test Options" clique em "Use trainning set".

Agora só falta definir qual é a coluna que será prevista, no caso price. Clique em "Start" e nosso modelo de regressão está criado!

Modelo de Regressão  

Agora possui a fórmula para calcular o preço da sua casa.

P = 4575.6897 * Qtd. Quarto + 22042.5213 * Qtd. Banheiros + 0.4069 * Pés² Casa + 156.4572 * Pés² Porão + 7571.8265

Mas ainda não acabou, você não queria saber o preço da sua casa? Vamos supor que após fazer as medições você chegou no seguinte resultado:


Qtd. Quartos Qtd. Banheiros Tamanho Casa Tamanho Porão
4 3 1000 500

E assim conclui-se que sua casa deveria custar R$170.637,6492. Uma boa quantia hein?!

Este tutorial é apenas o ABC da mineração, vale ressaltar que para casos reais complica-se muito mais.

Há varias outros modelos que podem ser utilizados para diversas aplicações na vida real, desde prever resultado a aprendizado de máquina. Agora está na hora de utilizar o que acabou de aprender e aprofundar cada vez mais seus conhecimentos!



Atividade de Fixação


No intuito de fixar a aprendizagem iniciada por meio deste módulo e verificar como seu entendimento sobre este conteúdo está, estão sendo sugeridos alguns exercícios de fixação para serem resolvidos. Clique no link de exercícios ao lado, pois será por meio dele iniciada a lista de exercícios sobre os conteúdos estudados até este momento nesta disciplina.