Orange

De LARHUD
Ir para: navegação, pesquisa

[Orange] é um programa que possibilita a mineração de dados de uma forma frutífera e divertida através de seu [software] de código aberto, <https://github.com/biolab/orange3>, que trabalha com aprendizado de máquina (machine learning) e visualização de dados (data visualization). Pode ser utilizado tanto por usuários iniciantes quanto especialistas. Seus fluxos de trabalho são baseados em análise de dados interativos atrelados a uma grande opção de ferramentas, incluindo uma variedade de técnicas de visualização, exploração, pré-processamento e modelagem de dados. Pode ser usado através de uma interface de usuário agradável e intuitiva ou, para usuários mais avançados, como um módulo para a linguagem de programação Python. Considerando que através da mineração de dados busca-se, entre outras relações, identificar padrões de similiridade ou de não conformidade nos conjuntos de dados, o Orange oferece diversos recursos de base estatística para o processamento dos dados.

Origem

O software é desenvolvido pelo [Laboratório de Bioinformática] dentro da Faculdade de Informação e Computação na Universidade de Ljubljana localizada na Eslovênia, e por ser de código aberto conta com a colaboração desta comunidade. Em 2018, a ferramenta completa seu vigésimo primeiro ano de história e este longo tempo é motivo de destaque, pois atesta a maturidade, segundo seus criadores, desta iniciativa dentro de um ambiente efêmero como o de desenvolvimento e lançamento de softwares.

Licença

Sobre o software é permitido sua redistribuição e/ou modificação sob os termos da [Licença Pública Geral GNU], publicada pela [Free Software Foundation]. A documentação, conteúdo do site, assim como outros conteúdos não relacionados aos códigos do software estão licenciados sob a forma de [Creative Commons Attribution-ShareAlike].

Instalação

Na [página] são disponibilizadas diferentes opções de instalação há versões para [Windows], [Linux] e [Mac]. É possível baixar um instalador com a última versão, neste caso, o Orange e o Miniconda serão instalados no seu computador, outra opção é realizar o download do Orange e Python ou ainda pode-se dentro do Python instalar o pacote Orange.

Características

O programa trabalha com arquivos nos formatos:

. Excel, arquivos delimitados por vírgulas e tabulações (.xlsx, .csv, .tab);

. Dados on-line no format do Google Planilhas;

. Imagens (.jpg, .tiff, .png) através do complemento ImageAnalytics;

. Arquivos de texto (.txt, .docx, .odt) com o complemento, Orange3-Corpus; e

. Banco de dados PostgreSQL e MSSQL, por meio do complemento SQL.

Com estes arquivos é possível criar um fluxo de trabalho de análise de dados. A instalação padrão inclui vários algoritmos de aprendizado de máquina, pré-processamento e visualização de dados em seis conjuntos de complementos (dados, visualização, classificação, regressão, avaliação e não supervisionados). Assim é possível ler os dados, mostrar uma tabela de dados, selecionar recursos, comparar algoritmos de aprendizado, visualizar elementos de dados, etc. Um exemplo do fluxo de trabalho no Orange.

Fluxo de Trabalho Orange

Documentação

O site fornece uma excelente documentação sobre a ferramenta, disponibilizando tutoriais [em vídeo], um guia para os primeiros passos, instruções para a utilização dos próprios dados e uma página explicando como utilizar cada um dos complementos disponibilizados por padrão na ferramenta. A página sobre a [documentação] se divide em três partes a primeira, com as informações já descritas, uma segunda com dados sobre desenvolvimento e a última com instruções sobre a biblioteca de mineração de dados.

Guia para o Usuário: Funções e Ferramentas

O programa analisado disponibiliza diversas possibilidades. Aqui será apresentada uma noção geral para fins de uso nas Humanidades Digitais.

Painel Geral:

Nas imagens abaixo, é apresentado o layout do Orange com as Funções e Ferramentas disponíveis para o uso. Na imagem do painel geral é possível reconhecer os principais grupos de Funções, na barra superior; os principais conjuntos de Ferramentas, na lateral esquerda; e Funções complementares, à esquerda na parte de baixo.


Principal


Toda a área em branco também é chamada de Fluxo de Trabalho, assim como as representações gráficas apresentadas nela.


Funções e Ferramentas:

Com recursos disponíveis para o uso do software, a interface do Orange se assemelha a de outros programas comumente utilizados. As Funções e Ferramentas agrupam recursos a partir das possibilidades de uso.

Como se pode ver na imagem abaixo, através dos grupos de Funções é possível acessar recursos como:

[File] criar novos arquivos; abrir arquivos; abrir e os congelar; recarregar o último fluxo de trabalho; ver o arquivo mais recente aberto; abrir relatório; salvar ou salvar como; ver informações sobre fluxos de trabalho; e sair do programa;

[Edit] desfazer ou refazer uma ação; refazer uma ação adicionando anotação; duplicar seleções; ou mesmo selecionar tudo;

[View] expandir a “caixa” de ferramentas; visualizar o registro e o relatório; aumentar, diminuir ou restabelecer o zoom; assim como mostrar as margens do fluxo de trabalho;

[Widget] abrir; renomear; remover; e visualizar a ajuda sobre as ferramentas;

[Options] ver as configurações; restabelecer as definições das ferramentas; e adicionar complementos (outras ferramentas) ao programa;

[Help] obter informações sobre o programa; informações de boas-vindas; tutoriais; e exemplos.


Funções


Nas imagens acima, é possível ver os ícones apresentados no canto esquerdo abaixo, em uma barra cinza. Através deles é possível realizar Funções como:

i: mostrar propriedades do fluxo de trabalho;

#: alinhar interfaces a uma grade;

T: adicionar uma anotação de texto ao fluxo de trabalho;

Seta: adicionar uma seta para nota na área do fluxo de trabalho;

||: acionar congelamento

?: Ajuda

As Funções do Orange oferecem variados recursos de criação e edição de arquivos disponíveis, assim como informações sobre o software e recursos para ampliar seu uso.


Já os grupos de Ferramentas do Orange apresentam diferentes perfis de recursos para análise de dados. Como se pode ver na imagem abaixo, os principais grupos de Ferramentas são:

