Skip to content

Kotlin と Java のデータ分析ライブラリ

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

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

Kotlin ライブラリ

ライブラリ目的特徴
Kotlin DataFrame
  • データ収集
  • データクレンジングと処理
  • データフレームの作成、ソート、クレンジング、特徴量エンジニアリングなどを行う操作
  • 構造化データの処理
  • CSV、JSON、その他の入力形式のサポート
  • SQLデータベースからの読み込み
  • さまざまなAPIと接続してデータにアクセスし、型安全性を向上させる
Kandy
  • データ探索と可視化
  • さまざまな種類のチャートを描画するための強力で読みやすく、型安全なDSL
  • JVM 用に Kotlin で書かれたオープンソースライブラリ
  • Kotlin NotebookDatalore、および Jupyter Notebook のサポート
  • Kotlin DataFrame とのシームレスな統合
KotlinDL
  • モデル構築
  • Kotlin で書かれた Keras にインスパイアされたディープラーニングAPI
  • ディープラーニングモデルを一からトレーニングするか、既存の Keras および ONNX モデルをインポートして推論を行う
  • 既存の事前学習済みモデルをタスクに合わせて調整するための転移学習
  • Android プラットフォームのサポート
Multik
  • データクレンジングと処理
  • モデル構築
  • 多次元配列に対する数学的演算(線形代数、統計、算術、その他の計算)
  • 配列の作成、コピー、インデックス付け、スライス、その他の配列操作
  • 型安全性や次元安全性、交換可能な計算エンジン(JVMまたはネイティブコードで動作)などの利点を持つ Kotlin イディオマティックなライブラリ
Kotlin for Apache Spark
  • データ収集
  • データクレンジングと処理
  • データ探索と可視化
  • モデル構築
  • Apache Spark と Kotlin 間の互換性レイヤー
  • Kotlin イディオマティックなコードでの Apache Spark データ変換操作
  • データクラスやラムダ式などの Kotlin 機能の、中括弧またはメソッド参照による簡単な使用
Lets-Plot
  • データ探索と可視化
KMath
  • データクレンジングと処理
  • データ探索と可視化
  • モデル構築
  • Kotlin Multiplatform (JVM、JS、Native、および Wasm) で数学的抽象化を扱うためのモジュラーライブラリ
  • 代数的構造、数式、ヒストグラム、ストリーミング操作のためのAPI
  • ND4JApache Commons Math、および Multik を含む既存の 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 暗黙の型の Kotlin による書き換え
  • Kotlin 拡張関数およびインターフェース形式での操作
  • 文の分割、ステミング、BoW(単語の袋)、その他のタスク
ND4J
  • データクレンジングと処理
  • モデル構築
  • JVM 用の行列数学ライブラリ
  • 500以上の数学、線形代数、ディープラーニング演算
Apache Commons Math
  • データクレンジングと処理
  • モデル構築
  • Java 用の数学および統計演算
  • 相関、分布、線形代数、幾何学、その他の演算
  • 機械学習モデル
NM Dev
  • データクレンジングと処理
  • モデル構築
  • 数値アルゴリズムの Java 数学ライブラリ
  • オブジェクト指向の数値計算メソッド
  • 線形代数、最適化、統計、微積分、その他の演算
Apache OpenNLP
  • データクレンジングと処理
  • モデル構築
  • 自然言語テキスト処理のための機械学習ベースのツールキット
  • トークン化、文分割、品詞タグ付け、その他のタスク
  • データモデリングとモデル検証のための組み込みツール
Charts
  • データ探索と可視化
  • 科学チャート用の JavaFX ライブラリ
  • 対数、ヒートマップ、力指向グラフなどの複雑なチャート
DeepLearning4J
  • モデル構築
  • Java 用のディープラーニングライブラリ
  • モデルのインポートと再学習 (PytorchTensorflowKeras)
  • JVM マイクロサービス環境、モバイルデバイス、IoT、および Apache Spark へのデプロイ
Timefold
  • モデル構築
  • 最適化計画問題のためのソルバーユーティリティ
  • オブジェクト指向プログラミングと関数型プログラミングに対応