Machine Learning in Java

Machine Learning in Java

Machine learning is a branch of artificial intelligence (AI) that offers computers the ability to learn without being programmed explicitly. It focuses on development of such computer programs that can teach themselves to grow and change when exposed to new data.

Machine Learning is carried out in Java leveraging Java-ML.

A Glimpse on Java-ML:

  • A collection of machine learning algorithms
  • Common interface for each type of algorithms
  • Library aimed for software engineers and programmers, so no Graphical User Interfaces, but clear interfaces
  • Reference implementations for algorithms described in the scientific literature
  • Well documented source code
  • Plenty of code samples and tutorials

Top 25 Java Machine Learning Tools & Libraries:

1.      Weka: Weka has a collection of machine learning algorithms for data mining tasks. The algorithms can either be applied directly to a data set or called from your own Java code. Weka contains tools for data pre-processing, classification, regression, clustering, association rules, and visualization.

2.     MOA: Massive Online Analysis (MOA) is a popular open source framework for data stream mining, with a very active growing community. It includes a collection of machine learning algorithms (classification, regression, clustering, outlier detection, concept drift detection and recommender systems) and tools for evaluation. Related to the WEKA project, MOA is also written in Java, while scaling to more demanding problems.

3.     MEKA: The MEKA project provides an open source implementation of methods for multi-label learning and evaluation. In multi-label classification, we want to predict multiple output variables for each input instance. This different from the 'standard' case which involves only a single target variable. MEKA is based on the WEKA Machine Learning Toolkit.

4.     ADAMS: The Advanced Data mining And Machine learning System (ADAMS) is a novel, flexible workflow engine aimed at quickly building and maintaining real-world, complex knowledge workflows, released under GPLv3.

5.     ELKI: Environment for Developing KDD-Applications Supported by Index-Structure (ELKI) is an open source (AGPLv3) data mining software written in Java. The focus of ELKI is research in algorithms, with an emphasis on unsupervised methods in cluster analysis and outlier detection.

6.     Mallet: Mallet is a java machine learning toolkit for textual document. Mallet supports classification algorithms like maximum entropy, naive bayes and decision tree for classification.

7.     Encog: Encog is an advanced machine learning framework which supports Support Vector Machines, Artificial Neural Networks, Genetic Programming, Bayesian Networks, Hidden Markov Models, Genetic Programming and Genetic Algorithms are supported.

8.     Datumbox: The Datumbox Machine Learning Framework is an open-source framework written in Java which allows the rapid development Machine Learning and Statistical applications. The main focus of the framework is to include a large number of machine learning algorithms & statistical tests and being able to handle medium-large sized datasets.

9.     Deeplearning: Deeplearning4j is the first commercial-grade, open-source, distributed deep-learning library written for Java and Scala. It is designed to be used in business environments, rather than as a research tool.

10. Mahout: Mahout is a machine learning framework with built in algorithms. Mahout-Samsara helps people create their own math while providing some off-the-shelf algorithm implementations.

11.   Rapid Miner: Rapid Miner was developed at Technical University of Dortmund, Germany. It provides a GUI and a Java API for developing your own applications. It provides data handling, visualization and modeling with machine learning algorithms.

12.  SAMOA: Apache SAMOA is a machine learning (ML) framework that contains a programming abstraction for distributed streaming ML algorithms and enables development of new ML algorithms without directly dealing with the complexity of underlying distributed stream processing engines (DSPEe, such as Apache Storm, Apache S4, and Apache Samza). Its users can develop distributed streaming ML algorithms once and execute them on multiple DSPEs.

13.  Neuroph: Neuroph simplifies the development of neural networks by providing Java neural network library and GUI tool that supports creating, training and saving neural networks.

14.  Oryx: Oryx 2 is a realization of the lambda architecture built on Apache Spark and Apache Kafka, but with specialization for real-time large scale machine learning. It is a framework for building applications, but also includes packaged, end-to-end applications for collaborative filtering, classification, regression and clustering.

15.  Stanford Classifier: Stanford Classifier is a machine learning tool that will take data items and place them into one of k classes. A probabilistic classifier, like this one, can also give a probability distribution over the class assignment for a data item. This software is a Java implementation of a maximum entropy classifier.

