Minha Monografia VIII - Capítulo 2, parte 2

2.3.1 - Explorer


A interface Explorer é a interface principal do WEKA. Como já dissemos anteriormente, ela permite que o usuário acesse os recursos do sistema através de menus e do preenchimento de formulários. Ela possui seis painéis diferentes, cada um com o propósito de permitir a realização das diferentes tarefas disponibilizadas pelo WEKA.

O primeiro painel permite o pré-processamento dos dados. É através dele que a fonte de dados sobre a qual a mineração de dados será feita é aberta. Quando a base de dados está aberta, o painel de pré-processamento permite visualizar os atributos existentes na base de dados, os valores possíveis para cada um deles, definir qual dos atributos será utilizado como objetivo da classificação e, graficamente, relacionamentos simples entre os valores da base de dados. No caso de atributos numéricos, o painel mostra quais são seus valores máximo e mínimo, sua média e seu desvio padrão. Além disso, neste painel é possível selecionar os atributos que serão usados na mineração de dados.

Apesar de o WEKA ser capaz de ler as bases de dados a partir de arquivos de texto com conteúdo separado por vírgulas (arquivos com a extensão .csv) ou diretamente a partir de um banco de dados, ele tem um formato de arquivo proprietário, de extensão .arff. Através do painel de pré-processamento é possível realizar a conversão de vários tipos de bases de dados para arquivos do tipo .arff.

Por fim, através do painel de pré-processamento é possível realizar diversas operações sobre a base de dados de forma a limpá-la e organizá-la para a realização da mineração de dados, como a discretização, normalização e transformação numérica dos dados. Para cada uma destas tarefas, o WEKA fornece vários algoritmos diferentes, a maioria deles oferecendo uma ampla gama de configurações possíveis. Estes algoritmos são divididos em diversas categorias: algoritmos de adição e remoção de atributos, algoritmos de modificação de valores, algoritmos de conversão de valores e algoritmos de randomização são alguns deles.

O segundo painel permite a execução de diversos algoritmos de mineração de dados que executam a classificação das instâncias existentes na base de dados. Neste painel o usuário pode selecionar o algoritmo desejado, configurá-lo (cada algoritmo fornece diferentes formas de configuração) e executá-lo. Este painel também exibe um relatório com o resultado do processamento do algoritmo de mineração de dados. O resultado da mineração depende do tipo de algoritmo utilizado, e pode ser qualquer um dos possíveis resultados descritos neste trabalho no capítulo 1. Outras informações listadas no relatório de resultado de processamento incluem estimativas da performance dos resultados, estatísticas de erro e estatísticas relacionadas com a classificação obtida.

Depois de executado o processamento, é possível ainda executar o algoritmo novamente sobre uma segunda base de dados para verificar a sua performance. O resultado deste segundo processamento também é exibido neste painel. Se o usuário não dispuser de duas base de dados, uma para o aprendizado e outra para a verificação de aprendizagem, é possível dividir a base de dados única em duas, informando qual porção dela será usada para o aprendizado e qual porção será usada no processo de verificação de aprendizagem.

Se durante uma mesma utilização do WEKA o usuário executar vários algoritmos diferentes, ou o mesmo com várias configurações de parâmetros, este painel exibe uma lista contendo todas estas execuções. Basta que o usuário clique sobre um determinado item na lista que o resultado do seu processamento será exibido, sem a necessidade de executar novamente a mineração.

Além disso, através deste painel é possível salvar os parâmetros definidos para os algoritmos de mineração de dados, sendo possível compartilhá-los e carregá-los futuramente. Por fim, é possível obter outras informações além daquelas exibidas no relatório de processamento, como curvas de custo, erros de previsão e, no caso algoritmos cujos resultados sejam árvores de decisão, a visualização gráfica das mesmas.

Entre os algoritmos fornecidos, incluem-se também algoritmos de meta-aprendizagem, que recebem um ou mais algoritmos como parâmetro e implementam técnicas para melhoria da aprendizagem, incluindo tentativas de melhora de performance, estimativa de custos, e execução paralela de dois ou mais algoritmos para validação estatística das potencialidades de cada um deles.

O terceiro painel é utilizado para a execução de algoritmos de mineração de dados que têm como objetivo a definição de clusters. Suas funcionalidades são basicamente as mesmas do segundo painel do WEKA, permitindo que o usuário selecione o algoritmo de mineração de dados desejado, efetue o ajuste dos parâmetros dos algoritmos que o permitirem, definir os dados que serão usados durante a aprendizagem e durante a verificação de aprendizagem, salvar e carregar parâmetros e visualizar os resultados do processamento.

O quarto painel é utilizado para a execução de algoritmos de mineração de dados que têm como objetivo a descoberta de regras de associação. Este painel é mais simples do que o segundo e o terceiro painéis, não apresentando as funcionalidades de definição dos dados que serão usados para aprendizagem e para verificação de aprendizagem. À exceção desta diferença, este painel apresenta as mesmas funcionalidades dos outros painéis para execução de algoritmos de mineração de dados.