[Data]: manipulação de dados;

[Visualize]: visualização de dados;

[Model]: predições;

[Evaluate]: classificação avaliativa e desempenho de regressão; e

[Unsupervisad]: processamentos mais customizados.


Ferramentas


Contudo, para trabalhar com dados textuais é preciso adicionar (na barra superior, Options, Add-ons) os grupos de Ferramentas Textable e Text Mining, apresentados na imagem abaixo, que oferecem recursos para:

[Textable]: análise de textos; e

[Text Mining]: mineração de textos.


Ferramentas: Textable e Text Mining


Cada grupo de Ferramentas oferece um conjunto de recursos. As aplicações principais destes serão apresentadas a seguir:

Data

File: lê dados de valor de atributo de um arquivo de entrada. A ferramenta lê dados do Excel (.xlsx), arquivos delimitados por tabulação (.txt) simples, arquivos separados por vírgulas (.csv) ou URLs. Feita a leitura do arquivo de dados de entrada (tabela de dados com instâncias de dados) e envia o conjunto de dados para seu canal de saída.

Datasets: carrega um conjunto de dados de um repositório online. A ferramenta recupera o conjunto de dados selecionado do servidor e o envia para a saída.

SQL Table: lê dados de um banco de dados SQL. A ferramenta acessa os dados armazenados em um banco de dados SQL. Ele pode se conectar ao PostgreSQL (requer módulo psycopg2) ou SQL Server (requer o módulo pymssql).

Data Table: exibe dados do valor do atributo em uma planilha. A ferramenta Tabela de Dados recebe um ou mais conjuntos de dados em sua entrada e os apresenta como uma planilha. Também suporta a seleção manual de dados.

Paint Data: pinta os dados em um plano 2D. Podem-se colocar pontos de dados individuais ou usar um pincel para representar conjuntos de dados maiores. A ferramenta permite a criação de um novo conjunto de dados colocando pontos de dados visualmente em um plano de duas dimensões. Os pontos de dados podem ser colocados no plano individualmente (Put) ou em um número maior por pincel (Brush).

Data Info: exibe informações sobre um conjunto de dados selecionado. Ferramenta simples que apresenta informações sobre o tamanho do conjunto de dados; recursos discretos e contínuos; metas; meta atributos; localização do armazenamento dos dados; produz relatório.

Data Sampler: seleciona um subconjunto de dados de um conjunto de dados de inserido no software. A ferramenta implementa meios de amostragem de dados de conjunto de dados inserido. Gera um conjunto de dados amostrado e complementar (com instâncias do conjunto de entrada que não estão incluídas na amostra).

Select Columns: seleciona manualmente atributos de dados e composição do domínio de dados. A ferramenta compõe manualmente seu domínio de dados. O usuário pode decidir quais e como os atributos serão usados. Os atributos podem ser discretos, contínuos ou uma cadeia de caracteres, sendo informado com um símbolo antes do nome do atributo (D, C, S, respectivamente).

Select Rows: seleciona dados com base nas condições definidas pelo usuário. Os critérios de seleção são apresentados como uma coleção de termos em função de condições definidas por um atributo, selecionados de uma lista (de atributos discretos, contínuos e de string) e, se necessário, definindo o valor a ser usado no termo de condição.

Rank: organiza conjuntos de dados por classificação ou regressão. A ferramenta considera classificação de conjuntos de dados organizados por classe (classificação ou regressão) e os atributos de acordo com sua correlação com a classe. Aceita modelos de pontuação, como regressão linear, regressão logística, entre outros.

Merge Data: mescla dois conjuntos de dados, com base nos valores dos atributos selecionados. A ferramenta é usada para mesclar horizontalmente dois conjuntos de dados, com base nos valores dos atributos selecionados.

Concatenate: concatena (junta numa cadeia ou sequência lógica ou orgânica) dados de várias fontes. A ferramenta concatena vários conjuntos de dados. A mesclagem é “vertical”, no sentido de que dois conjuntos de 10 e 5 dados geram um novo conjunto de 15 dados.

Transpose: a ferramenta transpõe uma tabela de dados.

Randomize: mistura classes e/ou atributos de um conjunto de dados inseridos. A ferramenta recebe um conjunto de dados na entrada e gera um conjunto de dados em que as classes e/ou atributos são embaralhadas.

Preprocess: pré-processa dados com métodos selecionados. O pré-processamento é crucial para obter resultados de análise de melhor qualidade. A ferramenta oferece cinco métodos de pré-processamento para melhorar a qualidade dos dados permitindo: transformar imediatamente valores contínuos em discretos ou valores discretos em contínuos; imputar valores ausentes; selecionar recursos relevantes ou centralizá-los; e escalá-los. Basicamente, esta ferramenta combina quatro outras separadas por um processamento mais simples.

Impute: substitui valores desconhecidos nos dados. Alguns algoritmos e visualizações do Orange não podem manipular valores desconhecidos nos dados. Essa ferramenta faz o que os estatísticos chamam de imputação: substitui valores ausentes por valores calculados a partir dos dados ou definidos pelo usuário. A imputação padrão é (1-NN).

Outliers: processa a detecção simples de outliers comparando distâncias entre dados. A ferramenta aplica um dos dois métodos para detecção de outliers, a saber: SVM (múltiplos kernels) e Elliptical Envelope.

Edit Domain: renomeia características/atributos e seus valores. Esta ferramenta pode ser usada para editar ou alterar o domínio de um conjunto de dados.

Python Script: amplia funcionalidades através de scripts Python. A ferramenta pode ser usada para executar um script Python na entrada, quando uma funcionalidade adequada não é implementada em uma ferramenta existente.

Color: define legenda de cor para variáveis. A ferramenta permite definir a legenda da cor nas suas visualizações de acordo com suas próprias preferências. Essa opção oferece as ferramentas para enfatizar seus resultados e oferece uma grande variedade de opções de cores para apresentar seus dados. Pode ser combinado com a maioria das ferramentas de visualização.

