通過(guò)一些易于實(shí)現(xiàn)的多樣化庫(kù)和框架能夠充分挖掘機(jī)器學(xué)習(xí)的預(yù)測(cè)能力。垃圾郵件過(guò)濾,面部識(shí)別,推薦引擎等等。當(dāng)你要對(duì)大型數(shù)據(jù)集執(zhí)行預(yù)測(cè)分析或模式識(shí)別時(shí),機(jī)器學(xué)習(xí)都是必經(jīng)之路。
自由開(kāi)源軟件的激增,讓機(jī)器學(xué)習(xí)更容易在單機(jī)上大規(guī)模地通過(guò)大多數(shù)流行的編程語(yǔ)言實(shí)現(xiàn)。以下這些開(kāi)源工具包括了適用于Python,R,C ++,Java,Scala,Clojure,JavaScript和Go之類(lèi)的庫(kù)。
Apache Mahout
Apache Mahout提供了一種構(gòu)建用于托管機(jī)器學(xué)習(xí)應(yīng)用程序環(huán)境的方法,該環(huán)境可以快速有效地?cái)U(kuò)展來(lái)滿(mǎn)足需求。
Mahout主要與Apache Spark一起工作,最初是為了運(yùn)行分布式應(yīng)用程序而設(shè)計(jì),可以與Hadoop一起使用,但現(xiàn)在已擴(kuò)展為與Flink和H2O等其他分布式后端一起使用。
Mahout在Scala中使用了一種域特定語(yǔ)言。版本0.14是對(duì)該項(xiàng)目做了主要內(nèi)部重構(gòu),默認(rèn)基于A(yíng)pache Spark 2.4.3。
Compose
Compose針對(duì)機(jī)器學(xué)習(xí)模型的一個(gè)常見(jiàn)問(wèn)題,即標(biāo)記原始數(shù)據(jù),這可能是一個(gè)緩慢而乏味的過(guò)程,但沒(méi)有它,機(jī)器學(xué)習(xí)模型就無(wú)法提供有用的結(jié)果。
通過(guò)Compose,用戶(hù)可以使用Python為數(shù)據(jù)編寫(xiě)一組標(biāo)記功能,因此可以通過(guò)編程方式進(jìn)行標(biāo)記。可以在數(shù)據(jù)上設(shè)置各種變換和閾值,以簡(jiǎn)化標(biāo)記過(guò)程。
Core ML Tools
Apple的Core ML框架能夠讓用戶(hù)將機(jī)器學(xué)習(xí)模型集成到應(yīng)用程序中,但使用其自己獨(dú)特的學(xué)習(xí)模型格式。但幸運(yùn)的是,不必以Core ML格式預(yù)先訓(xùn)練模型就能使用它們;可以使用Core ML Tools將幾乎所有常用的機(jī)器學(xué)習(xí)框架中的模型轉(zhuǎn)換為Core ML。
Core ML Tools作為Python包運(yùn)行,因此與大量的Python機(jī)器學(xué)習(xí)庫(kù)和工具集成在一起。TensorFlow,PyTorch,Keras,Caffe,ONNX,Scikit-learn,LibSVM和XGBoost的模型都可以轉(zhuǎn)換。神經(jīng)網(wǎng)絡(luò)模型還可以通過(guò)使用訓(xùn)練后量化來(lái)優(yōu)化大小。
Cortex
Cortex提供了一種方便的方法來(lái)使用Python和TensorFlow,PyTorch,Scikit-learn和其他模型提供來(lái)自機(jī)器學(xué)習(xí)模型的預(yù)測(cè)服務(wù)。大多數(shù)Cortex軟件包僅包含幾個(gè)文件,即你的核心Python邏輯,描述要使用的模型,以及要分配的計(jì)算資源類(lèi)型的cortex.yaml文件,以及用于安裝任何所需Python要求的require.txt文件。
整個(gè)程序包作為Docker容器部署到AWS或另一個(gè)與Docker兼容的托管系統(tǒng)。計(jì)算資源的分配方式與在Kubernetes中使用的定義相呼應(yīng),因此你可以使用GPU或Amazon Inferentia ASIC加快服務(wù)速度。
Featuretools
特征工程或特征創(chuàng)建涉及獲取用于訓(xùn)練機(jī)器學(xué)習(xí)模型的數(shù)據(jù),并通常手動(dòng)生成數(shù)據(jù)的經(jīng)過(guò)轉(zhuǎn)換和聚合的版本,這對(duì)于訓(xùn)練模型更為有用。
Featuretools為用戶(hù)提供了通過(guò)綜合數(shù)據(jù)幀中的數(shù)據(jù)而構(gòu)建的高級(jí)Python對(duì)象來(lái)執(zhí)行此操作的功能,并且可以針對(duì)從一個(gè)或多個(gè)數(shù)據(jù)幀中提取的數(shù)據(jù)執(zhí)行此操作。Featuretools還為綜合操作提供了通用原語(yǔ)(例如,time_since_previous提供帶時(shí)間戳數(shù)據(jù)實(shí)例之間的時(shí)間間隔),因此用戶(hù)不必自己滾動(dòng)這些原語(yǔ)。
GoLearn
GoLearn是針對(duì)Google Go語(yǔ)言的機(jī)器學(xué)習(xí)庫(kù),其創(chuàng)建的目標(biāo)是簡(jiǎn)化和可定制性。簡(jiǎn)單之處在于在庫(kù)中加載和處理數(shù)據(jù)的方式,該方式在SciPy和R之后進(jìn)行了模式化。可定制性在于如何在應(yīng)用程序中輕松擴(kuò)展某些數(shù)據(jù)結(jié)構(gòu)。
Gradio
構(gòu)建機(jī)器學(xué)習(xí)應(yīng)用程序時(shí)的一個(gè)常見(jiàn)挑戰(zhàn)是為模型訓(xùn)練和預(yù)測(cè)服務(wù)機(jī)制構(gòu)建可靠且易于定制的UI。Gradio提供了用于創(chuàng)建基于Web的UI的工具,這些工具讓用戶(hù)可以與模型進(jìn)行實(shí)時(shí)交互。
其中包括幾個(gè)示例項(xiàng)目,例如Inception V3圖像分類(lèi)器的輸入接口或MNIST手寫(xiě)識(shí)別模型,讓用戶(hù)對(duì)如何在自己的項(xiàng)目中使用Gradio有所了解。
H2O
H2O目前正在進(jìn)行第三次大修訂,它為內(nèi)存中的機(jī)器學(xué)習(xí)提供了一個(gè)完整的平臺(tái),從訓(xùn)練到服務(wù)預(yù)測(cè)。H2O的算法適合于業(yè)務(wù)處理——比如欺詐或趨勢(shì)預(yù)測(cè)——而不是圖像分析。H2O可以獨(dú)立地與HDFS store交互,在YARN之上,在MapReduce中,或者直接在A(yíng)mazon EC2實(shí)例中。
Hadoop專(zhuān)家可以使用Java與H2O進(jìn)行交互,但是該框架還提供了針對(duì)Python,R和Scala的綁定,從而讓用戶(hù)也可以與這些平臺(tái)上可用的所有庫(kù)進(jìn)行交互。還可以使用REST調(diào)用,將H2O集成到大多數(shù)管道中。
Oryx
由Cloudera Hadoop發(fā)行版的創(chuàng)建者提供的Oryx,使用Apache Spark和Apache Kafka在實(shí)時(shí)數(shù)據(jù)上運(yùn)行機(jī)器學(xué)習(xí)模型。Oryx提供了一種構(gòu)建項(xiàng)目的方式,這些項(xiàng)目需要立即做出決定,例如推薦引擎或?qū)崟r(shí)異常檢測(cè),這些都可以通過(guò)新數(shù)據(jù)和歷史數(shù)據(jù)獲得通知。
版本2.0對(duì)該項(xiàng)目幾乎進(jìn)行了完全重新設(shè)計(jì),其組件以lambda架構(gòu)松散耦合。可以隨時(shí)添加新算法和這些算法的新抽象(例如,用于超參數(shù)選擇)。
PyTorch Lightning
當(dāng)功能強(qiáng)大的項(xiàng)目流行時(shí),通常會(huì)輔以易于使用的第三方項(xiàng)目。PyTorch Lightning為PyTorch提供了組織包裝,因此用戶(hù)可以專(zhuān)注于重要的代碼,而不必為每個(gè)項(xiàng)目編寫(xiě)樣板。
PyTorch Lightning使用基于類(lèi)的結(jié)構(gòu),因此PyTorch項(xiàng)目的每個(gè)常見(jiàn)步驟都封裝在類(lèi)方法中。訓(xùn)練和驗(yàn)證循環(huán)是半自動(dòng)化的,因此你只需要為每個(gè)步驟提供邏輯即可。在多個(gè)GPU或不同的硬件組合中設(shè)置訓(xùn)練結(jié)果也更加容易,因?yàn)檫@樣做的指令和對(duì)象引用是集中的。
Scikit-learn
由于Python易于采用且?guī)缀踹m用于所有應(yīng)用程序的庫(kù)的廣泛性,它已成為數(shù)學(xué)科學(xué)和統(tǒng)計(jì)學(xué)的首選編程語(yǔ)言。Scikit-learn通過(guò)在幾個(gè)現(xiàn)有的Python軟件包(NumPy,SciPy和Matplotlib)之上構(gòu)建數(shù)學(xué)和科學(xué)工作來(lái)利用這一廣度。
生成的庫(kù)可用于交互式“工作臺(tái)”應(yīng)用程序或嵌入到其他軟件中并重新使用。該套件可通過(guò)BSD許可獲得,因此它是完全開(kāi)放的,并且可重復(fù)使用。
Shogun
Shogun是這個(gè)工具中時(shí)間最長(zhǎng)的項(xiàng)目之一。它創(chuàng)建于1999年,用C ++編寫(xiě),但是可以與Java,Python,C#,Ruby,R,Lua,Octave和Matlab一起使用。最新的主要版本6.0.0增加了對(duì)微軟Windows和Scala語(yǔ)言的本機(jī)支持。
雖然廣受歡迎,范圍廣泛,但Shogun也有競(jìng)爭(zhēng)對(duì)手。另一個(gè)基于c++的機(jī)器學(xué)習(xí)庫(kù)Mlpack是在2011年才出現(xiàn)的,但是它聲稱(chēng)比其他庫(kù)更快、更容易使用(通過(guò)一個(gè)更完整的API集)。
Spark MLlib
MLlib是Apache Spark和Apache Hadoop的機(jī)器學(xué)習(xí)庫(kù),擁有許多常用算法和有用的數(shù)據(jù)類(lèi)型,能夠快速,大規(guī)模地運(yùn)行。盡管Java是在MLlib中工作的主要語(yǔ)言,但是Python用戶(hù)可以將MLlib與NumPy庫(kù)連接,Scala用戶(hù)可以針對(duì)MLlib編寫(xiě)代碼,而R用戶(hù)可以從1.5版開(kāi)始插入Spark。
MLlib的版本3專(zhuān)注于使用Spark的DataFrame API(與較早的RDD API相對(duì)),并提供了許多新的分類(lèi)和評(píng)估功能。
另一個(gè)項(xiàng)目,MLbase,建立在MLlib的頂部,以使其更容易得出結(jié)果。用戶(hù)無(wú)需編寫(xiě)代碼,而是使用SQL的聲明性語(yǔ)言進(jìn)行查詢(xún)。
Weka
由Waikato大學(xué)的機(jī)器學(xué)習(xí)小組創(chuàng)建的Weka被稱(chēng)為“無(wú)需編程的機(jī)器學(xué)習(xí)”。這是一個(gè)GUI工作臺(tái),數(shù)據(jù)科學(xué)家無(wú)需編寫(xiě)代碼即可組裝機(jī)器學(xué)習(xí)管道,訓(xùn)練模型和運(yùn)行預(yù)測(cè)。
Weka直接與R,Apache Spark和Python合作,后者通過(guò)直接包裝或通過(guò)通用數(shù)值庫(kù)(如NumPy,Pandas,SciPy和Scikit-learn)的接口進(jìn)行工作。Weka的一大優(yōu)勢(shì)在于,它為工作的各個(gè)方面提供了可瀏覽的友好界面,包括包裝管理,預(yù)處理,分類(lèi)和可視化。
責(zé)編AJX
-
編程
+關(guān)注
關(guān)注
88文章
3637瀏覽量
93989 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8441瀏覽量
133091 -
開(kāi)源工具
+關(guān)注
關(guān)注
0文章
27瀏覽量
4523
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
讓醫(yī)院更智慧,讓決策更容易
嵌入式機(jī)器學(xué)習(xí)的應(yīng)用特性與軟件開(kāi)發(fā)環(huán)境
![嵌入式<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>的應(yīng)用特性與<b class='flag-5'>軟件</b>開(kāi)發(fā)環(huán)境](https://file1.elecfans.com/web3/M00/05/AF/wKgZO2eCM96AYfoXAAC2esU07bU956.png)
開(kāi)源項(xiàng)目!OpenCat—— 一個(gè)全能的平價(jià)四足機(jī)器人
舵機(jī)技術(shù)新突破,無(wú)線(xiàn)控制更自由!
什么是機(jī)器學(xué)習(xí)?通過(guò)機(jī)器學(xué)習(xí)方法能解決哪些問(wèn)題?
![什么是<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>?通過(guò)<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>方法能解決哪些問(wèn)題?](https://file.elecfans.com/web2/M00/4E/DC/poYBAGLCjeiALm_WAAAYmfR7Qec474.png)
恩智浦eIQ AI和機(jī)器學(xué)習(xí)開(kāi)發(fā)軟件增加兩款新工具
“0元購(gòu)”智元靈犀X1機(jī)器人,軟硬件全套圖紙和代碼全公開(kāi)!資料免費(fèi)下載!
【「時(shí)間序列與機(jī)器學(xué)習(xí)」閱讀體驗(yàn)】+ 簡(jiǎn)單建議
ROS讓機(jī)器人開(kāi)發(fā)更便捷,基于RK3568J+Debian系統(tǒng)發(fā)布!
開(kāi)啟開(kāi)源布道新篇章 — LF開(kāi)源軟件學(xué)園誠(chéng)邀開(kāi)源精英加入成為OSPO講師
![開(kāi)啟<b class='flag-5'>開(kāi)源</b>布道新篇章 — LF<b class='flag-5'>開(kāi)源</b><b class='flag-5'>軟件</b>學(xué)園誠(chéng)邀<b class='flag-5'>開(kāi)源</b>精英加入成為OSPO講師](https://file1.elecfans.com/web2/M00/E5/D3/wKgaomZBeIyADEqiAACsZ19UYWk044.png)
機(jī)器學(xué)習(xí)在數(shù)據(jù)分析中的應(yīng)用
工業(yè)機(jī)器人仿真軟件有哪些
基于FPGA EtherCAT的六自由度機(jī)器人視覺(jué)伺服控制設(shè)計(jì)
深入探討機(jī)器學(xué)習(xí)的可視化技術(shù)
![深入探討<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>的可視化技術(shù)](https://file1.elecfans.com/web2/M00/D9/FE/wKgaomYpzEiABG1sAABWzMqGd4M786.png)
![](https://file1.elecfans.com/web2/M00/C8/A6/wKgaomYWMWmADLICAAgAi2BqDCE222.png)
評(píng)論