天天看點

盤點:為 Java 開發者量身定制的五款機器學習庫

盤點:為 Java 開發者量身定制的五款機器學習庫

毫無疑問,weka 是目前首選的 java 機器學習庫。

它由紐西蘭懷卡托大學(university of waikato)的機器學習項目組研發。其命名來源于一種紐西蘭特有的不會飛的鳥——紐西蘭秧雞,紐西蘭秧雞的英文名稱就是 weka。按照官網描述,weka 吸收了許多目前常用的機器學習算法,并且完全基于 java 環境,開源,免費,具有易于使用的圖形界面,适合于資料挖掘,資料分析和預測模組化等多種應用場景。

來自懷卡托大學的計算機科學教授 eibe frank 表示:“weka 最大的優勢在于分類,是以需要自動資料分類的應用程式可以從中獲益。但同時它也支援資料預處理、聚類、關聯規則挖掘、時間序列預測、特征選擇、和異常檢測等場景。”

開發者可以直接通過 weka 軟體處理目标資料集,同時也支援使用者在自己編寫的代碼中調用,将 weka 視為一個靈活的元件。更貼心的是,懷卡托大學還提供了許多免費的基于 weka 的資料挖掘和機器學習視訊教程,感興趣的朋友可以在 weka 官網點選檢視。

盤點:為 Java 開發者量身定制的五款機器學習庫

和 weka 一脈相承,moa 的命名也是來源于一種紐西蘭特有的無翼大鳥——紐西蘭恐鳥(目前已滅絕)。moa 也是基于 java 環境,開源,免費,在面對複雜問題時,moa 還能和 weka 協同工作。

moa 在運算效率和記憶體占用方面都做了特殊優化,通過提供易于擴充的底層結構、可複用的資料流分析設定以及一系列内部實作好機器學習算法,moa 為實時資料流分析提供了一個非常優秀的基準架構,是以在實時資料流挖掘領域的應用非常廣泛。其内部實作的機器學習算法包括:分類、回歸、聚類、孤立點檢測、概念漂移檢測和推薦系統等。此外,moa 還提供了多種評估工具,以及活躍的社群讨論、部落格等配套資源。

盤點:為 Java 開發者量身定制的五款機器學習庫

deeplearning4j(deep learning for java)是 java 和 scala 環境下的一個開源分布式的深度學習項目,由總部位于美國舊金山的商業智能和企業軟體公司 skymind 牽頭開發,并得到了騰訊的投資。正如它的命名,deeplearning4j 的運作需要 java 虛拟機 jvm 的支援。

去年,jaxenter 社群曾提名 deeplearning4j 作為 java 生态系統最具創新的貢獻者之一。

deeplearning4j 旨在為工作在 hadoop 架構下的 java、scala 和 clojure 程式員提供一個可以靈活 diy 的機器學習工具。團隊在官網表示,他們希望通過一些機器學習算法的開發,将商業帶入智能化資料的時代。也正是為了實作這一理想,惠及更多的使用者,是以選擇了移植性更好的 java 環境來實作這些算法。目前,deeplearning4j 在模式識别、時間序列檢測和基于語音、文本的情感識别方面應用廣泛,包括谷歌、facebook和微軟等巨頭公司都是它的使用者。

盤點:為 Java 開發者量身定制的五款機器學習庫

mallet主要由來自麻省大學(university of massachusetts)的andrew mccallum教授和其學生開發,是一個基于 java 環境的開源機器學習工具包。主要應用于統計自然語言處理,文檔分類,聚類,主題模組化,資訊提取等文本類分析場景。

mallet 内部實作了許多功能強大的工具,包括用于文檔分類的進階工具,用于序列标記的工具,和用于主題模組化的工具等。mallet 還支援各種類型的算法,包括樸素貝葉斯,決策樹和最大熵等。此外,mallet 還提供了許多例程,包括分詞,删除停用詞,将文本轉換為向量表示等。

盤點:為 Java 開發者量身定制的五款機器學習庫

elki 的全稱是:environment for developing kdd-applications supported by index-structures,即由索引結構支援的 kdd 應用開發環境,這裡 kdd 是指 knowledge discovery in database,即知識發現。

elki 也是一款知名的基于 java 環境的資料挖掘軟體。elki 的重點是算法研究,強調聚類分析,資料庫索引和孤立點檢測等無監督方法。elki 可以對資料挖掘算法和資料管理任務進行各自獨立的分析,這在其他資料挖掘架構(如 weta 和 rapidminer)中是獨一無二的。此外,elki 還支援各種資料類型和檔案格式,以及各種相似性度量方法。

elki 專為研究人員和學生設計,提供了大量可靈活配置的算法參數,以便進行簡單和公平的算法評估。目前 elki 已經被廣泛應用于各種資料科學的相關領域,包括鲸魚的回聲定位,航天飛行操作,共享單車配置設定和交通預測等。

本文作者:恒亮