O quinto painel oferece ao usuário ferramentas automatizadas para pré-processamento da base de dados. Estas ferramentas auxiliam o usuário na escolha de quais atributos devem ser levados em consideração durante a execução dos algoritmos de mineração de dados, realizando validações e verificações sobre os atributos existentes na base de dados e então sugerindo quais deles representam boas opções para serem utilizados para a mineração.

O sexto painel oferece ao usuário diferentes maneiras de visualizar sua base de dados através de gráficos bidimensionais, que mostram como as classificações das instâncias são distribuídas de acordo com dois atributos (os eixos X e Y dos gráficos). Os gráficos podem ser livremente configurados pelo usuário para exibir combinações entre quaisquer atributos da base de dados. Nestes gráficos, cada uma das instâncias existentes na base de dados é plotada como uma marcação em X, que pode, por sua vez, ser clicada. Quando a marcação de uma instância é clicada no gráfico, uma pequena janela é aberta, onde são exibidos os valores dos atributos daquela instância.


2.3.2 - Knowledge Flow


A interface Knowledge Flow tem a finalidade de fornecer aos usuários do WEKA a facilidade de organizar os componentes do WEKA (algoritmos, fontes de dados, etc.) em uma área de trabalho e conectá-los na forma de um grafo que determina como os dados são obtidos, processados e analisados. "Ela provê uma alternativa à interface Explorer para aqueles que gostam de pensar em termos de como os dados fluem pelo sistema". (Witten, Frank, p. 427). Além disso, permite o acesso a fonte de dados contínuas ou extremamente grandes, funcionalidade não fornecida pela interface Explorer.

Em sua parte superior existem oito abas que dão acesso aos componentes disponíveis e sua parte central é ocupada pela área de montagem dos componentes, onde eles são colocados e conectados.

Quase todos componentes disponibilizados nas abas superiores da interface Knowledge Flow estão disponíveis também na interface Explorer. As adições são os componentes que permitem o acesso a fontes de dados contínuas e alguns algoritmos de mineração de dados que trabalham apenas com massas de dados muito grandes, que não podem ser carregadas na interface Explorer.

Quando colocados na área de montagem, os componentes não podem ser conectados entre si de qualquer maneira. Apesar de bastante flexível, a interface Knowledge Flow não permite que o usuário realize conexões que não façam sentido, ou seja, que não sejam um fluxo de dados válido. Além disso, certas possibilidades de conexão só são disponibilizadas a partir de um componente quando este já estiver recebendo um determinado tipo de conexão. Como exemplo disso, podemos citar que não é possível conectar um componente de algoritmo de geração de árvore de decisão a um componente de visualização de gráficos sem antes conectar um componente de fonte de dados ao componente do algoritmo.

Por fim, é possível conectar alguns algoritmos entre si. Estes algoritmos, quando conectados, realizam um tratamento incremental sobre as bases de dados para realizar a mineração.

Quando todo o fluxo já estiver configurado, a mineração é iniciada através de um clique com o botão direito do mouse sobre o componente de fonte de dados e a seleção da opção "Iniciar Carregamento".

A primeira aba apresenta as fontes de dados possíveis. Entre algumas das opções disponíveis estão arquivos .arff e conexões diretas a banco de dados. Cada uma das possíveis fontes de dados pode ser apropriadamente configurada de acordo com as necessidades do usuário. No caso de bancos de dados, por exemplo, o usuário deve configurar os parâmetros de acesso ao banco, assim como a instrução SQL (Structured Query Language, Linguagem de Consulta Estruturada) que irá obter os dados desejados.

A segunda aba apresenta os destinos possíveis para os dados, ou seja, onde podem ser gravados os resultados das minerações de dados ou até mesmo do pré-processamento. As opções desta aba são as mesmas da primeira aba, à exceção da opção TextDirectory. Da mesma forma, cada um dos componentes oferece vários parâmetros de configuração ao usuário.

A terceira aba apresenta os algoritmos de pré-processamento de dados disponibilizados pelo WEKA. Como exemplos, podemos citar os algoritmos de discretização de dados, reordenação de instâncias e transformação de dados. Assim como na interface Explorer, a maioria dos algoritmos de pré-processamento de dados podem ser configurados de acordo com as necessidades e interesses do usuário.

As quarta, quinta e sexta abas põem à disposição do usuário os algoritmos de mineração de dados, divididos entre classificadores, geradores de clusters e geradores de regras de associação, respectivamente. Como já dissemos anteriormente, os algoritmos aqui disponibilizados são os mesmos existentes na interface Explorer, com a adição de alguns que só trabalham com fontes de dados extremamente grandes, que não podem ser carregadas diretamente para a memória do computador.

A sétima aba apresenta ferramentas de tratamento das bases de dados importadas, que funcionam como uma forma de preparação primária dos dados recebidos, facilitando a geração de fontes de dados de treinamento e de avaliação de treinamento, entre outros. Além disso, fornece também ferramentas de avaliação estatística dos algoritmos de processamento.

A oitava e última aba fornece ferramentas de visualização, tanto dos dados quanto dos resultados de processamento. Podemos citar, como exemplo, a ferramenta de visualização de árvores de decisão, à qual podem ser conectados os algoritmos de mineração de dados cujo resultado de processamento sejam árvores. Esta aba inclui algumas ferramentas não disponíveis na interface Explorer.

