21個必須知道的機器學習開源工具

j8W網站分類目錄

概述

  • 展示21個你可能沒有遇到過的機器學習開源工具j8W網站分類目錄

  • 這里的每個開源工具都為數據科學家帶來不同領域的幫助j8W網站分類目錄

  • 我們的重點主要是以下五個方面的機器學習工具j8W網站分類目錄

    • 適用于非程序員(Ludwig,Orange,KNIME)j8W網站分類目錄

    • 模型部署(CoreML,Tensorflow.js)j8W網站分類目錄

    • 大數據(Hadoop,Spark)j8W網站分類目錄

    • 計算機視覺(SimpleCV)j8W網站分類目錄

    • 自然語言處理(StanfordNLP)j8W網站分類目錄

    • 音頻和強化學習(OpenAI Gym)
      j8W網站分類目錄

介紹

我喜歡機器學習開源社區,作為一個有抱負且資深的數據科學家,我的大部分學習來自開源的資源和工具。j8W網站分類目錄

如果你還沒有接受機器學習中開源工具的美妙之處 -- 那么你就錯過了很多東西! 開源社區規模龐大,對新工具的支持態度令人難以置信,并且接受了機器學習民主化的概念。j8W網站分類目錄

j8W網站分類目錄

你必須已經了解流行的開源工具,如R,Python,Jupyter notebooks等等。 但是,除了這些流行的工具之外還有一些低調神秘的機器學習工具存在,這些并不像它們“同行”那樣出色,但可以成為許多機器學習任務的救星。j8W網站分類目錄

在本文中,我們將介紹21種用于機器學習的開源工具。 我強烈建議你花一些時間了解下我提到的每個工具。 除了我們通常在課程和視頻中學到的東西之外,還有很多需要學習的地方。j8W網站分類目錄

請注意,其中許多是基于Python的庫或工具,因為讓我們知道Python是一種多功能的編程語言!j8W網站分類目錄

我們將開源機器學習工具分為以下5類:j8W網站分類目錄

  1. 面向非程序員的開源機器學習工具j8W網站分類目錄

  2. 用于機器學習模型部署j8W網站分類目錄

  3. 大數據開源工具j8W網站分類目錄

  4. 用于計算機視覺,NLP和音頻j8W網站分類目錄

  5. 用于強化學習
    j8W網站分類目錄

1. 面向非程序員的開源機器學習工具

對于非程序員或是沒有技術背景的人來說,機器學習看起來很復雜。 這是一個廣闊的領域,可以想象可能第一次接觸機器學習會多么令人生畏。 那么沒有編程經驗的人能否在機器學習中取得成功?j8W網站分類目錄

事實證明,你們可以! 這里有一些工具可以幫助你跨越鴻溝并進入機器學習世界:j8W網站分類目錄

  • Uber Ludwig : Uber的Ludwig是一個建立在TensorFlow之上的工具箱。 Ludwig允許我們訓練和測試深度學習模型,而無需編寫代碼。 你所需要提供的只是一個包含數據的CSV文件,包含用作輸入的各列數據,以及用作輸出的各列數據--之后Ludwig將完成剩下的工作。 它對于實驗非常有用,因為你可以毫不費力地構建復雜的模型,并且在決定將其用代碼實現之前,你可以調整并使用它。 可以通過下面的鏈接進一步了解如何使用Uber Ludwigz:j8W網站分類目錄

https://www.youtube.com/watch?v=OGweVw57kus
  • KNIME : KNIME允許你使用拖放接口創建整個數據科學工作流。 實際上,你可以實現從特征工程到特征選擇的所有功能,甚至可以通過這種方式將機器學習預測模型添加到工作流中,這種可視化實現整個模型工作流的方法非常直觀,在處理復雜的問題時非常有用。j8W網站分類目錄

j8W網站分類目錄

  • Orange : 你不必知道如何編碼以便能夠使用Orange挖掘數據,處理數據并獲得知識。 你可以執行從基本可視化到數據操作的任務,像轉換和數據挖掘。 Orange近來在學生和教師團體中很受歡迎,因為它易于使用,并且能夠添加多個附加組件以補充其功能集。j8W網站分類目錄

還有許多有趣、免費和開源的軟件可以方便我們進行機器學習,而無需編寫(大量)代碼。j8W網站分類目錄

