Skip to content

用於資料分析的 Kotlin 與 Java 程式庫

從資料收集到模型建立,Kotlin 提供了強大的程式庫,協助簡化資料流水線中的各種任務。

除了自身的程式庫外,Kotlin 與 Java 100% 互通。這種互通性有助於利用整個經受過考驗且效能優異的 Java 程式庫生態系統。有了這項優勢,您在進行 Kotlin 資料專案 時,可以輕鬆地使用 Kotlin 或 Java 程式庫。

Kotlin 程式庫

程式庫用途特性
Kotlin DataFrame
  • 資料收集
  • 資料清理與處理
  • 用於建立、排序與清理資料框、特徵工程等操作
  • 結構化資料處理
  • 支援 CSV、JSON 與其他輸入格式
  • 從 SQL 資料庫讀取
  • 與不同的 API 連線以存取資料並增加型別安全性
Kandy
  • 資料探索與視覺化
KotlinDL
  • 模型建立
  • Keras 啟發並以 Kotlin 編寫的深度學習 API
  • 從頭開始訓練深度學習模型,或匯入現有的 Keras 和 ONNX 模型進行推論
  • 遷移學習,用於針對您的任務調整現有的預訓練模型
  • 支援 Android 平台
Multik
  • 資料清理與處理
  • 模型建立
  • 針對多維陣列的數學運算(線性代數、統計、算術與其他計算)
  • 建立、複製、索引、切片與其他陣列操作
  • 符合 Kotlin 慣例的程式庫,具有型別與維度安全性以及可換置的計算引擎等優點,可在 JVM 上執行或作為原生程式碼執行
Kotlin for Apache Spark
  • 資料收集
  • 資料清理與處理
  • 資料探索與視覺化
  • 模型建立
  • Apache Spark 與 Kotlin 之間的相容層
  • 以符合 Kotlin 慣例的程式碼進行 Apache Spark 資料轉換操作
  • 在花括號或方法參考中簡單使用 Kotlin 特性,例如 `data class` 與 Lambda 運算式
Lets-Plot
  • 資料探索與視覺化
KMath
  • 資料清理與處理
  • 資料探索與視覺化
  • 模型建立
  • 用於在 Kotlin Multiplatform(JVM、JS、Native 與 Wasm)中處理數學抽象的模組化程式庫
  • 代數結構、數學運算式、直方圖與串流操作的 API
  • 現有 Java 與 Kotlin 程式庫的可互換包裝函式,包括 ND4JApache Commons MathMultik
  • 受 Python 的 NumPy 啟發,但具有型別安全性等其他額外特性
kravis
  • 資料探索與視覺化

Java 程式庫

由於 Kotlin 提供了一流的 Java 互通性,您可以在 Kotlin 程式碼中使用 Java 程式庫來執行資料任務。以下是此類程式庫的一些範例:

程式庫用途特性
Tablesaw
  • 資料收集
  • 資料清理與處理
  • 資料探索與視覺化
  • 用於載入、清理、轉換、篩選與總結資料的工具
  • Plot.ly 啟發
CoreNLP
  • 資料清理與處理
  • 自然語言處理工具套件
  • 文本的語言註解,例如情緒分析與引語歸屬
  • 支援八種語言
Smile
  • 資料清理與處理
  • 資料探索與視覺化
  • 模型建立
  • 現成的機器學習與自然語言處理演算法
  • 線性代數、圖形、內插與視覺化工具
  • 提供函式式 Kotlin APIScala APIClojure API
Smile-NLP-kt
  • 資料清理與處理
  • 針對 Smile 自然語言處理部分的 Scala 隱式轉換的 Kotlin 重寫
  • 以 Kotlin 擴充函式與介面形式提供的操作
  • 斷句、詞幹提取、詞袋模型與其他任務
ND4J
  • 資料清理與處理
  • 模型建立
  • 用於 JVM 的矩陣數學程式庫
  • 超過 500 種數學、線性代數與深度學習操作
Apache Commons Math
  • 資料清理與處理
  • 模型建立
  • 用於 Java 的數學與統計操作
  • 相關性、分佈、線性代數、幾何與其他操作
  • 機器學習模型
NM Dev
  • 資料清理與處理
  • 模型建立
  • 數值演算法的 Java 數學程式庫
  • 物件導向的數值方法
  • 線性代數、最佳化、統計、微積分與更多操作
Apache OpenNLP
  • 資料清理與處理
  • 模型建立
  • 基於機器學習的自然語言文本處理工具套件
  • 分詞、句子切割、詞性標記與其他任務
  • 內建用於資料建模與模型驗證的工具
Charts
  • 資料探索與視覺化
  • 用於科學圖表的 JavaFX 程式庫
  • 複雜圖表,如對數圖、熱圖與力導向圖
DeepLearning4J
  • 模型建立
Timefold
  • 模型建立
  • 用於最佳化規劃問題的求解器公用程式
  • 相容於物件導向與函式式程式設計