Minha Monografia VII - Capítulo 2, parte 1

CAPÍTULO 2 - COMO O WEKA FUNCIONA


2.1 - HISTÓRIA


O WEKA começou a ser planejado em 1992, mas só começou a ser desenvolvido em 1993, quando o governo da Nova Zelândia aprovou o financiamento do projeto do professor universitário Ian Witten, e teve sua primeira versão pública lançada em 1996. Ian Witten decidiu iniciar o projeto porque, em sua opinião, o Departamento de Ciências da Computação da Universidade de Waikato não possuía muitos projetos voltados para pesquisa.

Sua primeira versão foi escrita em C, mas em 1997 foi iniciada a sua reescrita utilizando Java. A nova versão foi lançada em 1999.

Por ser um software de código aberto e por fornecer uma biblioteca em Java, existem hoje vários projetos que foram criados tendo como base o motor do WEKA.

Seu nome é a abreviação de Waikato Environment for Knowledge Analysis - Ambiente para Análise de Conhecimento de Waikato.


2.2 - O SISTEMA


O WEKA é um sistema de mineração de dados que fornece várias funcionalidades para o usuário. Ele provê dezenas de algoritmos de mineração de dados diferentes, a maioria deles amplamente parametrizáveis. Além disso, é possível comparar a performance de algoritmos diferentes.

À parte suas ferramentas de mineração de dados, o WEKA provê, ainda, ferramentas para pré-processamento dos dados, que incluem ferramentas de filtragem de dados e de auxílio para a escolha dos atributos que devem ser levados em consideração durante a mineração propriamente dita.

Todas estas características tornam o WEKA uma ferramenta útil tanto para o aprendiz da disciplina de mineração de dados que ainda esteja aprendendo os seus princípios fundamentais quanto para o pesquisador experiente que deseja utilizar uma plataforma robusta mas ainda assim simples de se trabalhar.


2.3 - INTERFACE


A utilização do WEKA pode ser feita através de quatro interfaces diferentes. A Explorer (Exploradora) é a mais simples de todas, permitindo que o usuário acesse os recursos do sistema através de menus e do preenchimento de formulários.

Knowledge Flow (Fluxo de Conhecimento) é a interface através da qual pode-se realizar processamento de bases de dados muito extensas, sendo possível determinar mais de uma fonte de dados e a sequência de passos a serem tomados pelo WEKA na mineração de dados.

A interface Experimenter (Experimentadora) foi criada com a intenção de servir como uma facilitadora do processo de decidir qual algoritmo trabalha melhor com uma determinada base de dados, podendo ser possível configurar vários algoritmos (ou o mesmo algoritmo com diferentes parâmetros) e executá-los de uma vez só.

Por fim, a interface de linha de comando permite que as funcionalidades do WEKA sejam executadas e controladas através do envio de comandos de texto.

Quando o usuário executa o WEKA, a primeira janela exibida para ele é aquela na qual ele pode escolher qual das interfaces ele deseja utilizar. As seções a seguir detalham cada uma destas interfaces.

TOEFL IV

The person who is living today I admire most is the US president, Mr. Barack Obama. I admire him because of his clever and sensible ideas about how government should work to provide citizens a well-organized and well-prepared social structure. Also, I admire him for how well he is able to express his ideas during his speeches. I have already watched some of them and they were great.

I prefer to learn about the news from newspapers. The main reason to this is that newspapers often provide more thorough and in-depth points of view. Given the short duration of TV news programs, they usually only talk about news superficially. On newspapers, you often see graphs and tables that expand news stories' coverage. Another reason for that is that newspapers provide a much wider range of topics, from politics to music, from religion to environment. Television programs have a far narrower range.

***


Esta é uma das várias pequenas redações que fiz durante o meu curso preparatório para o TOEFL.

Minha Monografia VI - Capítulo 1, parte 3

1.2.3 - Resultados possíveis


Pelas descrições dos algoritmos de mineração de dados fica claro que existem várias formas diferentes de representar seus resultados. A presente seção entra em mais detalhes sobre algumas destas formas.


1.2.3.1 - Tabelas de Decisão


As tabelas de decisão são a forma mais simples e rudimentar de representação dos resultados de mineração de dados. Ao final da mineração é criada uma tabela cujas colunas são os mesmos atributos existentes na base de dados. Para descobrir o provável resultado de uma nova instância basta procurar por uma linha na tabela de decisão que se assemelhe a ela.


1.2.3.2 - Árvores de Decisão


Árvores de decisão são estruturas na forma de grafos onde cada nó representa um teste sobre um dos atributos das instâncias. O resultado do teste indica qual caminho na árvore deve ser seguido para terminar a classificação. Normalmente, os testes requerem a comparação de um atributo com um determinado valor constante, mas há casos em que dois atributos são comparados ou que uma função seja aplicada sobre dois ou mais atributos. Percorre-se, então, a árvore, até que um nó folha seja alcançado: é ele que indica a classificação da instância sendo testada.