另一方面,你可以考慮一些付費的開箱即用服務,例如Google AutoML,Azure Studio,Deep Cognition和Data Robot。
j8W網站分類目錄

2. 用于模型部署的開源機器學習工具

部署機器學習模型是你應該注意然而最容易被忽視但重要的任務之一。 它幾乎肯定會在面試中出現,所以你可能也很熟悉這個話題。j8W網站分類目錄

以下是一些框架,可以更輕松地將你的項目部署到現實世界的設備中。j8W網站分類目錄

  • MLFlow : MLFlow旨在與任何機器學習庫或算法配合使用,并管理整個生命周期,包括實驗,可重復性和機器學習模型的部署。 MLFlow目前處于alpha版本,有3個組件——跟蹤、項目和模型。j8W網站分類目錄

j8W網站分類目錄

  • Apple’s CoreML : CoreML是一個流行的框架,可用于將機器學習模型集成到你的iOS / Apple Watch / Apple TV / MacOS應用程序中。 關于CoreML的最好的部分是你不需要有關神經網絡或機器學習的廣博知識。j8W網站分類目錄

j8W網站分類目錄

  • TensorFlow Lite : TensorFlow Lite是一組工具,可幫助開發人員在移動設備(Android和iOS),嵌入式和物聯網設備上運行TensorFlow模型。 它旨在簡化在網絡“邊緣”的設備上執行機器學習,而不是從服務器來回發送數據。j8W網站分類目錄

  • TensorFlow.js : TensorFlow.js可以成為你在網絡上部署機器學習模型的首選。 它是一個開源庫,可讓你在瀏覽器中構建和訓練機器學習模型。 它具有GPU加速功能,并且還自動支持WebGL。 你可以導入現有的預訓練模型,并在瀏覽器中重新訓練整個現有的機器學習模型!j8W網站分類目錄

j8W網站分類目錄

3. 用于大數據的開源機器學習工具

大數據是一個研究如何分析、系統地從數據集中提取信息,或者處理傳統數據處理應用軟件無法處理的太大或太復雜的數據集的領域。 想象一下,每天處理數百萬條推文進行情緒分析。 這感覺像是一項艱巨的任務,不是嗎?j8W網站分類目錄

別擔心! 以下是一些可以幫助你用于大數據的工具。j8W網站分類目錄

  • Hadoop : Hadoop項目是處理大數據最突出和相關的工具之一。 Hadoop是一個框架,它允許使用簡單的編程模型跨計算機集群分布式處理大型數據集。 它被設計成從單個服務器擴展到數千臺機器,每臺機器都提供本地計算和存儲。j8W網站分類目錄

j8W網站分類目錄

  • Spark : Apache Spark被認為是用于大數據應用的Hadoop的自然繼承者。 這個開源大數據工具的關鍵在于填補了Apache Hadoop在數據處理方面的空白。 有趣的是,Spark可以處理批處理數據和實時數據。j8W網站分類目錄

  • Neo4j : Hadoop可能不是所有大數據相關問題的明智選擇。 例如,當你需要處理大量的網絡數據或與圖相關的問題(如社交網絡或人口統計模式)時,圖數據庫可能是最佳選擇。j8W網站分類目錄

4. 用于計算機視覺、NLP和音頻的開源機器學習工具

j8W網站分類目錄

“如果我們想讓機器思考,我們需要教它們看東西。 ” ——李飛飛博士談計算機視覺j8W網站分類目錄

  • SimpleCV : 如果你從事過任何計算機視覺項目,那么你一定使用過OpenCV。 但是你了解過SimpleCV嗎?SimpleCV可以讓你訪問幾個高性能的計算機視覺庫,如OpenCV而無需首先了解位深度、文件格式、顏色空間、緩沖區管理、特征值或矩陣與位圖存儲。 這就是讓計算機視覺變得更加簡單。j8W網站分類目錄

    j8W網站分類目錄

  • Tesseract OCR :你是否使用過一些創造性的應用程序,可以通過智能手機攝像頭掃描文件或購物賬單,或者僅僅通過給支票拍照就可以把錢存入銀行賬戶?所有這些應用程序都使用我們稱之為OCR或光學字符識別軟件。 Tesseract就是這樣一個OCR引擎,它可以識別超過100種語言。 它也可以通過訓練來識別其他語言。j8W網站分類目錄

  • Detectron :  Detectron是Facebook AI Research研究小組的軟件系統,它實現了最先進的目標檢測算法,包括Mask R-CNN。 它是用Python編寫的,并由Caffe2深度學習框架提供支持。j8W網站分類目錄