Continuize: transforma atributos discretos (Variáveis discretas são variáveis numéricas que têm um número contável de valores entre quaisquer dois valores) em variáveis dummy (variável dummy é uma variável categórica que foi transformada em numérica, considerando que valores de uma variável categórica são categorias) contínuas (Variáveis contínuas são variáveis numéricas que têm um número infinito de valores entre dois valores quaisquer). A ferramenta recebe um conjunto de dados na entrada e gera o mesmo conjunto de dados no qual os atributos discretos (incluindo os atributos binários) são substituídos pelos contínuos.

Create Class: cria um atributo de classe a partir de um atributo de string. A ferramenta cria um novo atributo de classe a partir de um atributo discreto ou de string existente. A ferramenta corresponde ao valor de sequência do atributo selecionado e constrói um novo valor definido pelo usuário para as classes correspondentes.

Discretize: transforma os atributos contínuos de um conjunto de dados de entrada em discretos. A ferramenta transforma em discretos os atributos contínuos com o método selecionado.

Feature Constructor: adiciona novos recursos ao seu conjunto de dados. A ferramenta permite que se inclua manualmente recursos (colunas) ao conjunto de dados. O novo recurso pode ser um cálculo de um recurso existente ou uma combinação de vários (adição, subtração etc.). Pode-se escolher o tipo de recurso (discreto, contínuo ou string) e seus parâmetros (nome, valor, expressão). Para variáveis contínuas, você só precisa construir uma expressão no Python.

Purge Domain: remove valores de atributos não utilizados e atributos inúteis, classifica os valores restantes. As definições de atributos nominais às vezes contêm valores que não aparecem nos dados. Mesmo que isso não aconteça nos dados originais, filtrar os dados, selecionar subconjuntos examinados e similares pode remover todos os exemplos para os quais o atributo possui algum valor específico. Tais valores desorganizam a apresentação de dados, especialmente várias visualizações, e devem ser removidos. Depois de limpar um atributo, ele pode se tornar de valor único ou, no caso extremo, não ter nenhum valor (se o valor desse atributo estiver indefinido para todos os exemplos). Em tais casos, o atributo pode ser removido.

Save Data: salva dados em um arquivo. A ferramenta considera um conjunto de dados fornecido como entrada e o salva em um arquivo de dados com um nome especificado. Pode salvar os dados como um arquivo separado por vírgula ou delimitado por tabulações. Importante saber que a ferramenta não salva os dados toda vez que recebe um novo sinal na entrada, pois isso constantemente (e, principalmente, inadvertidamente) sobrescreve o arquivo. Em vez disso, os dados são salvos somente depois que um novo nome de arquivo é definido ou o usuário pressiona o botão Salvar.


Visualize

Tree Viewer: apresenta uma visualização de árvores de classificação e regressão. É uma ferramenta versátil com visualização 2D de árvores de classificação e regressão. O usuário pode selecionar um nó, instruindo a ferramenta a gerar os dados associados ao nó, permitindo a análise exploratória de dados.

Box Plot: mostra a distribuição de valores de atributos. A ferramenta apresenta as distribuições de valores de atributos. É uma boa prática verificar quaisquer novos dados com essa ferramenta para descobrir rapidamente quaisquer anomalias, como valores duplicados, valores discrepantes e semelhantes.

Distributions: exibe distribuições de valor para um único atributo. A ferramenta mostra a distribuição de valores de atributos discretos ou contínuos. Se os dados contiverem uma variável de classe, as distribuições podem ser condicionadas na classe. Para atributos discretos, o gráfico exibido pela ferramenta mostra quantas vezes cada valor de atributo aparece nos dados. Se os dados contiverem uma variável de classe, as distribuições de classe para cada um dos valores de atributo também serão exibidas.

Scatter Plot: oferece visualização de gráficos de dispersão com análise exploratória e aprimoramentos de visualização de dados inteligentes. A ferramenta fornece uma visualização de gráfico de dispersão bidimensional para atributos contínuos e de valor discreto. Os dados são exibidos como uma coleção de pontos, cada um com o valor do atributo do eixo x determinando a posição no eixo horizontal e o valor do atributo do eixo y que determina a posição no eixo vertical. Várias propriedades do gráfico, como cor, tamanho e forma dos pontos, títulos dos eixos e tamanho máximo do ponto podem ser ajustadas no lado esquerdo da ferramenta.

Sieve Diagram: plota um diagrama de peneira para um par de atributos, que é um método gráfico para visualizar frequências em uma tabela de contingência bidirecional e compará-las com as freqüências esperadas sob a hipótese de independência. Nesta exibição, a área de cada retângulo é proporcional à freqüência esperada, enquanto a freqüência observada é mostrada pelo número de quadrados em cada retângulo. A diferença entre a frequência observada e a esperada (proporcional ao padrão residual de Pearson) aparece como a densidade de sombreamento, usando a cor para indicar se o desvio da independência é positivo (azul) ou negativo (vermelho).

Mosaic Display: exibe dados em uma plotagem em mosaico. Este tipo de gráfico apresenta a representação gráfica de uma tabela de frequência bidirecional ou de uma tabela de contingência. É usado para visualizar dados de duas ou mais variáveis qualitativas. Oferece ao usuário meios para reconhecer mais eficientemente as relações entre diferentes variáveis.

FreeViz: exibe a projeção FreeViz, que usa um paradigma emprestado da física de partículas: pontos na mesma classe se atraem, aqueles de classes diferentes se repelem e as forças resultantes são exercidas nas âncoras dos atributos, isto é, em vetores unitários de cada uma das dimensões. Os pontos não podem se mover (são projetados no espaço de projeção), mas as âncoras de atributo podem, portanto, o processo de otimização é uma otimização de subida de montanha, onde no final as âncoras são colocadas de modo que as forças estejam em equilíbrio. O botão Otimizar é usado para invocar o processo de otimização.

Linear Projection: método de projeção linear com análise exploratória de dados. Esta ferramenta exibe projeções lineares de dados rotulados de classe. Suporta vários tipos de projeções, tais como análise discriminante circular, linear, análise de componentes principais, projeção personalizada.