Normalmente, quando o atributo é nominal, o número de ramos que saem do nó é o mesmo que o de valores possíveis para o atributo. Já quando o atributo é numérico, o teste verifica se o valor do atributo é superior ou inferior a uma determinada constante, gerando dois novos ramos. Podem haver casos em que os valores numéricos são testados para verificar se encaixam-se em um determinado intervalo, caso em que podem haver mais de dois ramos partindo de um mesmo nó.

Além disso, há casos em que os atributos são testados uns contra outros, ao invés de serem comparados com valores constantes. Estas são as chamadas regras com relação. Elas são mais comuns quando os atributos sendo analisados têm valores numéricos, ao invés de nominais. Há casos em que a definição de regras em que valores são comparados com valores constantes pode se revelar ineficaz, tendo em vista que futuras instâncias podem passar a apresentar valores de atributos em intervalos diferentes.


1.2.3.3 - Regras de Decisão


Regras de decisão são formadas por conjuntos de testes, sendo que cada um dos conjuntos representa uma classificação diferente. Se uma instância satisfizer todos os testes de um conjunto ela recebe uma determinada classificação.

Há casos em que as regras de um conjunto devem ser executadas em uma determinada ordem para que a classificação seja correta. Entretanto, há casos em que as regras não têm uma ordem determinada de execução.

À primeira vista, pode parecer que as regras de decisão não passam de árvores de decisão colocadas por escrito, mas normalmente não é o caso. Árvores de decisão, quando colocadas por escrito, podem forçar a realização de testes desnecessários.

O sentido contrário também pode ser difícil de executar: tentativas de criar árvores de decisão a partir de regras de decisão pode levar à criação de árvores demasiado complexas, além do necessário.


1.2.3.4 - Regras de Associação


Como já foi dito antes, regras de associação são regras que não tratam de descrever associações entre valores de atributos e determinados objetivos, mas sim de descrever associações entre associações e valores de atributos ou associações entre associações.

Mesmo em bases de dados com poucos dados e poucos atributos, é possível que uma quantidade considerável de regras de associação seja gerada. Um dos objetivos dos algoritmos que geram este tipo de resultado é gerar regras que cubram o máximo possível de instâncias.


1.2.3.5 - Regras com Exceção


Regras de exceção, na verdade, são uma extensão das regras de decisão. Elas surgem quando, após a execução da mineração de dados e a consequente criação de um conjunto de regras de decisão, surgem novas instâncias que não se encaixam em nenhuma das classificações.

Ao invés de executar a mineração novamente, um especialista de domínio pode ser consultado para verificar se é possível adicionar uma exceção a alguma das regras anteriormente definidas. Uma regra com uma exceção anexada é escrita da seguinte forma, por exemplo:

Se G > 56 e B < 30, então classificação = A, exceto se B < 5, então classificação = W.


1.2.3.6 - Clusters


Clusters são agrupamentos de instâncias. Os algoritmos que geram este tipo de saída buscam formar subconjuntos da base de dados. As instâncias podem, dependendo do algoritmo, ser classificadas em apenas um ou mais de um cluster. Há ainda casos em que, para cada instância, é calculada a probabilidade de sua classificação em cada um dos clusters. Por fim, podem ser geradas hierarquias de clusters onde, em uma primeira etapa, um pequeno número de clusters é gerado, e em seguida cada um deles é subdividido em grupos menores.

Minha Monografia V - Capítulo 1, parte 2

1.2.1 - Entrada de Dados


Como já dissemos anteriormente, os dados a serem minerados são introduzidos na forma de exemplos com atributos. Por exemplo, no caso de um laboratório meteorológico, cada registro do clima em uma determinada hora do dia, com informações sobre umidade do ar, velocidade do vento, temperatura, entre outros dados, é um exemplo. Formalmente, cada exemplo é chamado de instância. Obviamente, a base de dados a ser minerada deve conter uma quantidade considerável de instâncias.

Já os atributos são cada um dos valores que formam uma instância. Seguindo exemplo acima, umidade do ar, velocidade do vento e temperatura são atributos diferentes. Para a mineração ser realizada, não há a obrigatoriedade de que todos os atributos de todas as instâncias estejam disponíveis. Este é, inclusive, o cenário mais comum: podem haver informações que em determinada época não eram colhidas, outras que foram perdidas ou, até mesmo, informações cuja existência não tenha sentido em certas situações.


1.2.2 - Algoritmos


Estando a base de dados preparada para ser trabalhada, entram em cena os diversos algoritmos de mineração de dados. Existem vários algoritmos diferentes, cada um com suas características específicas. Não é correto afirmar que um algoritmo é melhor que outro, já que eles costumam ser aplicados em situações diferentes para tipos de dados diferentes. Há casos em que um único atributo é responsável para fornecer o conhecimento que se deseja encontrar e há outros em que deve haver uma intrincada combinação entre dezenas de atributos para que o conhecimento possa ser descoberto. E há, claro, dezenas de variações entre estes dois extremos, cada uma com suas próprias especificidades. Fica fácil, portanto, entender porque apenas um algoritmo se tornaria ineficaz para realizar a mineração em todas estas configurações.

