在這個演示中,我們通過DataBricks進行真實的數據科學和機器學習用例,顯示數據團隊的不同成員如何在DataBricks平台上進行交互和協作。Beplay体育安卓版本
我們也展示了如何databrick上的mlflow.簡化並簡化了端到端機器學習工作流程,使用MLFLIP跟蹤服務器跟蹤和編製每個模型訓練運行,以及MLFLOW模型注冊表通過直接從DataBricks測試和分期到生產中的牧草模型。
視頻成績單
歡迎來到DataBricks。LakeHouse是一個簡單且打開的數據平台,用於存儲和管理您的所有數據,支持所Beplay体育安卓版本有分析和AI使用情況。它是數據科學家和數據工程師和ML工程師和分析師合作準備和分析數據,構建模型並將其部署到生產。
今天,我們將專注於數據科學家,因為您將在此處看到這裏,正試圖從健康指標數據解釋預期壽命。沿途,我們將看到我們的平台如何支持將整個生命周期從攝取到生產中的數據。Beplay体育安卓版本
單擊以展開抄本→
點擊折疊成績單→
您在這裏看到的基於筆記本的環境是Databricks。您可以編輯,運行和共享代碼和文檔和可視化以及許多語言的輸出。筆記本可以附加到現有的集群,或者必要時,可以旋轉新的群集。
我們將在三部分中查看問題:數據訪問和準備,建模和解釋,最後,部署。我們將僅簡要介紹在這裏的Databrick中的數據工程師的工作。她的目標是使原始數據可用。這包括修複輸入中的錯誤,或標準化表示和加入不同數據以生產表達者和分析師的表。
這裏的輸入隻是來自世界衛生組織和世界銀行的CSV文件,以及額外的藥物過量數據集,我們包括瀏覽為一個因素。並且它們可以直接讀取,從分布式存儲作為Spark DataFrame。請注意,這些數據源可以像SQL數據庫或JSON文件或拚影文件一樣容易地播放。在CSV的情況下,可以自動讀取或推斷模式。
這些文件在過去幾十年中包含16個發達國家的2000個不同的健康和人口統計學特征。目標是了解這些功能如何預測壽命,其中一兩個是最重要的。
因此,數據工程師可能願意在SQL和Scala中工作。除了Python和R,數據科學家可能更願意,Databricks還支持這些數據。甚至可以在一個筆記本中使用。
沿途,即使是數據工程師也可以用SQL查詢數據,並查看類似於此類可視化的結果。他們可能希望早日看待數據,我們看到,2000年至2016年期間預期潮流的趨勢看起來與美國不同。它很低,下降。問題是為什麼。
因此,在數據工程工作流程結束時,三個數據源在國家和年度加入,並寫為注冊的Delta Lake表。所以到數據科學家,這種表示不會產生太大的直接差異。它隻是一個可以像任何其他數據源一樣讀取的表格。但Delta Lake提供交易寫入,並允許數據工程師從錯誤的饋送更新和修複數據,或者優雅地修改模式或強製執行數據的某些約束。這對數據科學家來說確實重要。
任何人麵臨從可能違反或更改微妙或沉默方式的數據庫轉儲的人,將欣賞這些因素可能導致下遊的真實數據科學問題,並且德雷塔湖有助於修複。
或者,例如,考慮需要究竟需要準確地回顧哪些數據來生成治理或再現性的模型。管理數據作為Delta Lake表允許數據科學家將數據查詢到前一時的時間點。這有助於可重複性。請注意,每個人都可以在此筆記本上合作,也許留下評論。
所以在這裏,我們從數據科學家的世界接受。她的目標是探索數據,進一步豐富和改進此處的這種特定分析,並生成用於建模和生產部署的特化數據表。因此,協作開始簡單:閱讀數據工程師所產生的數據表。此筆記本使用Python,生態係統可能更熟悉,並且對數據科學有用。Spark API是相同的,並且數據表以完全相同的方式可用。
現在,您不必隻使用Spark和DataBricks。例如,在這裏,我們刪除到熊貓,填補一些缺少的值,然後返回火花。您可以定義高效的UDF或用戶定義的函數,因為Spark也可以利用Pandas。
Python Ecosystem也提供了可視化的庫,同樣使用Databricks,您可以使用這些。像Matplotlib和Seaborn這樣的常見圖書館已經內置於ML運行時,並且可以輕鬆添加其他內容。
這裏的數據科學家使用海運生成諸如人均壽命,識字率和阿片類藥物等特征的對情節。它可以突出相關的相關性,例如在醫療保健和GDP上的人均支出之間,它也揭示了明確的異常值。因此,關於阿片類藥物的異常值得再次成為美國。
經過一些額外的功能化,數據被寫為另一個Delta湖桌。
現在,數據集足夠小,可以使用XGBoost和Pandas等工具來操縱和模型,所有這些都可以在運行時提供。但火花仍然在片刻。
數據科學家在這裏使用XGBoost開發建模代碼。它將作為輸入中留下的千分之一的函數來回歸壽命。但構建模型真的意味著構建數百個以便發現模型的超參數的最佳設置。
通常,數據科學家可以通過這些值執行網格或隨機搜索,並且在平台串行地通過它們中的每個值時等待小時。Beplay体育安卓版本然而,Databricks在其運行時提供了一個叫做Hoveropt的貝葉斯優化框架,這是一個現代化的有效方法,以便在其它方麵並行進行搜索。
所以給出了搜索空間,Hyperopt在群集中並行運行模型的變化,從而學習,因為它的設置越來越好。Hyperopt可以使用Spark並行運行這些變化,即使此處的簡單建模不需要Spark本身。這種並行性可以大大降低這些超參數搜索所采取的壁鍾時間。
使用MLFLIPS在DataBreicks中自動跟蹤結果。這提供了快速查看在此筆記本中創建的建模運行。我們可以進入實驗視圖。
這是MLFLOW跟蹤服務器,此實驗顯示了這些試驗的更詳細概述。我們可以使用它來搜索運行,甚至將它們與此處進行比較。例如,我們可能希望使用並行坐標繪圖進行比較所有運行。通過這種方式,弄清楚Quand參數的哪種組合似乎產生了最佳損失。
例如,此詳細視圖還示出了誰創建了該模型以及Notebook的修訂,當創建時,以及包括丟失的超參數的所有細節。它還包括模型本身,以及數據科學家創建的特征重要性地圖。
現在可以使用模型注冊表作為進一步分析的“分期候選”模型來注冊模型。模型注冊表是由Databricks管理的邏輯模型的一個集中式存儲庫。它管理此模型的工件和版本,並通過常用生產來管理他們的促銷。
此特定模型具有注冊為相同邏輯模型的版本的幾個版本,它們可以存在於暫存和生產等狀態中。模型注冊表也可以在左側導航欄中訪問。
代替管理模型,例如,在某些文件中寫入的係數列表,或者存儲在共享驅動器上的泡菜文件,模型注冊表圍繞跟蹤更正式的工作流程,而不僅僅是模型的偽像,而是哪些已準備好在哪個生產部署階段。
所以接下來,經理可能會查看模型和地塊。這是由Shap創建的一個特征重要性圖,它表明大多數影響預測預期壽命的特征是來自癌症,糖尿病和心髒病的死亡率。藍色死亡率低,表明壽命更高,似乎可以解釋一下,可能減去一半的預期壽命。和“一年”是下一個最重要的,這是不出所料的捕捉到更好的健康的許多累積影響。
因此,請注意,藥物相關的死亡似乎並不是整體的最佳解釋特征 - 其他疾病仍然是占主導地位的。因此,在審查模型和其他地塊之後,經理最終可能批準此模型以進行生產。
部署工程師在這裏接管。她從模型注冊表中加載最新的生產模型,該模型已被批準用於部署。但是,MLFLUP會自動將其轉換為火花UDF或用戶定義的函數。這意味著它可以應用於尺度與Spark,隻需一行代碼。
現在,這可以在批量評分工作或具有流媒體工作中同樣工作。因此,將其與例如軟件工程師的模型或甚至隻能將其進行比較,以嚐試將模型遞送到軟件工程師中,以便正確地重新實現作為在生產中運行的代碼。這裏的數據科學家的確切模型是由生產工程師提供的,而且翻譯中沒有任何東西丟失。
因此,在該生產作業中,數據應用於2017年至2018的輸入,預期壽命難以知道。這可以加入到2016年的數據,以完成我們之前看到的情節,顯示推斷的趨勢。
現在,請注意,這不僅可以在Python中作為UDF注冊,而且可以在SQL中注冊。所以請注意,預測出現相當平坦。但這主要是因為在以後的幾年內缺少了超過一半的功能數據。此模型也可以部署為REST API或作為Amazon Sagemaker或Azure ML的服務。
因此,這是DataBricks如何將整個生命周期從數據工程電源通知到數據科學和建模的簡單示例,最後MLOPS任務等模型管理和部署。
Pronto / cominciare?