Kotlin 用于数据科学

    • Kotlin 简洁、易读且易于学习。
    • 作为一种 JVM 语言,Kotlin 提供了出色的性能表现, 并具有充分利用久经考验的 Java 库的整个生态系统的能力。

    Apache Zeppelin 等笔记本为数据可视化与探索性研究提供了方便的工具。 Kotlin 与这些工具集成在一起,可以帮助探索数据、与同事共享发现或建立数据科学和机器学习技能。

    Jupyter Notebook 是一个开源 Web 应用程序, 它允许创建与共享包含代码、可视化与标记文本的文档(也称为“笔记本”)。 是一个开源项目, 它为 Jupyter Notebook 带来了 Kotlin 支持。

    查看 Kotlin 内核的 GitHub 仓库 以获取安装说明、文档与示例。

    Apache Zeppelin 是一种流行的基于 Web 的交互式数据分析解决方案。 它为 Apache Spark 集群计算系统提供了强大的支持, 这对数据工程特别有用。 从 开始,Apache Zeppelin 内置了 Kotlin 解释器。

    Kotlin in Zeppelin notebook

    类库

    Kotlin 社区创建的用于数据相关任务的类库生态系统正在迅速扩展。 以下是一些可能会有用的库:

    • kmath 是一个受 启发的库。 这个库支持代数结构与运算、类数组结构、数学表达式、直方图、 流运算、commons-math 与 的包装等等。

    • krangl 是一个受 R 语言的 与 Python 的 pandas 启发的库。这个库提供了采用函数式风格 API 进行数据操作的功能;它还包括过滤、转换、聚合与重塑表格数据的函数。

    • 是一个用 Kotlin 编写的统计数据绘图库。 Lets-Plot 是多平台的,不仅可以用于 JVM,还可以用于 JS 与 Python。

    • kravis 是另一个用于表格数据可视化的库,其灵感来自于 R 的 。

    因为 Kotlin 提供了与 Java 互操作的头等支持,所以也可以在用于数据科学的 Kotlin 代码中使用 Java 库。 以下是这些库的一些示例:

    • DeepLearning4J——一个 Java 深度学习库

    • ——一个全面的机器学习、自然语言处理、线性代数、图、插值与可视化系统。除了 Java API,Smile 还提供了函数式的 Kotlin API 以及 Scala 与 Clojure API。

      • ——以 Kotlin 扩展函数与接口格式重写了 Smile 的自然语言处理部分的 Scala 隐式内容。
    • Apache Commons Math——一个 Java 通用数学、统计与机器学习库

    • ——一个用于优化规划问题的求解器实用程序

    • Charts——一个正在开发中的科学 JavaFX 图表库

    • ——一个自然语言处理工具包

    • Weka——一组用于数据挖掘任务的机器学习算法