Article image
Amancio Rodrigues
Amancio Rodrigues19/03/2023 11:57
Compartilhe

WEKA para Machine Learning

  • #Machine Learning

Pra os entusiastas da área de Data Science e Machine Learning. Esse software tem diversas funcionalidades pra utilização de classificadores, tanto pra aprendizado supervisionado quanto não-supervisionado. Tem vários classificadores bem conhecidos disponíveis, como árvore de decisão, support vector machine, random forest, naive bayes, k nearest neighbor. E ajuda muito porque não precisa saber programação pra utilizar, não precisa escrever nenhuma linha de código.

Em relação a etapas, tem como fazer o pré-processamento dos dados, seleção de atributos (ganho de informação e outros), otimização de hiperparâmetros e avaliação dos algoritmos, acurácia, precisão, revocação e AUC ROC.

É um programa bem completo, vale a pena conferir.

Compartilhe
Comentários (3)
Josué Oliveira
Josué Oliveira - 19/03/2023 12:42

Olá Amancio!


Verdade....Weka(biblioteca...hoje eu chamaria de framework)...ela é código aberto escrita em JAVA!

Devido Weka ser de código aberto e gratuita, com uma grande comunidade de usuários e desenvolvedores. Ela é compatível com vários outros softwares de análise de dados, como o R e o Python, o que permite uma integração mais fácil com outras ferramentas de análise de dados.

Weka oferece uma ampla variedades de algoritmos de machine learning para tarefas como classificação, regressão, clusterização e seleção de atributos....tudo que você falou acima! Ela também possui ferramentas para pré-processamento de dados, como normalização e discretização. E não para por aqui....Weka fornece uma interface gráfica de usuário (GUI...software como você chamou) para ajudar no processo de criação, execução e visualização de modelos de machine learning.

Afonso Simão
Afonso Simão - 19/03/2023 14:21

Caracas não sabia que o Java tinha tanta essas funcionalidades focadas em técnicas de IA.


Sou dev front(angular), e para complementar o meu currículo vou começar meus estudos esse ano como back, vi muito C#,.Net na minha faculdade... mas estou fortemente inclinado a iniciar meus estudos com java.


o que vcs me recomendam?

Josué Oliveira
Josué Oliveira - 19/03/2023 13:03

...mas sobre o universo Java, existem dezenas de outras ferramentas para todos os pilares de IA:


Algumas de exclusividade para JAVA:


- Neuroph: Neuroph é uma biblioteca de redes neurais artificiais em Java. Ela é projetada para ser simples de usar e oferece suporte a vários tipos de redes neurais, incluindo perceptrons, redes neurais multicamadas e redes neurais convolucionais;

- JAIA: JAIA é uma biblioteca de inteligência artificial em Java que oferece suporte a várias técnicas de IA, incluindo lógica fuzzy, redes neurais artificiais, sistemas especialistas e algoritmos genéticos;

- OpenNLP: OpenNLP é uma biblioteca de processamento de linguagem natural em Java. Ela oferece suporte a várias tarefas de PLN, incluindo reconhecimento de entidades nomeadas, análise de sentimentos, tokenização e identificação de partes do discurso;

- Deeplearning4j: Deeplearning4j é uma biblioteca de deep learning em Java que é executada na JVM. Ela oferece suporte a várias técnicas de deep learning, incluindo redes neurais convolucionais, redes neurais recorrentes e autoencoder;

- JGAP: JGAP é uma biblioteca de algoritmos genéticos em Java. Ela é projetada para ser fácil de usar e oferece suporte a várias configurações de algoritmos genéticos, incluindo seleção de pais, cruzamento e mutação;

- MALLET: MALLET é uma biblioteca de aprendizado de máquina em Java para processamento de linguagem natural. Ela oferece suporte a várias técnicas de aprendizado de máquina, como classificação de documentos, modelagem de tópicos e análise de sentimentos;

- DL4J: DL4J é uma biblioteca de deep learning em Java que é executada na JVM. Ela oferece suporte a várias técnicas de deep learning, como redes neurais convolucionais, redes neurais recorrentes e autoencoder, além de oferecer suporte a GPUs;

- Neuroevolution4j: Neuroevolution4j é uma biblioteca de algoritmos evolutivos em Java, projetada para otimizar redes neurais artificiais. Ela oferece suporte a vários algoritmos evolutivos, incluindo algoritmos genéticos, algoritmos de busca por enxames e algoritmos de busca por vizinhança.

- JADE: JADE é uma plataforma de agentes inteligentes em Java que permite a criação de sistemas multiagentes. Ela oferece suporte a vários protocolos de comunicação e permite a implementação de agentes inteligentes distribuídos em vários computadores.

- Jess: Jess é uma linguagem de programação em Java para sistemas especialistas baseados em regras. Ela oferece suporte a várias técnicas de raciocínio, como encadeamento para frente e encadeamento para trás, e permite a criação de sistemas especialistas complexos....essa aqui merece um destaque não somente técnico, mais histórico....: Vaos lá... A linguagem Jess é baseada em CLIPS (C Language Integrated Production System), que é uma linguagem de programação de produção de regras desenvolvida pela NASA na década de 1980. Jess foi criada para fornecer as funcionalidades de CLIPS em um ambiente Java, permitindo que os desenvolvedores de sistemas especialistas aproveitem as vantagens da plataforma Java. Jess possui uma sintaxe de fácil compreensão, semelhante a outras linguagens de programação de produção de regras, e permite a criação de regras, fatos e ações. Ela também possui recursos avançados, como encadeamento para frente e encadeamento para trás, mecanismos de inferência, manipulação de exceções e suporte a linguagem natural.

Jess é amplamente utilizado em sistemas especialistas de diversas áreas, como saúde, finanças, negócios e engenharia. Ela é uma ferramenta valiosa para desenvolvedores que desejam criar sistemas especialistas baseados em regras para solucionar problemas complexos em um domínio específico.


Bem essa são algumas 100% exclusivas para Java! As demais como Tensorflow, Keras, PyTorch e etc tem grande suporte para Java. Na verdade, acredito que 80% das demais tem suporte!


Pra cima! e Sucesso.