Radviz: visualização com análise de dados exploratórios e aprimoramentos inteligentes de visualização de dados. É uma técnica de visualização multidimensional não linear que pode exibir dados definidos por três ou mais variáveis em uma projeção bidimensional. As variáveis visualizadas são apresentadas como pontos de ancoragem igualmente espaçados ao redor do perímetro de um círculo unitário. As instâncias de dados são mostradas como pontos dentro do círculo, com suas posições determinadas por uma metáfora da física: cada ponto é mantido no lugar com molas que são conectadas na outra extremidade às âncoras variáveis. A rigidez de cada mola é proporcional ao valor da variável correspondente e o ponto termina na posição em que as forças da mola estão em equilíbrio. Antes da visualização, os valores das variáveis são escalonados para ficar entre 0 e 1. As classes de dados que estão próximas de um conjunto de variáveis têm valores mais altos para essas variáveis do que para as outras.

Heat Map: plota um mapa de calor para um par de atributos. O mapa de calor é um método gráfico para visualizar valores de atributos por classe em uma matriz bidirecional. Só funciona em conjuntos de dados contendo variáveis contínuas. Os valores são representados por cor: quanto maior for um determinado valor, mais escura será a cor representada. Combinando classes e atributos nos eixos x e y, vemos onde os valores dos atributos são mais fortes e os mais fracos, permitindo-nos encontrar características típicas (discretas) ou de valores (contínuas) para cada classe.

Venn Diagram: plota um diagrama de Venn para dois ou mais subconjuntos de dados. A ferramenta apresenta relações lógicas entre conjuntos de dados. Esta projeção mostra dois ou mais conjuntos de dados representados por círculos de cores diferentes. As interseções são subconjuntos que pertencem a mais de um conjunto de dados. Para analisar ou visualizar ainda mais o subconjunto, deve-se clicar na interseção.

Silhouette Plot: representação gráfica da consistência dentro de clusters de dados. Esta ferramenta oferece uma representação gráfica da consistência dentro de clusters de dados, fornecendo ao usuário os meios para avaliar visualmente a qualidade do cluster. A pontuação da silhueta é uma medida sobre como um objeto é semelhante ao seu próprio cluster em comparação a outros clusters; e é crucial na criação de um gráfico de silhueta. A pontuação da silhueta próxima a 1 indica que a classe de dados está próxima do centro do cluster e que as classes que possuem pontuações de silhuetas próximas a 0 estão na fronteira entre dois clusters.

Pythagorean Tree: apresenta visualização de árvores pitagóricas para árvores de classificação ou regressão. As árvores pitagóricas são fractais planos que podem ser usados para representar hierarquias gerais de árvores, sendo usados para visualizar e explorar alguns modelos de árvores.

Pythagorean Forest: floresta pitagórica utilizada para a visualização de florestas aleatórias. A Floresta Pitagórica mostra todos os modelos de árvore de decisão extraídos com a ferramenta Random Forest. Ele exibe então como Árvores Pitagóricas, podendo cada visualização pertencer a uma árvore construída aleatoriamente. Na visualização, pode-se selecionar uma árvore e exibi-la na ferramenta Árvore Pitagórica. A melhor árvore é aquela com os ramos mais curtos e mais fortemente coloridos. Isso significa que poucos atributos dividem bem os ramos. A ferramenta apresenta resultados de classificação e regressão. A classificação requer uma variável de destino discreta no conjunto de dados, enquanto a regressão requer uma variável de destino contínua. Ainda assim, ambos devem ser alimentados com uma Árvore na entrada.

CN2 Rule Viewer: oferece visualização da Regra CN2 (O algoritmo de indução CN2 é um algoritmo de aprendizado para indução de regras. É projetado para funcionar mesmo quando os dados de treinamento são imperfeitos. É baseado em idéias do algoritmo AQ e do algoritmo ID3). A ferramenta exibe regras de classificação CN2. Se os dados também estiverem conectados, na seleção de regras, é possível analisar quais instâncias obedecem às condições.

Nomogram: oferecem visualização de classificadores Naive Bayes e Regressão Logística. É um diagrama representando as relações entre três ou mais grandezas variáveis por meio de um número de escalas, dispostas de modo que o valor de uma variável possa ser encontrado por uma construção geométrica simples, por exemplo, desenhando uma linha reta cruzando as outras escalas de valores apropriados. A ferramenta permite a representação visual de alguns classificadores (mais precisamente, classificador Naive Bayes e classificador de regressão logística), oferecendo uma visão sobre a estrutura dos dados e os efeitos dos atributos nas probabilidades de classe. Além da visualização do classificador, a ferramenta oferece suporte interativo à previsão de probabilidades de classe.


Model

Constant: prevê a classe ou valor médio mais frequente do conjunto de treinamento. Produz um modelo que sempre prevê a maioria para tarefas de classificação e valor médio para tarefas de regressão. Para classificação, ao predizer o valor da classe com Previsões, a ferramenta retornará frequências relativas das classes no conjunto. Quando há duas ou mais classes majoritárias, o classificador escolhe aleatoriamente a classe prevista, mas sempre retorna a mesma classe para um exemplo específico. Para regressão, aprende a média da variável de classe e retorna um preditor com o mesmo valor médio. A ferramenta é normalmente usada como base para outros modelos.

CN2 Rule Induction: induz regras de dados usando o algoritmo CN2, que é uma técnica de classificação projetada para a indução eficiente de regras simples e compreensíveis, mesmo em domínios onde o ruído pode estar presente.

kNN: faz previsões de acordo com as classes mais próximas. A ferramenta kNN usa o algoritmo kNN que procura k exemplos de classes mais próximas no espaço de recursos e usa sua média como previsão.

Tree: algoritmo de árvore com divisão direta. É um algoritmo simples que divide os dados em nós por classe. É um precursor do Random Forest. Árvore no Orange é projetada internamente e pode processar conjuntos de dados discretos e contínuos.