É importante lembrar, também, que em cada uma das classificações de tipos de algoritmos de mineração de dados podem ser encontrados vários métodos diferentes.

As próximas subseções entram em detalhes sobre alguns tipos de algoritmos de mineração de dados.


1.2.2.1 - Inferência de Regras


A inferência de regras é o algoritmo mais simples de todos. Ele busca criar uma lista de regras que se baseiem em apenas um atributo, algo como "se o atributo K tiver o valor M, o resultado é Q".

Na execução deste algoritmo, são criados conjuntos de regras para vários atributos diferentes. Estes conjuntos são submetidos, então, a testes para verificar sua acurácia. O conjunto de regras com o menor índice de erros é adotado.

Obviamente, se um novo valor para o atributo surgir depois da criação do conjunto de regras, este será incapaz de prever seu resultado.


1.2.2.2 - Modelagem Estatística


Ao contrário do algoritmo de inferência de regras, a modelagem estatística leva em consideração todos os atributos da base de dados. Apesar de não ser muito realístico, por dar a mesma importância a todos os atributos, o que nem sempre é verdade, este método pode se mostrar mais eficaz do que outros mais sofisticados.

Já foi provado diversas vezes que a modelagem estatística rivaliza com, e às vezes até se mostra melhor do que, algoritmos classificadores em diversas bases de dados. A moral é: tente as coisas simples primeiro. Ao trabalhar com aprendizado de máquina, há casos frequentes de pessoas que sofrem um longo tempo para conseguir bons resultados com algoritmos sofisticados, apenas para descobrir algum tempo depois que métodos simples como inferência de regras ou modelagem estatística realizam o trabalho tão bem quanto - ou até melhor. (Witten, Frank, p. 96)

Seu funcionamento é bem simples: para cada um dos atributos da base de dados, é calculada uma fração que representa a proporção de cada um dos seus possíveis valores em relação aos possíveis resultados. Quando uma nova instância surge e deve ser classificada, a fração de cada um dos seus atributos em relação a um possível resultado é multiplicada. A classificação é dada de acordo com o resultado que obtiver o maior valor nas multiplicações.


1.2.2.3 - Dividir e Conquistar


O algoritmo de dividir e conquistar guarda uma certa semelhança com a inferência de regras, tendo em vista que cada uma de suas etapas leva em consideração apenas um atributo. Porém, para obter-se o resultado da classificação, os atributos são classificados recursivamente para criar regras mais complexas que formam as chamadas árvores de decisão.

O primeiro passo deste algoritmo é escolher um atributo e dividir a base de dados em grupos, sendo um para cada valor possível do atributo escolhido. Em seguida, em cada um destes grupos um novo atributo é escolhido e uma nova divisão é feita. O processo é repetido, então, até que todas as instâncias possam ser classificadas.

Além de poder classificar todas as instâncias, um outro objetivo deste algoritmo é ter o mínimo possível de subclassificações. Logo, a cada etapa é realizada uma espécie de inferência de regras para verificar a possibilidade de que uma determinada divisão da base de dados já aponte para uma classificação direta, sem a necessidade de novas subdivisões.


1.2.2.4 - Regras de Cobertura


O algoritmo de regras de cobertura é uma combinação do algoritmo de inferência de regras e o algoritmo de dividir e conquistar. Seu objetivo é criar regras que podem ser baseadas em um ou mais atributos, buscando sempre criar regras que levem em consideração o mínimo de atributos possíveis.

Em seu primeiro passo o algoritmo busca uma regra com base em um único algoritmo que consiga classificar corretamente o maior número possível de instâncias. O processo é repetido, então, no grupo de instâncias que não pôde ser classificado de acordo com a primeira regra. A partir daí o processo é executado novamente, até que todas as instâncias possam ser corretamente classificadas.

O conjunto de regras gerado, se representado graficamente, apresenta a forma de uma árvore de decisão degenerada, assemelhando-se mais a um processo de filtragem do que a um processo de opção de caminhos.


1.2.2.5 - Outros processos


Além destes quatro grandes grupos de algoritmos de mineração de dados, existem outros que acreditamos ser importante citar.

Mineração de Regras de Associação: enquanto os algoritmos de inferência de regras e de regras de cobertura busquem encontrar associações entre valores de atributos e determinados objetivos, os algoritmos de regras de associação buscam encontrar associações entre associações e valores de atributos ou associações entre associações. Exemplificando, estes algoritmos buscam encontrar regras que digam, por exemplo, que se os atributos D e F têm os valores G e H, então o atributo P terá o valor S.

Modelos Lineares: quando os atributos dos exemplos são numéricos, há algoritmos que buscam encontrar fórmulas que realizem cálculos sobre estes valores como forma de classificá-los.
Aprendizado por Instância: nos algoritmos deste tipo, nenhuma preparação é feita anteriormente sobre a base para criação de regras ou outro recurso similar. Quando uma instância precisa ser classificada, ela é passada por uma função de cálculo de distância, para verificar de qual instância da base de dados ela mais se aproxima. Este tipo de classificação é mais fácil de ser implementado quando os atributos das instâncias são valores numéricos.

