Se você está iniciando em machine learning e gostaria de ter uma forma visual de testar soluções e ver quais as melhores opções, ou se você é alguém já com alguma experiência mas gostaria de programar menos e ver mais insights, ou quem sabe gerar um protótipo de forma rápida fica a sugestão para dar uma estudada no Orange.
O Orange é uma ferramenta Open Source desenvolvida em Python, criada pela Universidade de Ljubljana, da Eslovênia. Clique aqui para acessar o site oficial da ferramenta.
O Orange vem como parte do Anaconda, então caso você já tenha instalado o Python via Anaconda basta instalar este recurso adicional.
Porém, se você ainda não tem o Python instalado, sugiro instalar primeiro o pacote Anaconda, pois virá o Python e vários pacotes e libraries interessantes, clique aqui para realizar o download.
Fica aqui também a sugestão de vídeo da Minerando Dados sobre Orange, sugerido pelo meu amigo Anderson Siqueira, clique aqui.
1 Iniciando com Orange
Ao abrir o Orange é possível acessar tutoriais , ver exemplos e ter acesso à documentação.
No lado esquerdo estão todos os widgets para:
Manipulação dos dados (Importação e Tratamento);
Visualização dos dados;
Criação de modelos;
Avaliação de modelos;
Aprendizagem não supervisionada;
Formatações e ajuda.
Os widgets são blocos de código em Python que podem ser arrastados e conectandos com outros widgets, formando um fluxo para Análise Exploratória de Dados ou mesmo Machine Learning Supervisionado e Não Supervisionado.
2 Importando dados
É possível obter dados das seguintes fontes/formatos:
Arquivos CSV;
Planilhas Excel;
Datasets em formato TAB, que é o formato nativo do Orange;
URLs (Google Sheets, por exemplo).
3 Conectando Widgets
Como mencionado, é possível conectar Widgets para assim formar um fluxo de trabalho. Para conectar widgets podem ser usadas as seguintes formas:
Selecionar dentre os widgets na caixa de seleção à esquerda e arrastar para a análise e então vincular aos widgets já adicionados.
A partir do widget desejado clicar no lado direito e ver quais widgets podem ser conectados com um duplo clique.
Após conectar o data table com file é possível ver os dados que foram importados. Caso sejam selecionados alguns registros dentre os importados, é possível interagir com outros widgets , ou seja, é possível ir modificando filtros e verificando via gráficos as modificações ocorridas. No nosso exemplo, importamos o dataset Iris e conectamos um data table para ver o que importamos.
4 Visualizando dados
Agora que já temos dados importados e validamos a consistência, podemos gerar gráficos para nos auxiliar em mais insights. Neste exemplo, o Scatter Plot está ligado a base de dados original, caso seja necessário analisar apenas uma seleção basta conectar o widget do Scatter Plot ao Data table e filtrar os registros desejados!!!
5 Criando um modelo
Agora iremos criar um modelo de árvore de decisão. Um modelo é a melhor representação possível da realidade para podermos tomarmos decisões. Um mapa, por exemplo, é um modelo da realidade geográfica, assim podemos tomar decisões sobre qual caminho seguir para determinada rota, etc. Vamos criar um modelo que, de acordo com o tamanho e largura das pétalas e sépalas (variáveis explicativas) nos dê a resposta sobre qual é a espécie (variável alvo/ classe).
Para isso adicionamos ao fluxo o widget "Tree" que cria o modelo de Árvore de decisão e depois associamos mais um widget para visualizar a árvore gerada. Seguindo a árvore vemos como devemos considerar as medidas de sépalas e pétalas para então classificar a espécie.
7 Considerações Finais
O Orange é uma boa ferramenta para entender conceitos gerais de Data science, criar protótipos e comunicar insights de forma rápida, sem a necessidade de codificar. Não fiz testes com datasets pesados ainda, mas em uma leitura paralela foi constatado por outro usuário que, em comparação ao Weka o Orange lida melhor datasets grandes. E também, particularmente acho que o visual do Orange é mais clean e bonito do que o Weka.
Em alguma futura publicação vou explorar previsão usando o Orange, avaliação de modelo e também aprendizado não supervisionado.
Até a próxima!
댓글