Random Forest: faz previsão usando um conjunto de árvores de decisão. É um método de aprendizado conjunto usado para classificação, regressão e outras tarefas. Esta ferramenta cria um conjunto de árvores de decisão, onde cada árvore é desenvolvida a partir de uma amostra de dados. Ao desenvolver árvores individuais, um subconjunto arbitrário de atributos é desenhado (daí o termo "Aleatório"), a partir do qual o melhor atributo para a divisão é selecionado. O modelo final é baseado na definição majoritária de árvores desenvolvidas individualmente na floresta. O Random Forest funciona para tarefas de classificação e regressão.

SVM: Support Vector Machines mapeiam entradas para espaços de características de dimensões mais altas. O SVM é uma técnica de aprendizado de máquina que separa o espaço de atributo com um hiperplano, maximizando assim a margem entre as diferentes classes ou valores de classe. A técnica geralmente produz resultados de desempenho preditivo ótimos. O Orange incorpora uma implementação popular do SVM do pacote LIBSVM. Esta Ferramenta é a interface gráfica com o usuário. Para tarefas de regressão, o SVM realiza a regressão linear em um espaço de recurso de alta dimensão. Sua precisão de estimativa depende de um bom ajuste dos parâmetros. A ferramenta gera previsões de classe com base em uma Regressão SVM. A ferramenta funciona para tarefas de classificação e regressão.

Linear Regression: Um algoritmo de regressão linear com opcionais L1 (LASSO), L2 (crista) ou L1L2 (rede elástica). A ferramenta constrói um preditor que aprende uma função linear a partir de seus dados de entrada. O modelo pode identificar a relação entre um preditor xi e a variável de resposta y. Além disso, os parâmetros de regularização Lasso e Ridge podem ser especificados. A regressão de Lasso minimiza uma versão da função de perda de mínimos quadrados com norma L1 e regularização de Ridge com norma L2. A Regulação linear funciona apenas em tarefas de regressão.

Logistic Regression: representa o algoritmo de classificação de regressão logística com regularização LASSO (L1) ou cume (L2). A Regressão Logística aprende um modelo de Regressão Logística a partir dos dados. Só funciona para tarefas de classificação.

Naive Bayes: representa um classificador probabilístico rápido e simples baseado no teorema de Bayes com a suposição de independência de recursos. Naive Bayes aprende um modelo Naive Bayesiano a partir dos dados. Só funciona para tarefas de classificação.

AdaBoost (abreviação de “Adaptive boosting”): é um meta-algoritmo conjunto que combina aprendizagem fraca e se adapta à "dureza" de cada amostra utilizada. A ferramenta é um algoritmo de aprendizado de máquina, que pode ser usada com outros algoritmos de aprendizado para melhorar seu desempenho. Faz isso ajustando aprendizagem fraca. O AdaBoost funciona tanto para classificação como para regressão.

Neural Network: é um algoritmo perceptron multicamadas (MLP) com retropropagação. A ferramenta usa o algoritmo Perceptron multicamadas de sklearn, que pode aprender modelos não lineares e lineares.

Stochastic Gradient Descent: minimiza uma função objetiva usando uma aproximação estocástica de gradiente descendente. A ferramenta Stochastic Gradient Descent usa gradiente descendente estocástico que minimiza uma função de perda escolhida com uma função linear. O algoritmo aproxima um gradiente verdadeiro considerando uma amostra por vez e atualiza o modelo simultaneamente com base no gradiente da função de perda. Para regressão, ele retorna preditores como minimizadores da soma, ou seja, estimadores M, e é especialmente útil para conjuntos de dados de larga escala e esparsos.

Save Model: salve um modelo em um arquivo de saída.

Load Model: carrega um modelo de um arquivo de entrada.


Evaluate

Test & Score: testa algoritmos de aprendizado em dados. A ferramenta testa algoritmos de aprendizado com esquemas de amostragem diferentes disponíveis, inclusive usando dados de teste separados. A ferramenta faz duas coisas: mostra uma tabela com diferentes medidas de desempenho do classificador, como a precisão da classificação e a área sob a curva; e gera resultados de avaliação, que podem ser usados por outras ferramentas para analisar o desempenho de classificadores, como Análise de ROC.

Predictions: mostra previsões dos modelos nos dados. A ferramenta recebe um conjunto de dados e um ou mais preditores (classificadores, não algoritmos de aprendizado). Produz os dados e as previsões.

Confusion Matrix: mostra proporções entre a classe prevista e a atual. A matriz fornece o número ou proporção entre a classe prevista e a atual. A seleção dos elementos na matriz alimenta as classes correspondentes no sinal de saída. Desta forma, podem-se observar quais unidades específicas foram classificadas erroneamente e como. A ferramenta geralmente obtém os resultados da avaliação do Test & Score.

ROC Analysis: traça uma taxa positiva verdadeira contra uma taxa de falso positivo de um teste. A ferramenta apresenta curvas ROC para os modelos testados e o elemento convexo correspondente. Serve como um meio de comparação entre modelos de classificação. A curva plota uma taxa de falso positivo em um eixo x (1-especificidade; probabilidade de que meta = 1 quando valor verdadeiro = 0) contra uma taxa positiva verdadeira em um eixo y (sensibilidade; probabilidade que meta = 1 quando valor verdadeiro = 1). Quanto mais próxima a curva segue a borda esquerda e, em seguida, a borda superior do espaço ROC, mais preciso é o classificador. Dados os custos de falsos positivos e falsos negativos, a ferramenta também pode determinar o classificador e o limite ideais.

Lift Curve: mede o desempenho de um classificador escolhido em relação a um classificador aleatório. A curva de aumento mostra a relação entre o número de classes que foram previstas positivas e aquelas que são de fato positivas e, portanto, mede o desempenho de um classificador escolhido em relação a um classificador aleatório. O gráfico é construído com o número cumulativo de casos (em ordem decrescente de probabilidade) no eixo x e o número cumulativo de positivos verdadeiros no eixo y. A curva de elevação é frequentemente usada na segmentação da população. Você também pode determinar o classificador ideal e seu limite no gráfico.

Calibration Plot: mostra a correspondência entre as previsões de probabilidade dos classificadores e as probabilidades de classe reais. O Gráfico de Calibração representa as probabilidades de classe em relação àquelas previstas pelo(s) classificador(es).