Grupamentos: algoritmos de grupamento são utilizados quando não há classes a serem previstas, mas sim quando a intenção é apenas dividir as instâncias em grupos que "reflitam algum mecanismo por trás do domínio das instâncias, que faça com que algumas instâncias tenham maiores semelhanças umas com as outras do que com o restante das instâncias da base de dados". (Witten, Frank, p. 136)

TOEFL III

I think it is better to get up early. When you wake up early you are able to benefit more of sun light and, by the end of the day, you usually feel like you have done much more than if you had waken up later. Also, you are able to hear the sounds of dawning, which are beautiful. That is why I prefer to get up early.

***


Esta é uma das várias pequenas redações que fiz durante o meu curso preparatório para o TOEFL.

Minha Monografia IV - Capítulo 1, parte 1

CAPÍTULO 1 - O QUE É MINERAÇÃO DE DADOS

A cada dia, em todos os lugares do mundo, centenas de milhares de registros são gravados em bancos de dados dos mais variados sistemas computadorizados. Seja no cadastro de um atendimento em um hospital australiano ou no check-in de um passageiro em um aeroporto libanês, os bancos de dados não param de crescer.

Os valores neles gravados - nomes, datas, números - são apenas dados quando não estão associados a um rótulo qualquer. E dados, por si só, não dizem nada. O número 5000 pode ser o número de uma casa, a colocação de um atleta em uma competição ou a quantidade de itens em estoque de um determinado produto. É preciso que haja uma indicação do que o valor representa para que ele tenha significado para quem o guardou.

E é quando o dado é associado a um determinado rótulo que ele passa a receber o nome de informação. Quando a pessoa sabe que 5000 é, na verdade, o número da conta de um determinado cliente, é neste momento que o dado passa a informar algo.

Estas informações passam a ter, então, alguma utilidade. Seja para manter o registro de algum fato ou de algum objeto, seja para que totalizações sejam feitas. As possibilidades de uso estão restritas apenas à imaginação e à necessidade de seu detentor.

Mas aos valores dos bancos de dados está reservado um papel que vai além da mera informação: a capacidade de, quando observados da maneira certa, mostrarem uma informação que está implícita, muitas vezes difícil de ser descoberta a olho nu. Esta informação implícita se revela na forma de padrões de dados, que, por sua vez, tornam claros métodos de previsão de ocorrências futuras e regras de comportamento. Neste momento obtém-se conhecimento, ferramenta de incomensurável valor para o planejamento estratégico de qualquer organização.

Torna-se claro que nos enormes bancos de dados já citados são grandes as chances de se encontrar conhecimento valioso. Como, então, realizar a análise destas massas de dados em busca deste conhecimento?
Neste ponto entra em cena a mineração de dados.


1.1 - DEFINIÇÃO


Como já foi dito, o tamanho dos bancos de dados existentes atualmente não para de crescer, e torna-se cada vez mais urgente a necessidade de descobrir e compreender o conhecimento que se esconde nestas massas de dados.

Para realizar este trabalho foram criadas técnicas que empregam o uso de força computacional que receberam o nome de mineração de dados. De acordo com Witten e Frank, mineração de dados pode ser definida da seguinte forma:

Mineração de dados é definida como o processo de descobrir padrões em dados. O processo deve ser automático ou (mais comumente) semi-automático. Os padrões descobertos devem ter algum significado, de forma a prover alguma vantagem, normalmente financeira. Os dados devem estar disponíveis, invariavelmente, em grande quantidade. (Witten, Frank, p. 5, tradução do autor )

Os resultados de um processo de mineração de dados podem ser usados para duas finalidades. Primeiro, como auxílio na previsão de eventos futuros, inferindo as "consequências de novos acontecimentos com base em dados que descrevem o que aconteceu no passado, normalmente através da tentativa de adivinhar a classificação de novos exemplos". (Witten, Frank, p. XXIV)

Outro fim ao qual os resultados de um processo de mineração de dados podem servir é a obtenção de um maior entendimento sobre a estrutura e relacionamento dos dados. Este costuma ser, inclusive, o objetivo principal das organizações que realizam mineração em seus dados.

Uma das possíveis formas de apresentação dos resultados da mineração de dados são as listas de decisão, que se apresentam na forma de uma lista de regras que devem ser interpretadas em ordem. Quando seguidas, estas regras são capazes de classificar corretamente todos os dados nos quais a mineração foi feita.

Outra possibilidade são as listas de regras de associação, que são conjuntos de regras que listam associações entre os dados de uma determinada base. Algumas dessas regras podem não ter valia alguma, por já serem de conhecimento dos interessados na mineração, mas podem trazer à luz relacionamentos até então desconhecidos.

Foi dito que "cínicos, observando ironicamente a explosão de interesse comercial na área, equiparam mineração de dados com estatística associada a marketing" (Witten, Frank, p. 29). A verdade é que não há uma linha divisória entre estas duas áreas, mas podemos afirmar que a mineração de dados está interessada, também, na melhoria do próprio processo de mineração, através da capacidade de fazer com que sistemas computacionais sejam capazes de aprender e melhorar sua performance, a chamada aprendizagem de máquina. Para isso, a mineração de dados utiliza ferramentas estatísticas "tanto para aperfeiçoar a qualidade das classificações quanto para tornar o procedimento de mineração mais computacionalmente eficiente". (Witten, Frank, p. 29).


