25個Java機器學習工具和庫
1. Weka整合了資料採礦工作的機器學習演算法。這些演算法可以直接應用於一個資料集上或者你可以自己編寫代碼來調用。Weka包括一系列的工具,如資料預先處理、分類、迴歸、聚類、關聯規則以及可視化。
2.Massive Online AnalysisMOA)是一個面向資料流挖掘的流行開源架構,有著非常活躍的成長社區。它包括一系列的機器學習演算法分類、迴歸、聚類、異常檢測、概念漂移檢測和推薦系統)和評估工具。關聯了WEKA項目,MOA也是用Java編寫的,其擴充性更強。
3.MEKA項目提供了一個面向多標籤學習和評價方法的開源實現。在多標籤分類中,我們要預測每個輸入執行個體的多個輸出變數。這與“普通”情況下只涉及一個單一目標變數的情形不同。此外,MEKA基於WEKA的機器學習工具包。
4. Advanced Data mining And Machine learning SystemADAMS)是一種新型的柔性工作流程引擎,旨在迅速建立並保持真實世界的複雜知識流,它是基於GPLv3發行的。
5. Environment for Developing KDD-Applications Supported by Index-StructureELKI)是一款基於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 LibraryJava機器學習庫)是一系列機器學習演算法的相關實現。這些演算法,無論是原始碼還是文檔,都編寫的很出色。其主要語言是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介面。源碼