Unsupervisad

Distance File: Carrega a distância existente em um arquivo.

Distance Matrix: permite a visualização das medidas de distância em uma matriz de distância. A ferramenta cria uma matriz de distância, que é um array bidimensional contendo as distâncias, tomadas em pares, entre os elementos de um conjunto. O número de elementos no conjunto de dados define o tamanho da matriz. As matrizes de dados são essenciais para o agrupamento hierárquico.

Distance Map: o mapa permite a visualização de distâncias entre objetos. A visualização é a mesma impressa numa tabela de números, sendo os números substituídos por pontos coloridos. As distâncias são mais frequentemente aquelas entre classes (“linhas” na ferramenta Distâncias) ou atributos (“colunas” na ferramenta Distâncias). A única entrada adequada para o Mapa de distância é a ferramenta Distâncias. Para a saída, o usuário pode selecionar uma região do mapa e a ferramenta gerará as classes ou atributos correspondentes. Observe também que a ferramenta Distâncias ignora valores discretos e calcula distâncias apenas para dados contínuos, portanto, ele só pode exibir o mapa de distância para dados discretos se você os transformá-los em contínuos primeiro.

Hierarchical Clustering: agrupa itens usando um algoritmo de agrupamento hierárquico. A ferramenta calcula o agrupamento hierárquico de tipos arbitrários de objetos a partir de uma matriz de distâncias e mostra um dendrograma (gráfico) correspondente.

k-Means: agrupa itens usando o algoritmo de armazenamento em cluster k-Means. A ferramenta aplica o algoritmo de armazenamento em cluster k-Means aos dados e gera um novo conjunto de dados no qual o índice de cluster é usado como um atributo de classe. O atributo de classe original, se existir, é movido para os meta-atributos. Os resultados de clustering para vários k também são mostrados na ferramenta.

Manifold Learning: processa redução de dimensionalidade não linear. A aprendizagem múltipla é uma técnica que encontra uma variedade não-linear dentro do espaço da dimensão superior. Assim a ferramenta gera novas coordenadas que correspondem a um espaço bidimensional. Tais dados podem ser posteriormente visualizados com o Scatter Plot ou outras ferramentas de visualização.

PCA (ou Análise de Componentes Principais): calcula a transformação linear por Análise de Componentes Principais de dados de entrada, gerando um conjunto de dados transformado com pesos de classes individuais ou pesos de componentes principais.

Correspondence Analysis: processa a Análise de Correspondência para dados multivariados categóricos, calculando a transformação linear da Análise de Correspondência dos dados de entrada. Embora seja semelhante ao PCA, a Análise de Correspondência calcula a transformação linear em dados discretos em vez de contínuos.

Distances: calcula distâncias entre linhas ou colunas em um conjunto de dados.

Distance Transformation: transforma distâncias em um conjunto de dados. A ferramenta é usada para a normalização e inversão de matrizes de distância. A normalização dos dados é necessária para trazer todas as variáveis em proporção umas com as outras.

MDS: projeta itens em um plano ajustado a determinadas distâncias entre os pontos. É uma técnica que encontra uma projeção de pontos de baixa dimensão (aqui bidimensionais), onde tenta ajustar as distâncias entre os pontos da melhor forma possível. O ajuste perfeito é normalmente impossível de obter, pois os dados são de alta dimensão ou as distâncias não são euclidianas. Na entrada, a ferramenta precisa de um conjunto de dados ou uma matriz de distâncias. Ao visualizar distâncias entre linhas, pode-se também ajustar a cor dos pontos, alterar sua forma, marcá-los e enviá-los após a seleção. O algoritmo movimenta iterativamente os pontos em torno de uma espécie de simulação de um modelo físico: se dois pontos estão muito próximos um do outro (ou muito longe), há uma força que os separa (ou junta). A mudança da posição do ponto em cada intervalo de tempo corresponde à soma das forças que atuam sobre ele.

Save Distance Matrix: salva uma matriz de distância.


Textable

Text Field: importa dados de textos digitados. A ferramenta permite que o usuário importe dados coletados através da digitação. Processa uma segmentação contendo um único segmento cobrindo todo conjunto, tendo o campo de texto para a edição manualmente uma string importada anteriormente.

Text File: importa dados de arquivo de texto bruto. A ferramenta foi estruturada para importar conteúdo de arquivo de texto acessível no computador, exibindo segmentação para o conteúdo.

URLs: busca dados de texto on-line da internet. A ferramenta foi projetada para importar o conteúdo de um ou vários locais da Internet (URLs), exibindo segmentação para o conteúdo de cada URL selecionado.

Preprocess: pré-processamento de texto básico. A ferramenta insere uma segmentação, cria uma cópia modificada do conteúdo da segmentação e gera uma nova segmentação correspondente aos dados modificados. As possíveis modificações estão no caso (minúsculas / maiúsculas) e na substituição de caracteres acentuados por seus equivalentes não-acentuados.

Recode: recodificação de texto personalizado usando expressões regulares. A ferramenta insere uma segmentação, cria uma cópia modificada de seu conteúdo e gera uma nova segmentação correspondente aos dados modificados. As modificações aplicadas são definidas por substituições, isto é, pares compostos por uma expressão regular (designada para identificar partes do texto que devem ser modificadas) e uma string de substituição.

Merge: mescla duas ou mais segmentações. A ferramenta usa várias segmentações de entrada, copia sucessivamente cada segmento de cada segmentação de entrada para formar uma nova segmentação e envia essa segmentação para suas conexões de saída.

Segment: subdivide uma segmentação usando expressão regular. A ferramenta insere uma segmentação e cria uma nova segmentação, subdividindo cada segmento original em uma série de novos segmentos. Ele também permite que o usuário crie anotações para os segmentos de saída.

Select: seleciona um subconjunto de segmentos em uma segmentação. A ferramenta seleciona uma segmentação do conjunto original em nova série.