16.  NLP: Fast, precise, intuitive NLP is a Retina API fast, precise and brain like algorithm that enables NLP.

17.  JSAT: JSAT is a library for quickly getting started with Machine Learning problems. It is developed in my free time, and made available for use under the GPL 3. Part of the library is for self education, as such - all code is self contained. JSAT has no external dependencies, and is pure Java.

18. ND4J: N-Dimensional Arrays for Java (ND4J) is a scientific computing library for the JVM. It is meant to be used in production environments, which means routines are designed to run fast with minimum RAM requirements.

19.  Java-ML Library: The Java Machine Learning Library is a set of reference implementations of machine learning algorithms. These algorithms are well documented, both in the source code as on the documentation. It is mostly written in Java.

20. Java-ML: Java-ML is a Java API with a collection of machine learning algorithms implemented in Java. It only provides a standard interface for algorithms.

21.  MLlib: MLlib (Spark) is Apache Spark's scalable machine learning library. The library and the platform support Java, Scala and Python bindings. The library is new and the list of algorithms is long.

22. H2O: H2O is a machine learning API for smarter applications. It scales statistics, machine learning, and math over big data. H2O is extensible and individual can build blocks using simple math legos in the core.

23. WalnutiQ: WalnutiQ is a object oriented model of partial human brain with 1 theorized common learning algorithm (work in progress towards a simplistic model of a strong emotional A.I.).

24. RankLib: RankLib is a library of learning to rank algorithms. Currently eight popular algorithms have been implemented.

25. htm.java: htm.java (Hierarchical Temporal Memory implementation in Java) is a Java port of the Numenta Platform for Intelligent Computing.

Hope by now, you have a fair idea in this domain. I will be back soon with new updates.



By leveraging Modulr’s direct access to Faster Payments, accountants and businesses can clear payroll transactions within 90 seconds, including at weekends and bank holidays https://www.accountex.co.uk/insight/2025/02/26/modulr-partners-with-nomi-to-improve-efficiency-of-payroll-payments/

回复

要查看或添加评论,请登录

Arundhati Banerjee的更多文章

  • Is Artificial Intelligence Really a Threat?

    Is Artificial Intelligence Really a Threat?

    I would start with a famous quote of the great scientist Mr. Stephen Hawking.

  • Inclusive Diversity is a Business Strategy, No Longer an HR One

    Inclusive Diversity is a Business Strategy, No Longer an HR One

    Inclusion is the buzz when it comes to politics, education or culture. But to be a true inclusive entity, organizations…

  • Cross Generational Mentorship - A Real Value Addition To Career

    Cross Generational Mentorship - A Real Value Addition To Career

    What differentiates SAP Labs from its competitors is the care it takes of its employees. The very existence of…

  • Social Sabbatical: Purpose of Life is a Life of Purpose

    Social Sabbatical: Purpose of Life is a Life of Purpose

    Whatever we get back is what we give in some form or the other. I personally believe that when we give something, life…

    2 条评论
  • 50 - 50

    50 - 50

    Who is a man, and Who is a Woman? Are we not one? Yes, indeed. Gender equality is no longer a myth, rather, it's high…

  • Learn Spring - The Most On-Demand DI Framework

    Learn Spring - The Most On-Demand DI Framework

    It’s really great that you have decided to work on one of the most prominent DI frameworks of today. Before going into…

    1 条评论
  • Top 8 Innovative Java Mini-Project Ideas

    Top 8 Innovative Java Mini-Project Ideas

    Learning a new programming language is both the most exciting and the most humbling experience. And as every coder…

    2 条评论
  • Join Facebook as a Software Engineer

    Join Facebook as a Software Engineer

    To start with, YES, Interviews for a Software Engineer is pretty hard, but of course, not impossible. All that makes…

    3 条评论
  • Top 5 Questions to Judge a Java Programmer

    Top 5 Questions to Judge a Java Programmer

    Judging a Java programmer with only 5 questions is certainly a difficult task as Java has a wide scope as a programming…

    1 条评论
  • ALTEN Calsoft Labs Covers E2 Visa

    ALTEN Calsoft Labs Covers E2 Visa

    ALTEN Calsoft Labs is eligible for sponsoring E-2 Treaty Investor visa which allows an individual to enter and work in…

    1 条评论

社区洞察

其他会员也浏览了