機器學習是目前最熱門的技能之一,許多公司都在爭先恐後的尋找能夠編寫ML和深度學習代碼的程序員,本文將爲大家盤點5個針對Java的首選ML庫

1、WEKA

用於Java的5大機器學習庫盤點

Weka是我們最好的Java機器學習庫的首選。Weka 3是一個完全基於Java開發,最適合用於機器學習算法。Weka主要用於數據挖掘,數據分析和預測建模。它完全免費,便攜,易於使用,以及在新的交互式界面上的可視化。

“Weka的優勢在於分類,但它也支持聚類,關聯規則挖掘,時間序列預測,特徵選擇和異常檢測,”新西蘭懷卡託大學計算機科學教授Eibe Frank說。

Weka的機器學習算法集合可以直接應用於數據集或從你自己的Java代碼調用。它還支持多種標準數據挖掘任務,包括數據預處理,分類,聚類,可視化,迴歸和特徵選擇。(項目地址:http://www.cs.waikato.ac.nz/ml/weka/index.html)

2、MOA

MOA是一種開源軟件,專門用於實時數據流的機器學習和數據挖掘。它採用Java開發,可以輕鬆地與Weka一起使用,同時支持擴展。MOA的機器學習算法和評估工具集合可用於迴歸,分類,異常值檢測,聚類,推薦系統和概念漂移檢測。MOA可用於大型演進數據集和數據流以及物聯網(IoT)設備生成的數據。

MOA專門用於實時數據流的機器學習。它旨在實現時間和內存效率的處理。MOA通過提供若干有用的功能(包括用於新算法,流和評估方法的易於擴展的框架),可重複實驗的數據流的可存儲設置;以及對現有算法和措施進行比較,爲在數據挖掘領域中運行實驗提供了基準框架。(項目地址:http://moa.cms.waikato.ac.nz/)

3、Deeplearning4j

去年,Deeplearning4j是JAXenter社區Java生態系統中最具創新性的貢獻者之一,Deeplearning4j是一個商業級的開源分佈式深度學習庫,用Java和Scala編寫,旨在將深度神經網絡和深度學習結合在一起,用於商業環境。

用於Java的5大機器學習庫盤點

Deeplearning4j旨在作爲Java,Scala和Clojure程序員的DIY工具,Hadoop是一個龐大的分佈式數據存儲系統,具有巨大的處理能力,能夠處理強大的併發任務或作業。深度神經網絡和深度強化學習能夠進行模式識別和麪向目標的機器學習。所有這一切都意味着Deeplearning4j對於語音識別,聲音和文本中的模式和情感非常有用。此外,它還可用於檢測金融交易等時間序列數據中的異常。(項目地址:https://deeplearning4j.org/)

4、MALLET

MALLET主要由Andrew McCallum和來自UMASS和UPenn的學生開發,是專門用於機器學習方面的軟件包,。這個基於Java的包支持統計自然語言處理,文本聚類,文本分類,信息提取等。

MALLET的專長包括用於文檔分類,例如用於轉換文本的高效例程。它支持各種算法(包括NaïveBayes,Decision Trees和Maximum Entropy)和用於評估classfier性能的代碼。此外,MALLET還包括用於序列標記和主題建模的工具。(項目地址:http://mallet.cs.umass.edu/)

5、ELKI

ELKI是一個用於Java的開源數據挖掘平臺。ELKI的重點是算法研究,強調聚類分析,數據庫索引和異常值檢測中的無監督方法。ELKI允許通過分離兩者來獨立評估數據挖掘算法和數據管理任務。此功能在Weta或Rapidminer等其他數據挖掘框架中是獨一無二的。ELKI還允許任意數據類型,文件格式或距離或相似性度量。

ELKI專爲研究人員和學生設計,提供大量高度可配置的算法參數。這樣可以對算法進行公平,簡便的評估和基準測試。這意味着ELKI對數據科學特別有用。(項目地址:https://elki-project.github.io/)

相关文章