Spec-Zone.ru › Kotlin 1.8

Kotlin для анализа данных

От создания конвейеров данных до внедрения моделей машинного обучения, Kotlin может стать отличным выбором для работы с данными:

  • Kotlin лаконичен, удобочитаем и легко изучается.

  • Статическая типизация и безопасность при работе с null помогают создавать надёжный и поддерживаемый код, который легко отлаживать.

  • Будучи языком JVM, Kotlin обеспечивает высокую производительность и возможность использования целого экосистемы проверенных Java-библиотек.

Интерактивные редакторы

Записные книжки, такие как Jupyter Notebook, Datalore и Apache Zeppelin, предоставляют удобные инструменты для визуализации данных и исследовательской работы. Kotlin интегрируется с этими инструментами, чтобы помочь вам исследовать данные, делиться результатами с коллегами или развивать навыки в области анализа данных и машинного обучения.

Ядро Jupyter для Kotlin

Jupyter Notebook — это открытая веб-приложение, которое позволяет создавать и делиться документами (также известными как «записные книжки»), которые могут содержать код, визуализации и текст Markdown. Kotlin-jupyter — это открытый проект, который добавляет поддержку Kotlin в Jupyter Notebook.

Kotlin in Jupyter notebook

Ознакомьтесь с репозиторием на GitHub для получения инструкций по установке, документации и примеров.

Записные книжки Kotlin в Datalore

С помощью Datalore вы можете использовать Kotlin в браузере сразу же, без необходимости установки. Вы также можете сотрудничать над записными книжками Kotlin в реальном времени, получать интеллектуальную помощь при написании кода и делиться результатами в виде интерактивных или статических отчетов. Ознакомьтесь с образцом отчёта.

Kotlin in Datalore

Зарегистрируйтесь и используйте Kotlin с бесплатной учётной записью Datalore Community.

Интерпретатор Zeppelin для Kotlin

Apache Zeppelin — популярное веб-решение для интерактивного анализа данных. Оно предоставляет сильную поддержку системы кластеризации Apache Spark, что особенно полезно для инженерии данных. Начиная с версии 0.9.0, Apache Zeppelin поставляется с интегрированным интерпретатором Kotlin.

Kotlin in Zeppelin notebook

Библиотеки

Экосистема библиотек для задач, связанных с данными, созданных сообществом Kotlin, быстро расширяется. Вот некоторые библиотеки, которые могут вам пригодиться:

Библиотеки Kotlin

  • Multik: многомерные массивы в Kotlin. Библиотека предоставляет удобный, типизированный и безопасный API для математических операций над многомерными массивами, ориентированный на Kotlin. Multik предлагает взаимозаменяемые JVM и нативные вычислительные движки, а также их комбинацию для оптимальной производительности.

  • KotlinDL — это API глубокого обучения высокого уровня, написанный на Kotlin и вдохновленный Keras. Он предлагает простые API для обучения моделей глубокого обучения с нуля, импорта существующих моделей Keras для вывода и использования трансферного обучения для настройки существующих предварительно обученных моделей под ваши задачи.

  • Kotlin DataFrame — это библиотека для обработки структурированных данных. Она стремится согласовать статическую типизацию Kotlin с динамической природой данных, используя как всю мощь языка Kotlin, так и возможности, предоставляемые временным выполнением кода в Jupyter notebooks и REPL.

  • Kotlin для Apache Spark добавляет недостающий слой совместимости между Kotlin и Apache Spark. Он позволяет разработчикам Kotlin использовать знакомые языковые возможности, такие как классы данных и лямбда-выражения, как простые выражения в фигурных скобках или ссылки на методы.

  • kotlin-statistics — это библиотека, предоставляющая расширяющие функции для исследовательской и производственной статистики. Она поддерживает базовые числовые функции для списков/последовательностей/массивов (от sum до skewness), операторы среза (например, countBy, simpleRegressionBy), операции по группированию, дискретную выборку PDF, классификатор наивного Байеса, кластеризацию, линейную регрессию и многое другое.

  • kmath — это экспериментальная библиотека, которая изначально была вдохновлена NumPy, но эволюционировала к более гибким абстракциям. Она реализует математические операции, объединённые в алгебраические структуры над типами Kotlin, определяет API для линейных структур, выражений, гистограмм, потоковых операций, предоставляет взаимозаменяемые обёртки над существующими Java и Kotlin библиотеками, включая ND4J, Commons Math, Multik и другие.

  • krangl — это библиотека, вдохновлённая R's dplyr и Python's pandas. Эта библиотека предоставляет функциональность для манипулирования данными с использованием функционального стиля API; она также включает функции для фильтрации, преобразования, агрегирования и изменения формы табличных данных.

  • lets-plot — это библиотека для построения графиков статистических данных, написанная на Kotlin. Lets-Plot многоплатформенна и может использоваться не только с JVM, но и с JS и Python.

  • kravis — еще одна библиотека для визуализации табличных данных, вдохновлённая R's ggplot.

  • londogard-nlp-toolkit — это библиотека, предоставляющая утилиты при работе с обработкой естественного языка, такие как слово/подслово/предложение встраивание, частота слов, стоп-слова, стемминг и многое другое.

Библиотеки Java

Поскольку Kotlin обеспечивает первоклассную интеграцию с Java, вы также можете использовать Java-библиотеки для научных вычислений в вашем Kotlin-коде. Вот некоторые примеры таких библиотек:

  • DeepLearning4J — библиотека глубокого обучения для Java

  • ND4J — эффективная библиотека для работы с матрицами для JVM

  • Dex — инструмент визуализации данных на основе Java

  • Smile — комплексная система машинного обучения, обработки естественного языка, линейной алгебры, графов, интерполяции и визуализации. Помимо Java API, Smile также предоставляет функциональный Kotlin API вместе со Scala и Clojure API.

    • Smile-NLP-kt — Kotlin-перезапись Scala-имплицитов для части обработки естественного языка Smile в формате расширяющих функций и интерфейсов.

  • Apache Commons Math — общая математическая, статистическая и библиотека машинного обучения для Java

  • NM Dev — математическая Java-библиотека, которая охватывает всю классическую математику.

  • OptaPlanner — утилита решения для задач оптимизации планирования.

  • Charts — научная JavaFX-библиотека для создания графиков, находится в разработке.

  • Apache OpenNLP — основанный на машинном обучении инструментарий для обработки текстов естественного языка.

  • CoreNLP — инструмент для обработки естественного языка.

  • Apache Mahout — распределённая платформа для регрессии, кластеризации и рекомендаций.

  • Weka — набор алгоритмов машинного обучения для задач анализа данных.

  • Tablesaw — Java dataframe. Включает библиотеку визуализации, основанную на Plot.ly.

Если этот список не удовлетворяет вашим потребностям, вы можете найти больше вариантов в репозитории GitHub Kotlin Machine Learning Demos с примерами от Томаса Нилда.

Последнее изменение: 10 января 2023
Kotlin Native Kotlin для соревновательного программирования

© 2010–2023 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/data-science-overview.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API