作者|Renan Ferreira
編譯|VK
來源|Towards Datas Science

典型的資料科學作業流由以下步驟組成:
確定業務需求->資料獲取->資料準備->資料分析->共享資料見解
每一個步驟都需要一套專業知識,這些專業知識可分為:
資料工程師:開發、構建、測驗和維護資料管道
資料科學家:使用各種方法建立資料模型(機器學習模型)
資料分析師:獲取資料工程師準備的資料,以圖形、圖表和儀表板的形式從中提取見解(商業智能)
平臺管理員:負責管理和支持資料基礎設施(DevOps)
Databricks是一個統一的平臺,它為每個作業提供了必要的工具,在本文中,我們將通過創建一個資料管道并指出每個團隊成員的職責來分析巴西的COVID-19資料,
準備
要完成下一步,你需要訪問Databricks帳戶,最簡單的啟動方法是在https://community.cloud.databricks.com
集群創建(平臺管理員)
第一步是配置集群,Databricks是一個基于Spark的平臺,是最流行的大資料分析框架之一,Spark本質上是一個分布式系統,驅動程式是集群的協調器,作業節點負責繁重的作業,
平臺管理員負責根據用例、spark版本、worker節點數量和自動調整配置選擇適當的虛擬機系列,例如,ETL程序可能需要記憶體優化的設備,而繁重的機器學習訓練程序可能在gpu上運行,

轉到Clusters頁面,使用6.6ML運行時創建一個新的集群,如果你使用的是 Azure Databricks或AWS,則需要選擇驅動程式和worker節點的VM系列,對于本教程,你可以選擇最便宜的,
資料獲取
資料獲取可能是一個具有挑戰性的領域,通常,公司將資料存盤在多個資料庫中,而現在資料流的使用非常普遍,幸運的是,Databricks與Spark和Delta-Lake相結合,可以幫助我們為批處理或流式ETL(提取、轉換和加載)提供一個簡單的介面,
在本教程中,我們將從最簡單的ETL型別開始,從CSV檔案加載資料,
首先,我們需要下載資料集,訪問以下網址:
https://github.com/relferreira/databricks-tutorial/tree/master/covid
下載檔案caso.csv.gz
解壓縮該檔案,訪問“資料”選單,然后單擊“添加資料”按鈕,接下來,上傳先前下載的CSV檔案,
上傳完成后,我們將使用資料集中顯示的資訊創建一個新表,單擊Create Table UI,將表重命名為covid,將第一行設定為標題,最后單擊Create按鈕,

資料分析
創建了表之后,我們就可以開始分析資料集了,首先,我們需要創建一個新的python notebook,
Worspace > Users > YOUR EMAIL
單擊箭頭并創建一個新的Notebook

盡管Databricks是一個python Notebook,但它支持Notebook內的多種語言,在我們的例子中,我們將主要使用SparkSQL,如果你熟悉SQL,SparkSQL會讓你感覺像家一樣,
讓我們從查看新表開始:
%sql
SELECT * FROM covid
你應該看到這樣的表:

作為資料分析員,你應該能夠提取有關資料的有價值的資訊,首先,我們需要理解表中每一列的含義,一種方法是使用DESCRIBE函式:
%sql
DESCRIBE covid

通過分析這兩個表,我們可以推斷出,當列place_type為state時,每一行表示該state的總數,讓我們試著畫出人口最多的三個州的死亡人數的演變:
%sql
SELECT date, state, deaths FROM covid WHERE state in (“MG”, “RJ”, “SP”) and place_type = “state”
單擊Bar Chart按鈕,Plot選項,并對Line chart使用以下配置:

現在我們有了大流行期間死亡人數演變的一個很好的代表,例如,我們可以將此圖嵌入儀表板,以提醒這些州的人口,
資料科學
接下來,我們將嘗試預測先前繪制的時間序列的未來值,為此,我們將使用一個名為Prophet的Facebook庫
首先,我們需要安裝一些依賴項,
Clusters > COVID > Libraries
并使用PyPI安裝以下依賴項
- pandas
- pystan
- fbprophet

我們將嘗試預測Minas Gerais(MG)未來的死亡人數,所以第一步是收集我們的資料,
也許你需要清除你Notebook的狀態
import pandas as pd
import logging
logger = spark._jvm.org.apache.log4j
logging.getLogger("py4j").setLevel(logging.ERROR)
query = """
SELECT string(date) as ds, int(deaths) as y FROM covid WHERE state = "MG" and place_type = "state" order by date
"""
df = spark.sql(query)
df = df.toPandas()
display(df)
接下來,我們將使用Prophet擬合模型并最侄訓制預測
from fbprophet import Prophet
m = Prophet()
m.fit(df)
future = m.make_future_dataframe(periods=30)
forecast = m.predict(future)
fig1 = m.plot(forecast)
你應該看到下面的圖表和預測:

結論
我們的目標是演示資料科學作業流的所有步驟,這就是為什么我們沒有描述時間序列模型是如何作業的,如果你遵循本教程,你應該對Databricks平臺有一個很好的了解,
此公共存盤庫中提供了完整的Notebook:https://github.com/relferreira/databricks-tutorial
原文鏈接:https://towardsdatascience.com/getting-started-with-databricks-analyzing-covid-19-1194d833e90f
歡迎關注磐創AI博客站:
http://panchuang.net/
sklearn機器學習中文官方檔案:
http://sklearn123.com/
歡迎關注磐創博客資源匯總站:
http://docs.panchuang.net/
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/186562.html
標籤:其他
上一篇:掌握Seaborn的三分之一:使用relplot進行統計繪圖
下一篇:Docker鏡像