Intersect: inclui / exclui segmentos com base em outra segmentação. A ferramenta insere (ou exclui) diversas segmentações e seleciona os segmentos de um deles (segmentação de "origem") com base nos segmentos presentes em outro (segmentação de "filtro"). Ele também emite em uma conexão de saída (não selecionada por padrão) de uma segmentação contendo os segmentos que não foram selecionados.

Extract XML: cria uma nova segmentação baseada em marcação XML. A ferramenta insere uma segmentação, pesquisa em suas partes de conteúdo correspondentes a um tipo de elemento XML específico e cria um segmento para cada ocorrência desse elemento.

Display: exibe ou exporta detalhes de uma segmentação. A ferramenta insere uma segmentação e exibe na tela o conteúdo e a anotação dos segmentos que o compõem, permitindo ao usuário exportar as informações em um arquivo de texto. Além disso, encaminha a segmentação sem qualquer modificação em suas conexões de saída.

Context: explora os contextos dos segmentos. A ferramenta insere uma ou várias segmentações e gera concordâncias ou listas de disposição em formato de tabela, permitindo que o usuário examine os contextos nos quais os segmentos selecionados aparecem. O papel da segmentação de unidade é central, definindo segmentos-chave cujos contextos podem ser examinados por meio das concordâncias ou listas de colocações resultantes.

Count: contagem de tipos de segmentos. A ferramenta insere uma ou várias segmentações, conta a frequência de segmentos definidos por uma das segmentações (potencialmente dentro de segmentos definidos por outro) e envia o resultado na forma de uma tabela de contingência (ou matriz de co-ocorrência ou também matriz de termo-documento).

Length: calcula (a média) o comprimento dos segmentos. A ferramenta insere uma ou várias segmentações, mede o tamanho de uma (eventualmente dentro dos segmentos definidos por outra segmentação) e envia os resultados em formato de tabela. Permite também que o usuário calcule o comprimento médio de segmentos de uma segmentação com base nas unidades definidas por outra segmentação.

Variety: mede a variedade de segmentos. A ferramenta insere uma ou várias segmentações, mede a variedade dos segmentos de uma das segmentações (eventualmente dentro dos segmentos definidos por outra segmentação), e envia o resultado em formato de tabela. Também permite que o usuário calcule a variedade média por categoria (com base nos valores de anotação dos segmentos). Para tornar essas duas medidas menos dependentes do tamanho das segmentações, podendo-se calcular seu valor médio em um número de subamostras de tamanho fixo.

Cooccurrence: mede a co-ocorrência entre tipos de segmentos dos documentos. A ferramenta insere uma ou várias segmentações, mede o número de documentos nos quais os segmentos de entrada ocorrem simultaneamente e envia o resultado na forma de uma matriz de coocorrência. Como essa tabela é uma matriz de coocorrência, as linhas e colunas correspondem aos tipos de unidade. A célula na interseção de uma determinada coluna e linha representa o número de documentos (tipos de contexto) nos quais esses dois tipos de unidade ocorrem simultaneamente.

Category: cria tabela com categorias definidas por conteúdo ou anotações dos segmentos. Essa ferramenta insere uma ou várias segmentações e gera uma representação tabulada de categorias associadas aos segmentos de uma delas.

Convert: converte, transforma ou exporta tabela Textable do Orange. Converte; insere dados no formato do Orange Textable e permite ao usuário modificá-los (por classificação, normalização, etc.); converte-os em outros formatos, em particular o formato de tabela padrão do Orange Canvas; exporta-os em formato de texto delimitado por tabulações (para um arquivo ou para a área de transferência).

Message: analisa dados JSON na segmentação e os usa para controlar outras ferramentas. A ferramenta insere uma segmentação contendo um único segmento cujo conteúdo está no formato JSON. Após a validação, os dados são convertidos em um objeto JSONMessage e emitidos para as conexões de saída da ferramenta. Contanto que os dados estejam em conformidade com um dos formatos descritos na seção formato JSON import / export, o objeto JSONMessage pode ser enviado para uma instância da ferramenta correspondente (arquivos de texto, URLs, Recode ou Segmento) e usado para controlar seu comportamento remotamente.

Interchange: converte segmentação Textable em Corpus Text Mining e vice-versa.


Text Mining

Corpus: carregar um corpus de documentos de texto, podendo ser marcado por categoria. A ferramenta lê corpos de texto de arquivos e envia um conjunto de dados de um corpus para seu canal de saída. O histórico dos arquivos abertos mais recentemente é mantido na ferramenta, que também pode incluir um diretório com corpo de amostra pré-instalado com o complemento.

Import Documents: importa documentos de texto de pastas. A ferramenta recupera arquivos de texto de pastas e cria um corpus. Lê arquivos do tipo .txt, .docx, .odt, .pdf e .xml.

The Guardian: busca dados da plataforma/ dos artigos da API do The Guardian.

NY Times: busca e carrega dados da API de pesquisa de artigos do New York Times. A ferramenta busca e carrega que podem ser consultar artigos do NYTimes desde 18 de setembro de 1851 limitado à 1000 documentos por consulta, definida pela para a recuperação. Defina quais recursos usar para mineração de texto, sendo cabeçalho e resumo selecionados default. O uso da ferramenta demanda a informação de chave de API própria.

PubMed: busca dados de revistas PubMed. A ferramenta permite consulta e recuperação de entradas para acesso a mais de 26 milhões de citações de literatura biomédica da MEDLINE, revistas de ciências da vida e livros on-line, possibilitando pesquisas regulares ou a partir de consultas avançadas.

Twitter: busca e carrega dados da API de pesquisa do Twitter, permitindo a permite a consulta de tweets. Através da ferramenta podem-se fazer consultas por conteúdo, autor ou ambos e acumular resultados caso deseje criar um conjunto de dados maior. A ferramenta suporta apenas a API REST e permite consultas até duas semanas anteriores.

Wikipedia: busca dados da API do Wikipedia, pelo serviço web RESTful do MediaWiki. A ferramenta permite recuperar textos da API do Wikipedia, sendo útil principalmente para ensino e demonstração.