1.2 - FUNCIONAMENTO


Em todos os sistemas computacionais, sua utilização pode ser dividida em três etapas básicas: a introdução dos dados no sistema, o processamento destes dados pelo sistema, e, finalmente, o fornecimento dos resultados obtidos pelo processamento dos dados introduzidos. O mesmo, naturalmente, ocorre nos processos de mineração de dados.

No caso da mineração de dados, as informações a serem mineradas, estejam elas em um banco de dados ou em um arquivo de texto puro, são introduzidas na forma de exemplos com atributos; o processamento é realizado por diversos algoritmos de aprendizado de máquina e de mineração de dados; e os resultados do processamento podem assumir formas variadas, de acordo com o algoritmo de mineração utilizado.

As próximas seções detalham cada uma destas etapas.

Minha Monografia III - Introdução

O tema da pesquisa foi o funcionamento do sistema WEKA, cujo objetivo é oferecer de forma simples várias ferramentas de mineração de dados, disponibilizando uma série de algoritmos desenvolvidos para fazer com que computadores sejam capazes de aprender e descobrir padrões em grandes conjuntos de dados. Ele é capaz de analisar dados utilizando mais de cem algoritmos diferentes e exibir os resultados graficamente.

O WEKA começou a ser planejado em 1992, mas só começou a ser desenvolvido em 1993, quando o governo da Nova Zelândia aprovou o financiamento do projeto do professor universitário Ian Witten e teve sua primeira versão pública lançada em 1996. Por ser um sistema de código fonte aberto, já existem vários projetos que acrescentam funcionalidade ao WEKA e/ou que utilizam sua tecnologia para alcançar objetivos ainda mais ambiciosos.

Os objetivos da pesquisa foram definir mineração de dados; expor o funcionamento do programa WEKA, demonstrando como é feita a mineração de dados utilizando sistema; e analisar um estudo de caso de uso do sistema, expondo quais foram os resultados de um trabalho de mineração de dados que utilizou o WEKA.

O referencial teórico para a pesquisa foi a segunda edição do livro Data Mining: Practical Machine Learning Tools and Techniques, escrito por Ian Witten e Eibe Frank. O livro explica o que é mineração de dados e ensina como utilizar o WEKA para analisar fontes de dados.
Ian Witten é professor de Ciência da Computação da Universidade de Waikato. Nascido na Inglaterra, vive e trabalha na Nova Zelândia desde 1991. Iniciou o projeto do WEKA porque desejava fomentar atividades de pesquisa na Universidade.

Eibe Frank é professor associado na Universidade de Waikato e coordenador de pesquisas no curso de graduação. Nascido na Alemanha, foi para a Nova Zelândia em 1996 para realizar um curso de doutorado em aprendizagem de máquina, um ramo da inteligência artificial. Lá, foi aluno de Ian Witten, onde envolveu-se com o desenvolvimento do WEKA, projeto do qual participa desde então.

A motivação para a execução desta pesquisa foi o fato de que, atualmente, aumenta cada vez mais o número de empresas proprietárias de bancos de dados cujos tamanhos crescem exponencialmente e, ao lado disso, surge a curiosidade sobre padrões de dados que podem estar ocultos em tanta informação. Acreditamos que divulgar e explicar o funcionamento de um sistema de mineração de dados pode contribuir tanto para suprir a demanda destas empresas quanto para despertar o interesse de estudantes de tecnologia para uma ferramenta e um assunto cada vez mais procurados e discutidos.

A pesquisa foi realizada com enfoque fenomenológico, utilizando a abordagem qualitativa sobre as informações disponíveis, realizando pesquisa bibliográfica e descritiva de trabalho já realizado sobre o assunto.

TOEFL II

My favourite holiday is Carnaval Carnival because you have four, sometimes five, free days in a row. During this time I usually do one of those two things: travel to a far, different place I've never seen before, or gather all my relatives together in a big party. These are things you can't easily do on a short weekend.

If I suddenly got $10 million, I would spend it on travelling. As it's money enough to pay for all tickets and hotels one might think of, there would be no need for me to work anymore. Thus, I'd spend my life discovering great cities and places.

My dream house look looks like my own house. My house was built exactly the way I wanted it to be and everything is where I wanted too. Also, my house [has] a big yard, where my wife and I can grow flowers. So, there's nothing more I could ask.

The two main characteristics a parent must have are caring and friendliness. Caring so one's kids feel loved, and friendliness so kids will know they have someone to count on. Without those characteristics, I believe kids would not trust their parents.

If I could live anywhere, I would live in Ilha Grande, because it's one of the most beautiful places I've ever seen and it gives me such a huge sense of peace. I'd surely move to Ilha Grande if I had the money.

A person I would most like to meet is the British singer Elton John. He's He has been my favourite singer since I was 18 and I'd like to tell him how deeply his songs touch and enriched my life throughout the years. It's a big dream of mine to meet him in person.

***


