25個Java機器學習工具和庫

CSDN發表於2015-12-27

本列表總結了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介面。原始碼

相關文章