Preprocess Text: faz o pré-processamento do corpus de um texto em desenvolvimento com métodos selecionados. A ferramenta divide o texto em unidades menores (tokens), filtra-as, executa a normalização (stemming, lematização), cria n-gramas e etiquetas menores com rótulos de parte do conteúdo. As etapas da análise são aplicadas sequencialmente e podem ser ativadas ou desativadas.

Bag of Words: gera uma “bolsa” de palavras a partir do corpus de entrada. A ferramenta cria um corpus com contagens de palavras para cada documento. A contagem pode ser absoluta, binária (contém ou não contém) ou sublinear (logaritmo da frequência do termo). O modelo de pacote de palavras é necessário em combinação com a ferramenta “Word Enrichment” e pode ser usada para modelagem preditiva.

Similarity Analysis: computa documentos hashes [Uma função hash é um algoritmo que mapeia dados de comprimento variável para dados de comprimento fixo. Os valores retornados por uma função hash são chamados valores hash, códigos hash, somas hash (hash sums), checksums ou simplesmente hashes. Um uso é uma estrutura de dados chamada de tabela hash, amplamente usada em softwares de computador para consulta de dados rápida. Funções hash aceleram consultas à tabelas ou bancos de dados por meio da detecção de registros duplicados em um arquivo grande. Um exemplo é encontrar trechos similares em sequências de DNA. (Wikipedia, 2018)].

Sentiment Analysis: faz previsão de sentimento do texto. A ferramenta faz a previsão de sentimento de cada documento em um corpus utilizando os métodos Liu Hu (análise do sentimento baseado em léxico) e Vader (análise de sentimentos baseada em léxico e regra) de NLTK (Natural Language Toolkit).

Tweet Profiler: processa detecção de sentimentos de Ekman, Plutchik ou perfil de Mood States em tweets. A ferramenta de análise de sentimentos de tweets pode produzir classes, probabilidades e incorporações.

Topic Modelling: descobre / identifica a estrutura temática oculta em um corpus, realizando a modelagem com Alocação de Direcional Latente, Indexação Semântica Latente ou Processo de Dirichlet Hierárquico. A ferramenta descobre os tópicos ocultos em um corpus através de clusters de palavras encontrados em cada documento e em suas respectivas frequências. Tendo em vista que os documentos, em geral, contém vários tópicos em proporções diferentes, a ferramenta também informa o peso do tópico por documento.

Corpus Viewer: exibe o conteúdo do corpus. A ferramenta é utilizada para a visualização de arquivos de texto (conjuntos de Corpus), sempre produzindo um conjunto de corpus. Se a filtragem “RegExp” for usada, a ferramenta gerará apenas documentos correspondentes.

Word Cloud: estrutura nuvens de palavras do corpus. A ferramenta mostra tokens (unidades menores) no corpus, e seu tamanho denota a frequência da palavra, listando as palavras por sua frequência (peso). A ferramenta gera documentos, contendo tokens selecionados da nuvem de palavras.

Concordance: exibe o contexto das palavras. A ferramenta localiza a palavra consultada em um texto e exibe o contexto no qual essa palavra é usada. Pode imprimir documentos selecionados para análise posterior.

GeoMap: exibe a distribuição geográfica de dados. A ferramenta mostra a geolocação de dados textuais (string). Ele encontra menções de nomes geográficos (países e capitais) e exibe distribuições (frequência de menções) desses nomes em um mapa. Ele funciona com qualquer ferramenta do Orange que produza uma tabela de dados e que contenha pelo menos um atributo de cadeia. A ferramenta gera conjuntos de dados selecionados, com todos os documentos que contêm menções de um país (ou países) selecionado(s).

Word Enrichment: enriquece a análise de palavras para documentos selecionados, a partir da comparação entre um subconjunto selecionado e o corpus inteiro.

Duplicate Detection: detecta e remove duplicações de um corpus.


Alguns outros grupos de Ferramentas

[Data Fusion]: criação de clusters e sistemas de modelagem e recomendação preditiva;

[Educational]: aprendizado de máquina e mineração de dados;

[Network]: representação de rede e análise de redes;

[Bioinformatics]: tarefas elementares em bioinformática, com interface gráfica para análise de expressão gênica.


Exemplos

Usando arquivo de texto

Entre os recursos disponíveis no software Orange, uma das aplicações mais comuns utilizando arquivos de texto é a estruturação de nuvens de palavras. Abaixo, é possível acompanhar a estruturação da nuvem de palavras a partir de um arquivo de texto editado e imputado.

A primeira imagem mostra a nuvem construída antes de serem retirados os conectivos do texto e palavras sem representatividade no contexto:


Ferramentas: Nuvem de palavras


Na segunda imagem vê-se a nuvem construída após a retirada dos conectivos e palavras sem representatividade no contexto, ou stopwords. Nota-se um redesenho da nuvem com destaque para palavras diferentes do que se verifica na nuvem apresentada acima:


Ferramentas: Nuvem de palavras sem stopwords


Ferramentas que permitem análises mais complexas, ou a captura de dados de outras bases também estão disponíveis no Orange.

  • O conteúdo informado nesta seção foi editado a partir de informações disponíveis no endereço eletrônico do software Orange e em documentos sobre o programa.

Referências

Janez Demšar; Tomaž Curk; Aleš Erjavec; Črt Gorup; Tomaž Hočevar; Mitar Milutinovič; Martin Možina; Matija Polajnar; Marko Toplak; Anže Starič; Miha Stajdohar; Lan Umek; Lan Žagar; Jure Žbontar; Marinka Žitnik; Blaž Zupan (2013). "Orange: data mining toolbox in Python" (PDF). JMLR. 14 (1): 2349–2353. Acesso em 25/06/2018. Disponível em <http://jmlr.org/papers/volume14/demsar13a/demsar13a.pdf>

Orange. Acesso em 28/06/2018. Disponível em <https://orange.biolab.si/>

Orange Change Log. Acesso em 25/06/2018. Disponível em <https://github.com/biolab/orange3/blob/master/CHANGELOG.md>

Orange Download. Acesso em 25/06/2018. Disponível em <https://orange.biolab.si/download/windows/>

Orange Toolbox. Acesso em 28/06/2018. Disponível em <https://orange.biolab.si/toolbox/>