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.
Kotlin Statistics
krangl
Koma
KMath
Lets-Plot
kravis
SimpleDNN
LinguisticDescription
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.