MITB Banner

Top 8 Machine Learning Libraries In Kotlin

Share

According to the Stack Overflow Developer survey report, Kotlin is one of the most loved programming languages among professional developers. It secured the 4th position among 25 programming languages. As per the official documentation, Kotlin claims to be a preferred choice for building data pipelines, productionising machine learning models, among others.    

In this article, we list down the top 8 machine learning libraries in Kotlin.

What are the top ML libraries in Kotlin?

Kotlin Statistics
krangl
Koma
KMath
Lets-Plot
kravis
SimpleDNN
LinguisticDescription

(The libraries are listed according to the number of Stars in GitHub)

1| Kotlin Statistics

Kotlin Statistics is a machine learning library that aims to express meaningful statistical and data analysis with functional and object-oriented programming while making the code legible and intuitive. This library contains helpful extension functions to perform exploratory and production statistics in a Kotlin-idiomatic way. There are a few clustering algorithms available in Kotlin-Statistics. These algorithms attempt to group up items that are closely related based on their proximity on a 2-dimensional plot. 

Know more here.

2| krangl  

krangl is a Kotlin library for data wrangling. The library is inspired by the dplyr for R, pandas, and Kotlin stdlib, and it mimics the API of dplyr while carefully adding more typed constructs where possible. Some of the features of this library are-

  • The library has the capability to read from plain and compressed tsv, csv, json, or any delimited format with or without header from local or remote
  • The library provides supports to grouped operations
  • Reshape tables from wide to long and back
  • Filter, transform, aggregate and reshape tabular data
  • Cross tabulation.

Know more here.

3| Koma 

Koma is a scientific computing environment for Kotlin. The goal of this library is to create a scientific programming environment that is similar in style to NumPy or MATLAB. It enables writing numerical applications which can be deployed on JVM, JS, and native platforms. It supports applications from Python, MATLAB, Java, and other pre-existing codebases and uses pluggable back-ends to enable optimised computation via pre-existing platform libraries.  

Know more here.

4| KMath  

KMath or Kotlin MATHematics library is intended as a Kotlin-based analog to Python’s NumPy library. However, in contrast to libraries like NumPy and SciPy, this library is modular and has a lightweight core. The features of this library include type-safe dimensions, array-like structures, commons-math wrapper and more. It aims to provide a flexible and powerful API to work with abstractions in Kotlin-multiplatform. It also provides basic multiplatform implementations for those abstractions as well as provide bindings and wrappers with those abstractions for popular optimised platform libraries.  

Know more here.

5| Lets-Plot

Lets-Plot is an open-source plotting library for statistical data. The library is implemented using the Kotlin programming language. The design of Lets-Plot library is heavily influenced by Leland Wilkinson work. The plotting functionality can be obtained easily as a JavaScript library, JVM library, and a native Python extension.

Know more here.

6| kravis 

Kravis is a machine learning library in Kotlin for data visualisation. The library implements a grammar to create a wide range of plots using a standardised set of verbs. The grammar implemented by kravis is inspired by ggplot2 and it provides a typesafe wrapper around it. kravis works with various integration backends ranging from docker to remote web services. Also, the API of kravis allows reusing of their excellent cheat sheet.

Know more here.

7| SimpleDNN 

SimpleDNN is a machine learning lightweight open-source library written in Kotlin which aims to support the development of feed-forward and recurrent Artificial Neural Networks. The library is a part of the KotlinNLP, an open-source NLP library and has been designed to support relevant neural network architectures in natural language processing tasks such as pos-tagging, syntactic parsing and named-entity recognition.

Know more here.

8| LinguisticDescription 

LinguisticDescription is a Kotlin library designed to support linguistic annotations over morphological, syntactic and semantic levels. The library is a part of KotlinNLP, and it can be imported using Maven. KotlinNLP is a simple and easy to use open-source library for natural language processing.

Know more here.

Share
Picture of Ambika Choudhury

Ambika Choudhury

A Technical Journalist who loves writing about Machine Learning and Artificial Intelligence. A lover of music, writing and learning something out of the box.
Related Posts

CORPORATE TRAINING PROGRAMS ON GENERATIVE AI

Generative AI Skilling for Enterprises

Our customized corporate training program on Generative AI provides a unique opportunity to empower, retain, and advance your talent.

Upcoming Large format Conference

May 30 and 31, 2024 | 📍 Bangalore, India

Download the easiest way to
stay informed

Subscribe to The Belamy: Our Weekly Newsletter

Biggest AI stories, delivered to your inbox every week.

AI Courses & Careers

Become a Certified Generative AI Engineer

AI Forum for India

Our Discord Community for AI Ecosystem, In collaboration with NVIDIA. 

Flagship Events

Rising 2024 | DE&I in Tech Summit

April 4 and 5, 2024 | 📍 Hilton Convention Center, Manyata Tech Park, Bangalore

MachineCon GCC Summit 2024

June 28 2024 | 📍Bangalore, India

MachineCon USA 2024

26 July 2024 | 583 Park Avenue, New York

Cypher India 2024

September 25-27, 2024 | 📍Bangalore, India

Cypher USA 2024

Nov 21-22 2024 | 📍Santa Clara Convention Center, California, USA

Data Engineering Summit 2024

May 30 and 31, 2024 | 📍 Bangalore, India

Subscribe to Our Newsletter

The Belamy, our weekly Newsletter is a rage. Just enter your email below.