j8W網站分類目錄

  • StanfordNLP : StanfordNLP是一個Python自然語言分析包。 這個庫最棒的地方是它支持70多種人類語言!它包含可以在管道中使用的工具:j8W網站分類目錄

  • 將包含人類語言文本的字符串轉換為句子和單詞j8W網站分類目錄

  • 生成這些單詞的基本形式、語音和詞形特征j8W網站分類目錄

  • 給出一個句法結構依賴解析
    j8W網站分類目錄

j8W網站分類目錄

  • BERT as a Service :你們所有的NLP愛好者都應該聽說過BERT,谷歌中開創性的NLP架構,但是你們可能還沒有遇到過這個非常有用的項目。 BERT -as-a-service使用BERT作為句子編碼器,并通過ZeroMQ將其作為服務托管,允許你僅用兩行代碼將句子映射成固定長度的表示形式。j8W網站分類目錄

  • Google Magenta : 這個庫提供了操作源數據(主要是音樂和圖像)的實用工具,使用這些數據來訓練機器學習模型,最后從這些模型生成新的內容。 可以通過下面的鏈接進一步了解如何使用Google Magenta:j8W網站分類目錄

https://www.youtube.com/watch?v=pM9u9xcM_cs
  • LibROSA : LibROSA是一個用于音樂和音頻分析的Python包。 它提供了創建音樂信息檢索系統所需的構建塊。 它在音頻信號預處理中得到了廣泛的應用,像使用深度學習的語音合成應用。j8W網站分類目錄

5. 用于強化學習的開源工具

當談到機器學習時,RL是最近的熱門話題。 強化學習(RL)的目標是訓練能夠與環境交互并解決復雜任務的智能代理,并將其應用于機器人、自動駕駛汽車等領域。j8W網站分類目錄

推動了這一領域的快速發展是通過讓代理玩游戲,如標志性的Atari控制臺游戲,古老的Go游戲,或專業的視頻游戲Dota 2或Starcraft 2,所有這些都提供了富有挑戰性的環境,在這些環境中,新的算法和思想可以以一種安全和可重復的方式快速測試。 以下是一些RL最有用的訓練環境:j8W網站分類目錄

  • Google Research Football :  Google Research Football Environment是一個全新的RL環境,代理的目標是掌握世界上最流行的運動——足球。 這種環境給你很大的控制權來訓練你的RL代理,可以通過下面的鏈接視頻了解更多:j8W網站分類目錄

https://www.youtube.com/watch?v=F8DcgFDT9sc
  • OpenAI Gym : Gym是一個用于開發和比較強化學習算法的工具包。 它支持教代理從學會走路到玩乒乓球或彈球等游戲。j8W網站分類目錄

  • Unity ML Agents : Unity Machine Learning Agents Toolkit (ML-Agents)是一個開放源碼的Unity插件,它可以將游戲和仿真作為訓練智能代理的環境。 通過一個簡單易用的Python API就可以使用強化學習、模仿學習、神經進化或其他機器學習方法來訓練代理。j8W網站分類目錄

  • Project Malmo : Malmo平臺是一個基于Minecraft構建的復雜AI實驗平臺,旨在支持人工智能的基礎研究。 它由微軟開發。 可以通過下面的鏈接視頻了解更多:j8W網站分類目錄

https://www.youtube.com/watch?v=KkVj_ddseO8

5. 總結

從上面的一組工具可以明顯看出,當我們考慮數據科學和人工智能相關的項目時,開源是我們要走的路。 我可能只是觸及了冰山一角,但是有許多工具可以用于各種各樣的任務,使作為數據科學家的實驗變得更容易,而只需要知道在哪里查找即可。 。j8W網站分類目錄

在本文中,我們涵蓋了5個有趣的數據科學領域,而如果沒有代碼、ML部署、大數據、視覺/NLP/聲音和強化學習,就沒有人真正談論ML。 這個5個方面,我個人認為在考慮人工智能的真實世界價值時產生的影響最大。j8W網站分類目錄


j8W網站分類目錄

該文章由小哈站長目錄網編輯發布,僅為傳遞信息,不代表認同其觀點或證實其描述!如有侵權請及時告知刪除!

棒棒噠,贊一個! ()

相關推薦