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

Subscribe to our Newsletter

Join our editors every weekday evening as they steer you through the most significant news of the day, introduce you to fresh perspectives, and provide unexpected moments of joy
Your newsletter subscriptions are subject to AIM Privacy Policy and Terms and Conditions.

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

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.

Download our Mobile App

MachineHack | AI Hackathons, Coding & Learning

Host Hackathons & Recruit Great Data Talent!

AIMResearch Pioneering advanced AI market research

With a decade of experience under our belt, we are transforming how businesses use AI & data-driven insights to succeed.

The Gold Standard for Recognizing Excellence in Data Science and Tech Workplaces

With Best Firm Certification, you can effortlessly delve into the minds of your employees, unveil invaluable perspectives, and gain distinguished acclaim for fostering an exceptional company culture.

AIM Leaders Council

World’s Biggest Community Exclusively For Senior Executives In Data Science And Analytics.

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