Estas são algumas das várias pequenas redações que fiz durante o meu curso preparatório para o TOEFL. Trechos riscados são os erros originais, seguidos pelas correções feitas pela professora. Trechos entre colchetes são coisas que eu deixei de escrever.

Minha Monografia II - Resumo e Abstract

RESUMO

O objetivo do presente trabalho é apresentar as funcionalidades e aplicabilidades do sistema de mineração de dados WEKA, contando um pouco de sua história e detalhando as características de sua utilização, pois acreditamos que, como a mineração de dados está se tornando um assunto cada vez mais comum e importante, é preciso fazer conhecer aos interessados no tema um sistema robusto e confiável. Para atingir este objetivo, descrevemos as quatro interfaces através do qual o sistema pode ser utilizado, enumerando os recursos fornecidos por cada uma delas e informando como eles contribuem para a execução da mineração de bases de dados. Em adição a isso, o trabalho expõe o conceito de mineração de dados e apresenta ao leitor algumas das técnicas de mineração de dados mais utilizadas e, também, as possíveis formas em que seus resultados podem ser expostos. Todas as técnicas apresentadas estão disponíveis no WEKA. Por fim, o presente trabalho apresenta também a descrição e análise de um estudo de caso, que trata de um trabalho apresentado na disciplina de Mineração de Dados do curso Pós-Graduação em Administração de Banco Dados da Universidade Estácio de Sá. Este trabalho utilizado como estudo de caso é referente à utilização do WEKA para a realização de mineração de dados em uma base de dados contendo dados de uma coleção de discos particular.

Palavras-chave: Mineração de Dados. Conceitos. WEKA. Bancos de Dados.

***


ABSTRACT

This paper’s goal is to present WEKA mining system’s functionalities and how they can be used, letting the reader learn about its history and providing details about how it can be used, because we believe that, as data mining is such an important and common topic, it is necessary to let those who are interested on it to discover such a trustworthy and robust software. To achieve this goal, we describe WEKA’s four interfaces, enumerating the features provided by each of them and describing how they contribute to a successful data mining execution. Besides that, this paper exposes data mining concepts, giving the reader the opportunity to learn about the most used data mining techniques, presenting, also, the possible ways their results can be output. Each and every technique presented is available on WEKA. Finally, this paper also describes and analyses a case study about a paper presented during a Data Mining discipline on Estácio de Sá’s Database Administration post-graduation course. This paper is about using WEKA to data-mine a private musical-CD’s collection database.

Keywords: Data Mining. Concepts. WEKA. Databases.

Minha Monografia I

Dedicatória

A Omar, que me ensinou que há muita coisa além do que vemos.



Agradecimentos

À minha esposa Sueli, pela paciência e pelo tempo que passou à frente do computador corrigindo este trabalho.

À professora Alessandra Cristina Senra Santiago, pelo bom humor de suas aulas.

Ao professor Carlos Alberto Alves Lemos, por nos apresentar o mundo da mineração de dados.

A Deus, pela proteção que me permitiu chegar até aqui.



Epígrafe

Pois não há nada secreto que um dia não apareça, nada oculto que não deva ser conhecido e vir à plena luz. (Evangelho de Lucas, 8:17)

TOEFL I

The most recent news story that affected me the most was about the changes that are going to take place at on the Rio Branco Avenue, in the heart of Rio de Janeiro city.

According to what I read on the newspaper, Rio de Janeiro's government plans to close almost the entire avenue to vehicles, from Candelária Church to Cinelândia, turning it into a huge pedestrian urban area. And not only Rio Branco Avenue would be changed, but also some of the smaller streets nearby, like Rosário, Buenos Aires and Ouvidor Streets.

On In this area, plans include the placement of gardens and benches.

Of course, traffic routes will are going to be changed: most of the bus lines that today go through Rio Branco avenue will then be moved to Senhor dos Passos Avenue. Plus there will be a 60% reducing on the number of the lines.

This news [has] affected me because I work at in Rio de Janeiro and almost everyday every day I suffer inside a bus to get to my job, near Rio Branco Avenue. If nowadays the traffic jams are so common, when we have such a wide avenue to let it flow, I don't think it's a good idea to wipe it away from the city's roadway system.

I don't believe, either, that reducing the number of buses would help reduce the traffic jams, because I think many people will start to use their cars instead.

Before starting such a huge change, I think government should build new metro subway lines so the number of people who uses use buses diminishes will diminish.

***


Esta é uma das várias pequenas redações que fiz durante o meu curso preparatório para o TOEFL. Trechos riscados são os erros originais, seguidos pelas correções feitas pela professora. Trechos entre colchetes são coisas que eu deixei de escrever.

Bem-Vindas a 2010

Como agora em janeiro eu estarei de férias, a programação deste blog que vos fala mudará. Durante este tempo, será publicada por aqui a minha monografia do curso de pós-graduação em administração em banco de dados e algumas redações que escrevi para o meu preparatório do TOEFL. Nada muito emocionante, mas é de utilidade pública.

Infelizmente, não vou estar em condições de responder a nenhum email ou comentário.

Mas fiquem tranquilas que eu volto. A partir de fevereiro a programação volta ao normal.

Feliz ano novo!