現代機器學習工具
語境
數據科學的發展日新月異,機器學習的角色正從數據科學的混合角色過渡到更多的工程或面向分析的角色,通常稱為A型和B型數據科學家。
一些變化正在促成這些變化:
- 將機器學習模型更多地嵌入到生產系統中,比以前需要更深入的技術技能
- 商業產品和用戶行為的變化步伐加快,對自動化的需求也增加。
- 法規要求的增加,例如GDPR的"解釋權",增加了對數據可追溯性以及對預測和決策的可解釋性的需求
換模
這種變化的環境導致數據科學家使用的工具發生了變化。 這種發展促使數據科學家朝著利用云,自動化,可解釋性和可重復過程的方向發展。
- 基于可能的機器學習:云基礎架構和Kubernetes(K8S)改變了我們進行機器學習的方式。 從能夠將預構建的解決方案用作Saas應用程序到能夠在K8S上運行完整的機器學習堆棧。
- AutoML和編排:AutoML簡化了訓練模型,提供了一種自動方法來進行數據準備,特征工程,超參數優化或模型選擇。
- 可解釋且可重現的ML:在過去的幾年中,出現了一些庫和工具來幫助理解模型預測及其背后的權重并賦予其含義。 諸如whatiftools,Lime,Shap或Manifold之類的工具可以幫助您實現這一目標。
基于云的ML
向云和Kubernetes的遷移已逐漸發生,從而推動了機器學習工程師對更多DevOps或數據操作功能的需求。
人們對深度學習的興趣日益濃厚,特別是Keras幫助使該學科民主化,這一舉動更加突出了這一點。 深度學習可能特別需要資源。 它的利用率隨工作負載的變化而變化,這迫使Tensorflow執行器在K8S上運行,從而支持對更彈性和可擴展的基礎架構的需求

> SageMarker's web interface
促成此舉的另一個因素是ML在生產中的重要性日益提高。 反過來,這種轉變又增加了原型棧與生產之間緊密結合的需求,并借助各種Saas云產品(例如AWs sageMaker / Google Cloud ML Engine)……這些工具提供了諸如模型部署和API配置之類的功能,從而簡化了流程 將模型推向生產的過程。
AutoML和機器學習工作流程
具有生產型機器學習系統的重要性的提高反過來加速了從培訓到部署的整個機器學習價值鏈對自動化的需求。 自動化允許更快地迭代和改進模型。
AutoML提供了圍繞模型訓練過程的自動化層,可處理其某些重復性任務。 它可以處理諸如超參數優化,功能和模型選擇之類的任務。 Tpot或AutoKeras等庫以及大多數云提供商的ML產品現在都將AutoML作為其解決方案的一部分。
對自動化的需求也增加了對工具進行編排的不同部分的需求。 諸如Airflow,Kubeflow,MLFlow和MetaFlow之類的工作流工具是用于幫助實現這一目標的一些關鍵工具。 他們負責將整個機器學習過程作為一條流水線來處理,幫助協調從數據采集到模型服務的端到端流程。
可解釋且可重現的ML
GDPR和其他法規已經影響了我們構建機器學習模型的方式。 他們推動了可解釋和可復制的模型。
在可解釋的方面,已經出現了一系列工具,可以幫助數據科學家更好地利用其模型。 這些工具評估不同的方案,分析變量如何互操作,并提供儀表板以幫助解釋模型預測。 Whatiftool,Lime,SHAP和Manifold是為應對這一挑戰而引入的一些工具。
除了提供可靠的方法來調試模型的優點外,可重復性是受法規影響的另一個方面。 總有可能使用工作流工具創建可重現的機器學習管道。 盡管如此,仍出現了一些特定的工具來簡化該過程。

> Screenshot of Weight & Biases interface
DVC,Dolt,Weight and Biases(WANDB)和Dags Hub是一些專用工具,這些工具以可重現的方式使構建模型更簡單。 DVC負責模型和數據集的版本控制,而Dolt嚴格限于數據集本身。 WANDB和Dags Hub則專注于跟蹤模型構建/訓練的權重和結果。
摘要
機器學習工具已經從僅僅能夠利用一些預測庫和Jupyter筆記本發生了很大的變化。 如今,進行數據科學需要掌握更廣泛的工具集,其中包括云庫,工作流工具,解釋和版本控制工具。 這種增加的工具應有助于數據科學從其某些研究形象轉移到更多的工程或業務功能上。
我提供的有關Hacking Analytics的更多信息:
- 成為Python的數據處理庫Pandas的專家
- 筆記本時代—筆記本如何改變我們開發代碼的方式
- 電子商務分析:數據結構和應用
- 在Azure上設置氣流并連接到Ms sQL Server