推薦收藏 | 21 個必須知道的機器學習開源工具!
- 2019 年 10 月 4 日
- 筆記
本文轉載自CSDN(ID:CSDNnews)
作者 | SebastianScholl
譯者 | 劉靜,責編 | 郭芮
本文將介紹21種用於機器學習的開源工具。
以下為譯文:
你肯定已經了解流行的開源工具,如R、Python、Jupyter筆記本等。但是,除了這些流行的工具之外還有一個世界——一個隱藏在機器學習工具下的地方。這些並不像他們的同行那樣出色,但可以成為許多機器學習任務的救星。
在本文中,我們將介紹21種用於機器學習的開源工具。我強烈建議你花一些時間瀏覽我提到的每個類別。除了我們通常在課程和視頻中學到的東西之外,還有很多需要學習的地方。
01 面向非程序員的開源機器學習工具
對於來自非編程和非技術背景的人來說,機器學習看起來很複雜。這是一個廣闊的領域,我可以想像第一步可能會多麼令人生畏。沒有編程經驗的人能否在機器學習中取得成功?
事實證明,你可以!這裡有一些工具可以幫助你跨越鴻溝並進入著名的機器學習世界:
- 優步路德維希:路德維希允許我們訓練和測試深度學習模型,而無需編寫代碼。您需要提供的只是一個包含數據的CSV文件,一個用作輸入的列的列表,以及一個用作輸出的列的列表——Ludwig將完成剩下的工作。
- KNIME:KNIME允許您使用拖放界面創建整個數據科學工作流程。這種可視化實現整個模型工作流的方法非常直觀,在處理複雜的問題陳述時非常有用。
- Orange:您不必知道如何編碼以便能夠使用Orange挖掘數據,處理數據並獲得洞察力。
有許多有趣的免費和開源軟件可以提供很好的機器學習功能,而無需編寫(大量)代碼。
另一方面,你可以考慮一些開箱即用的付費服務,例如Google AutoML、Azure Studio、Deep Cognition和Data Robot。
02 用於模型部署的開源機器學習工具
部署機器學習模型是最容易被忽視但重要的任務之一,它幾乎肯定會在採訪中出現,所以你可能也很熟悉這個話題。
以下是一些框架,可以更輕鬆地將你的項目部署到現實世界的設備中。
- MLFlow:MLFlow被設計用於使用任何機器學習庫或算法,並管理整個生命周期,包括實驗、重現性和機器學習模型的部署。
- Apple的CoreML:CoreML是一個流行的框架,它可用於將機器學習模型集成到你的iOS / Apple Watch / Apple TV / MacOS應用程序中。關於CoreML的最好的部分是你不需要有關神經網絡或機器學習的廣泛知識,雙贏!
- TensorFlow Lite:TensorFlow Lite是一組工具,可幫助開發人員在移動設備(Android和iOS),嵌入式和物聯網設備上運行TensorFlow模型。
- TensorFlow.JS – TensorFlow.JS可以成為你在網絡上部署機器學習模型的首選。它是一個開源庫,可讓你在瀏覽器中構建和訓練機器學習模型。
03 適用於大數據的開源機器學習工具
大數據是一個研究如何分析、系統地從數據集中提取信息,或者處理傳統數據處理應用軟件無法處理的太大或太複雜的數據集的領域。想像一下,每天處理數百萬條推文進行情感分析。這是一項艱巨的任務,不是嗎?
別擔心!這裡有一些工具可以幫助你處理大數據。
- Hadoop:使用大數據最重要和最相關的工具之一是Hadoop項目。Hadoop是一個框架,它允許使用簡單的編程模型跨計算機集群分佈式處理大型數據集。
- Spark:Apache Spark被認為是Hadoop用於大數據應用程序的自然繼承者。這個開源大數據工具的關鍵點在於它填補了Apache Hadoop在數據處理方面的空白。有趣的是,Spark可以處理批量數據和實時數據。
- Neo4j:對於所有與數據相關的大問題,Hadoop可能不是明智的選擇。例如,當你需要處理大量網絡數據或圖形相關問題(如社交網絡或人口統計模式)時,圖形數據庫可能是最佳選擇。
04 用於計算機視覺,NLP和音頻的開源機器學習工具
「如果我們想要機器思考,我們需要教他們看。」——Fei-Fei Li博士的計算機視覺。
- SimpleCV:如果你從事任何計算機視覺項目,必須使用OpenCV。但你有遇到過SimpleCV嗎?SimpleCV可以訪問幾個高性能的計算機視覺庫,如OpenCV——無需首先了解位深度、文件格式、色彩空間、緩衝區管理、特徵值或矩陣與位圖存儲,這使計算機視覺變得簡單。
- Tesseract OCR:你是否使用過創意應用程序,通過使用智能手機的相機掃描文檔或購物賬單,或者僅僅通過給支票拍照就可以把錢存入銀行賬戶?所有這些應用程序都稱之為OCR或光學字符識別軟件。Tesseract就是這樣一種OCR引擎,能夠識別100多種語言,也可以訓練識別其他語言。
- Detectron:Detectron是Facebook AI Research的軟件系統,它實現了最先進的物體檢測算法,包括Mask R-CNN。它是用Python編寫的,由Caffe2深度學習框架提供支持。
- StanfordNLP:StanfordNLP是一個Python自然語言分析包,關於這個庫的最好的部分就是它支持超過70種人類語言!
- BERT即服務:你們所有的NLP愛好者都會聽說過BERT這一來自谷歌的突破性NLP架構,但你可能還沒有遇到過這個非常有用的項目。Bert-as-a-service使用BERT作為句子編碼器,並通過ZeroMQ將其作為服務託管,允許你僅用兩行代碼將句子映射到固定長度的表示形式。
- Google Magenta:此庫提供了用於處理源數據(主要是音樂和圖像)的實用程序,使用此數據來訓練機器學習模型,最後從這些模型生成新內容。
- LibROSA:LibROSA是一個用於音樂和音頻分析的Python包。它提供了創建音樂信息檢索系統所需的構建塊。當我們使用深度學習等語音到文本的應用程序時,它在音頻信號預處理中被大量使用。
05 用於強化學習的開源工具
當談到機器學習時,RL是最近的熱門話題。強化學習(RL)的目標是培養能夠與環境互動並解決複雜任務的智能代理,實現機械人、自動駕駛汽車等領域的實際應用。以下是一些對RL最有用的培訓環境:
- 谷歌研究足球:谷歌研究足球環境是一個新穎的RL環境,代理商的目標是掌握世界上最受歡迎的運動——足球。這種環境為你提供了大量的控制來訓練RL代理。
- OpenAI Gym:Gym是一個用於開發和比較強化學習算法的工具包。它支持教學代理從步行到玩乒乓球或彈球戲等遊戲。在下面的gif圖片中,你可以看到一個正在學習走路的機械人。
- Unity ML代理:Unity機器學習代理工具包(ML-Agents)是一個開放源碼Unity插件,可以將遊戲和模擬作為培訓智能代理的環境。通過一個簡單易用的Python API,可以使用強化學習、模仿學習、神經進化或其他機器學習方法來訓練agent。
- Malmo項目:Malmo平台是一個基於Minecraft構建的複雜AI實驗平台,旨在支持人工智能的基礎研究,由Microsoft開發。
本文轉載自CSDN(ID:CSDNnews)
原文:https://medium.com/analytics-vidhya/21-must-know-open-source-tools-for-machine-learning-you-probably-arent-using-but-should-f605b94d9b06