25個Java機器學習工具&庫

jopen 9年前發布 | 39K 次閱讀 機器學習 數據挖掘

本列表總結了25個Java機器學習工具&庫:

1. Weka 集成了數據挖掘工作的機器學習算法。這些算法可以直接應用于一個數據集上或者你可以自己編寫代碼來調用。Weka包括一系列的工具,如數據預處理、分類、回歸、聚類、關聯規則以及可視化。

2. Massive Online Analysis (MOA)是一個面向數據流挖掘的流行開源框架,有著非常活躍的成長社區。它包括一系列的機器學習算法(分類、回歸、聚類、異常檢測、概念漂移檢測和推薦系統)和評估工具。關聯了WEKA項目,MOA也是用Java編寫的,其擴展性更強。

3. MEKA 項目提供了一個面向多標簽學習和評價方法的開源實現。在多標簽分類中,我們要預測每個輸入實例的多個輸出變量。這與“普通”情況下只涉及一個單一目標變量的情形不同。此外,MEKA基于WEKA的機器學習工具包。

4. Advanced Data mining And Machine learning System (ADAMS)是一種新型的柔性工作流引擎,旨在迅速建立并保持真實世界的復雜知識流,它是基于GPLv3發行的。

5. Environment for Developing KDD-Applications Supported by Index-Structure (ELKI)是一款基于Java的開源(AGPLv3)數據挖掘軟件。ELKI主要集中于算法研究,重點研究聚類分析中的無監督方法和異常檢測。

6. Mallet 是一個基于Java的面向文本文件的機器學習工具包。Mallet支持分類算法,如最大熵、樸素貝葉斯和決策樹分類。

7. Encog 是一個先進的機器學習框架,集成了支持向量機(SVM)、人工神經網絡、遺傳算法、貝葉斯網絡、隱馬爾可夫模型(HMM)、遺傳編程和遺傳算法。

8. Datumbox 機器學習框架是一個用Java編寫的開源框架,允許快速地開發機器學習和統計應用。該框架的核心重點包括大量的機器學習算法以及統計測試,能夠處理中等規模的數據集。

9. Deeplearning4j 是使用Java和Scala編寫的第一個商業級的、開源的、分布式深入學習庫。其設計的目的是用于商業環境中,而不是作為一個研究工具。

10. Mahout 是一個內置算法的機器學習框架。Mahout-Samsara幫助人們創建他們自己的數學,并提供了一些現成的算法實現。

11. Rapid Miner 是德國多特蒙特技術大學開發的。它為開發者開發應用程序提供了一個GUI(圖形用戶界面)和Java API。它還提供了一些機器學習算法,用來做數據處理、可視化以及建模。

12. Apache SAMOA 是一個機器學習(ML)框架,內嵌面向分布式流ML算法的編程抽象,并且允許在沒有直接處理底層分布式流處理引擎(DSPEe,如 Apache Storm、Apache S4和Apache samza)復雜性的情況下,開發新的ML算法。用戶可以開發分布式流ML算法,而且可以在多個DSPEs上執行。

13. Neuroph 通過提供支持創建、訓練和保存神經網絡的Java網絡庫和GUI工具,簡化了神經網絡開發。

14. Oryx 2 是一個建立在Apache Spark和Apache Kafka的Lambda架構實現,但隨著實時大規模機器學習而逐漸開始專業化。這是一個用于構建應用程序的框架,但也包括打包,以及面向協同過濾、分類、回歸和聚類的端到端的應用程序。

15. Stanford Classifier 是一個機器學習工具,它可以將數據項歸置到一個類別。一個概率分類器,比如這個,它可以對一個數據項給出類分配的概率分布。該軟件是最大熵分類器的一個Java實現。

16. io 是一個Retina API,有著快速精確的類似大腦的自然語言處理算法。

17. JSAT 是一個快速入門的機器學習庫。該庫是我在業余時間開發的,基于GPL3發行的。庫中的一部分內容可自主學習,例如所有的代碼都是獨立的。JSAT沒有外部依賴,而且是純Java編寫的。

18. N-Dimensional Arrays for Java (ND4J)是一個用于JVM的科學計算庫。它們是用來在生產環境中使用的,這表明例程的設計是以最小的內存需求來運行的。

19. Java Machine Learning Library (Java機器學習庫)是一系列機器學習算法的相關實現。這些算法,無論是源代碼還是文檔,都編寫的很出色。其主要語言是Java。

20. Java-ML 是一個使用Java編寫的一系列機器學習算法的Java API。它只提供了一個標準的算法接口。

21. MLlib (Spark) 是Apache Spark的可擴展機器學習庫。雖然是Java,但該庫與平臺還支持Java,Scala和Python綁定。此庫是最新的,并且算法很多。

22. H2O 是用于智能應用的機器學習API。它在大數據上對統計學、機器學習和數學進行了規模化。H2O可擴展,開發者可以在核心部分使用簡單的數學知識。

23. WalnutiQ 是人腦部分面向對象模型,有著理論常用的學習算法(正在向簡單強烈的情感人工智能模型方向研究)。

24. RankLib 是一個排名學習算法庫。目前已經實現八種流行的算法。

25. htm.java (基于Java的Hierarchical Temporal Memory算法實現)是一個面向智能計算的Numenta平臺的Java接口。 源碼

原文地址: 25 Java Machine Learning Tools & Libraries (譯者/劉帝偉 審校/劉翔宇 責編/仲浩)

譯者簡介:  劉帝偉,中南大學軟件學院在讀研究生,關注機器學習、數據挖掘及生物信息領域。

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!