Leo Yeh's Blog

資料科學 Microsoft Azure (1)

教學目標

初步了解如何透過 Microsoft Azure 雲端服務相關的資料科學之概念與應用。

重點概念

分析類別

首先在「Predictive Analytics with Microsoft Azure Machine Learning」書籍中提到 Gartner 針對所有分析分為四個類別,分別為:

  1. 描述性分析:主要回答發生了什麼事?應用於描述統計、資料分群和商業智慧。
  2. 診斷性分析:主要回答為什麼發生?應用於商業智慧、內容分析和實驗設計。
  3. 預測性分析:主要回答將來會發生什麼?應用於邏輯回歸和機器學習。
  4. 規範性分析:主要回答我們該做些什麼?應用於蒙地卡羅模擬法和線性程式優化。

其中規範性分析主要會推薦最佳的方法優化業務結果,一般來說規範性分析主要會結合預測性分析和業務規則,像是詐欺可能性超過門檻值就拒絕交易、最佳的投資組合、最佳的貨品運送路徑、…等情境應用皆是屬於規範性分析。然而從描述性分析到規定性分析,分析的複雜性逐漸增加,同時針對客戶進行分析時,我們會建立許多不同的客戶模型,像是客戶流失模型預測客戶流失的可能性、客戶區隔模型根據市場行銷目的將客戶放至不同的行為細分類別、客戶傾向模型預測客戶消費傾向對應適當的行銷方案。

接著現今熱門的聊天機器人技術應用是否也能夠應用上述四種分析方式進行實作,像是 Microsoft Azure Bot Service 機器人服務搭配辨識、知識、語言、語音和搜尋的 Microsoft Azure Cognitive Services 認知服務,應該要能夠解決企業問題,此外聊天機器人若是回答發生了什麼事就是描述式分析,若是回答為什麼發生就是診斷性分析,若是回答將來會發生什麼就是預測性分析,若是回答我們該做些什麼就是規範性分析。若不採用機器學習的技術則僅是進行描述式分析和診斷性分析,但若採用機器學習的技術則就會是進和規範性分析。
行預測性分析

分析階段

再來資料科學專案進行分析的流程主要有五個階段,分別為:

  1. 定義業務問題。
  2. 獲取和準備資料。
  3. 開發模型。
  4. 部署模型。
  5. 監視模型成效。

所謂定義業務問題的階段對於我們執行資料科學專案非常重要,因為若沒有定義正確的業務問題,就有可能會耗費數週或數月建構複雜的模型解決錯誤的問題。有關資料科學的專案應該提供正確的洞察,以利進行更明智的商業決策,因此分析理應符合商業的目標,而不應該盲目的使用,此時我們可以透過一些咨詢技術與框架協助業務關係人確定商業目標和範圍。

所謂獲取和準備資料的階段我們主要會耗費 75% 至 80% 的時間, 但卻是後續建模把原始資料較成優質資源的重要步驟,避免垃圾進垃圾出的問題發生。在此階段將會從資料庫、客戶關係管理系統、日誌文件檔案、…等來源系統取得原始資料,接著透過 ETL 流程確保正確的資料以正確的格式轉換出來。一但我們取得正確的資料時,將會為了建模進行分析和準備,包括處理遺漏值、離群值和資料轉換,通常若一個變數超過 40% 的遺漏值就不適合使用,因為會導至統計資料存在很大偏差,除非遺漏值代表關鍵資訊,若要使用則我們可以採用平均值和中間值取代遺失值,但若應用於預測模型的建置將會影響預測的結果。此外針對變數我們會透過相關性分析、主成分分析和因素分析了解變數之間的關係,以及透過特徵選擇標識出模型使用的正確變數。

分析演算法

所謂開發模型的階段我們主要會根據業務問題和資料決定適用於建模的演算法,演算法主要可以分為:

  1. 分類:主要將人事物歸類至多個類別的群組中,同時二元分類也廣泛應用於預測,常用演算法為邏輯回歸。
  2. 分群:主要將資料歸類至多個未知的群組中,同時分群經常應用於行銷活動中找出目標群眾,常用演算法為 K 平均值。
  3. 回歸:主要將預測數值輸出的回應變數,其目標是從一組測變數預測結果,常用演算法為決策樹。
  4. 模擬:主要將現實世界中不同行業的流程進行建模和優化,常用演算法為蒙地卡羅模擬法。
  5. 內容分析:主要將文字、圖片和影片分析出洞察資訊,透過統計和語言分析理解文字所代表的意義,常用演算法為文字探勘。
  6. 推薦引擎:主要將根據客戶喜好推薦產品,主要有二大演算法,分別為協同過濾和購物籃分析。

所謂部署模型的階段我們主要會將模型部署至正式環境中,以利協助客戶推動真正的商業決策,在大多數情況下會根據客戶環境以多種不同方式進行部署和整合決策管理平台,因此部署模型需要實作資料轉換和預測演算法。

所謂監視模型成效的階段我們主要會監視在正式環境驗證好的模型,以利確保如期運作,這非常重要因為任何資料驅動的模型隨著各種不同的原因其模型的準確性將會下降,因此我們要能夠透過密切監視正式環境的模型,即時發現準確率下降,此時我們將會重建模型。至於模型要多久重建一次,主要會根據不同的業務領域會有不同的頻率,在穩定業務環境通常每年一次,而在動動業務環境通常每月、每周或每日一次。

機器學習服務

最後 Microsoft Azure Machine Learning Service 機器學習服務主要是讓資料科學家和開發者能夠使用預測分析將資料轉換成洞察,同時透過 Microsoft Mahine Learning Studio 工具能夠讓資料科學家和開發者快速構建、測試、開發和應用最新的機器學習演算法之預測模型,其中主要有五個步驟,分別為:

  1. 導入來源資料。
  2. 資料預先處理。
  3. 特徵工程和資料標籤。
  4. 訓練、評分和評估模型。
  5. 比較和選擇模型。
  6. 儲存訓練之後的模型。
  7. 建立預測實驗。
  8. 部署發佈 Web 服務。

總結 Microsoft Azure 提供了機器人服務、認知服務和機器學習服務,將有助於資料科學家與開發者能夠使用預測分析將資料轉換成洞察,同時以機器人服務搭配認知服務解決我們的日常生活中各式各樣的問題,試想目前邁手一支手機不離身,在未來幾年內每個人只需拿起手機對著機器人服務說出任何問題,就能夠透過認知服務識別問題代表的意義,再藉由機器學習服務提供客製最佳化的解決方案供我們進行參考,以利採取行動。

相關資源

⬅️ Go back