Top 8 Machine Learning Libraries In Kotlin

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


Sign up for your weekly dose of what's up in emerging technology.

(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. 

Download our Mobile App

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.

More Great AIM Stories

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.

AIM Upcoming Events

Early Bird Passes expire on 3rd Feb

Conference, in-person (Bangalore)
Rising 2023 | Women in Tech Conference
16-17th Mar, 2023

Conference, in-person (Bangalore)
Data Engineering Summit (DES) 2023
27-28th Apr, 2023

3 Ways to Join our Community

Telegram group

Discover special offers, top stories, upcoming events, and more.

Discord Server

Stay Connected with a larger ecosystem of data science and ML Professionals

Subscribe to our Daily newsletter

Get our daily awesome stories & videos in your inbox