Skip to content

データ分析のための Kotlin および Java ライブラリ

データ収集からモデル構築まで、Kotlin はデータパイプラインにおけるさまざまなタスクを容易にする強力なライブラリを提供しています。

独自のライブラリに加えて、Kotlin は Java と 100% の相互運用性を備えています。この相互運用性により、優れたパフォーマンスを持つ実証済みの Java ライブラリのエコシステム全体を活用できます。この利点により、Kotlin データプロジェクトに取り組む際、Kotlin または Java のライブラリを簡単に使い分けることができます。

Kotlin ライブラリ

ライブラリ目的特徴
Kotlin DataFrame
  • データ収集
  • データのクリーニングと処理
  • データフレームの作成、ソート、クリーニング、特徴量エンジニアリング(feature engineering)などの操作
  • 構造化データの処理
  • CSV、JSON、その他の入力形式のサポート
  • SQL データベースからの読み取り
  • データへのアクセスと型安全性を向上させるためのさまざまな API との接続
Kandy
  • データの探索と可視化
  • さまざまなタイプのチャートをプロットするための、強力で読みやすく型安全な DSL
  • JVM 向けに Kotlin で書かれたオープンソースライブラリ
  • Kotlin NotebookDataloreJupyter Notebook のサポート
  • Kotlin DataFrame とのシームレスな統合
KotlinDL
  • モデル構築
  • Keras にインスパイアされた、Kotlin で書かれたディープラーニング API
  • ディープラーニングモデルをゼロからトレーニング、または既存の Keras および ONNX モデルを推論用にインポート
  • 既存の学習済みモデルをタスクに合わせて調整するための転移学習(transfer learning)
  • Android プラットフォーム のサポート
Multik
  • データのクリーニングと処理
  • モデル構築
  • 多次元配列に対する数学的演算(線形代数、統計、算術、その他の計算)
  • 配列の作成、コピー、インデックス作成、スライス、その他の配列操作
  • 型や次元の安全性、交換可能な計算エンジンなどの利点を備えた Kotlin 慣用的な(idiomatic)ライブラリ。JVM またはネイティブコードとして実行可能
Kotlin for Apache Spark
  • データ収集
  • データのクリーニングと処理
  • データの探索と可視化
  • モデル構築
  • Apache Spark と Kotlin の間の互換性レイヤー
  • Kotlin 慣用的なコードでの Apache Spark データ変換操作
  • データクラスやラムダ式などの Kotlin の機能を、波括弧内やメソッド参照で簡単に使用可能
Lets-Plot
  • データの探索と可視化
KMath
  • データのクリーニングと処理
  • データの探索と可視化
  • モデル構築
  • Kotlin Multiplatform(JVM、JS、Native、Wasm)で数学的抽象化を扱うためのモジュール式ライブラリ
  • 代数構造、数式、ヒストグラム、ストリーミング操作のための API
  • ND4JApache Commons MathMultik を含む、既存の Java および Kotlin ライブラリに対する交換可能なラッパー
  • Python の NumPy に触発されているが、型安全性などの追加機能を備える
kravis
  • データの探索と可視化

Java ライブラリ

Kotlin は Java との第一級の相互運用性を提供しているため、Kotlin コード内でデータタスクに Java ライブラリを使用できます。以下にそのようなライブラリの例をいくつか挙げます。

ライブラリ目的特徴
Tablesaw
  • データ収集
  • データのクリーニングと処理
  • データの探索と可視化
  • データの読み込み、クリーニング、変換、フィルタリング、要約のためのツール
  • Plot.ly にインスパイアされている
CoreNLP
  • データのクリーニングと処理
  • 自然言語処理ツールキット
  • 感情分析や引用の帰属など、テキストに対する言語学的アノテーション
  • 8 言語のサポート
Smile
  • データのクリーニングと処理
  • データの探索と可視化
  • モデル構築
  • 機械学習と自然言語処理のための既製のアルゴリズム
  • 線形代数、グラフ、補間、可視化ツール
  • 関数型の Kotlin APIScala APIClojure API などを提供
Smile-NLP-kt
  • データのクリーニングと処理
  • Smile の自然言語処理部分における Scala インプリシット(implicits)の Kotlin による書き直し
  • Kotlin の拡張関数やインターフェースの形式での操作
  • 文分割、ステミング、Bag-of-words、その他のタスク
ND4J
  • データのクリーニングと処理
  • モデル構築
  • JVM 用の行列数学ライブラリ
  • 500 以上の数学、線形代数、ディープラーニング操作
Apache Commons Math
  • データのクリーニングと処理
  • モデル構築
  • Java 用の数学および統計演算
  • 相関、分布、線形代数、幾何学、その他の操作
  • 機械学習モデル
NM Dev
  • データのクリーニングと処理
  • モデル構築
  • 数値アルゴリズムの Java 数学ライブラリ
  • オブジェクト指向の数値解法
  • 線形代数、最適化、統計、微積分、その他の操作
Apache OpenNLP
  • データのクリーニングと処理
  • モデル構築
  • 自然言語テキスト処理のための機械学習ベースのツールキット
  • トークン化、文のセグメンテーション、品詞タグ付け、その他のタスク
  • データモデリングとモデル検証のための組み込みツール
Charts
  • データの探索と可視化
  • 科学チャート用の JavaFX ライブラリ
  • 対数グラフ、ヒートマップ、力学モデルグラフなどの複雑なチャート
DeepLearning4J
  • モデル構築
  • Java 用ディープラーニングライブラリ
  • モデル(PytorchTensorflowKeras)のインポートと再トレーニング
  • JVM マイクロサービス環境、モバイルデバイス、IoT、Apache Spark へのデプロイ
Timefold
  • モデル構築
  • 最適化計画問題のためのソルバーユーティリティ
  • オブジェクト指向および関数型プログラミングに対応